24
Неумолимая близость десктопа, веба и мобайла. Должен остаться кто-то один? Липский Никита (twitter: @pjBooms) Excelsior

Неумолимая близость десктопа, веба и мобайла

Embed Size (px)

DESCRIPTION

Презентация с квартирника CodeFest 2013 "Неумолимая близость десктопа, веба и мобайла". http://2013.codefest.ru/kvartirniki/desktop-web-mobile/

Citation preview

Page 1: Неумолимая близость десктопа, веба и мобайла

Неумолимая близость десктопа, веба и мобайла.

Должен остаться кто-то один?

Липский Никита (twitter: @pjBooms)Excelsior

Page 2: Неумолимая близость десктопа, веба и мобайла
Page 3: Неумолимая близость десктопа, веба и мобайла

Текущее состояние IT

• Web

• Mobile

• Desktop

Три почти непересекающихся мира

Page 4: Неумолимая близость десктопа, веба и мобайла

Есть ли будущее у десктопа?

Page 5: Неумолимая близость десктопа, веба и мобайла

Рост размера программ

• Windows– Windows NT 4.0: 50M (95 год)– Window 8: 2.5G (2012 год)

• MS Office– MS Office 97: 180 M– MS Office 2013: 670 M

• Adobe Photoshop– Photoshop 5.0: 60 MB (98 – год)– Photoshop CS 5.5 : 1.2G (2011 год)

• CorelDRAW– CorelDRAW 8.0: 20 MB (2000 год)– CorelDRAW Graphics Suite X6: 260 MB (2012 год)

Page 6: Неумолимая близость десктопа, веба и мобайла

Н.Вирт -- Долой “жирные” программы (1996)

• Программное обеспечение увеличивается в размерах до тех пор, пока не заполнит всю доступную на данный момент память

• Программное обеспечение замедляется более быстро, чем аппаратура становится быстрее

Page 7: Неумолимая близость десктопа, веба и мобайла

Статистика использования

• IDEA 12.0.4 Community Edition: – 120MB– 79 000 классов– Грузится на старте ~ 4000 классов (пока сплэш)– После загрузки проекта ~ 12000 классов– После активной работы (VCS, debugger, refactoring, etc.) ~

19000 классов.– 500 000 методов– Исполнилось после активной работы ~ 90 000– rt.jar: ~ 20 000 классов, загрузилось идеей ~5 000

• Реально используется только 20%

Page 8: Неумолимая близость десктопа, веба и мобайла

Статистика использования

• Eclipse Classic SDK 4.2: – 180MB– 40 000 классов– Грузится на старте ~ 7000 классов (пока сплэш)– После загрузки проекта ~ 8000 классов– После активной работы (VCS, debugger, refactoring, etc.) ~

11000 классов.– 290 000 методов– Исполнилось после активной работы ~ 60 000 методов– rt.jar: ~ 20 000 классов, загрузилось эклипсом ~1 500

• Реально используется только ~ 20%

Page 9: Неумолимая близость десктопа, веба и мобайла

Web

Page 10: Неумолимая близость десктопа, веба и мобайла

Web

1. Нет инсталляции на клиенте2. Встроенное бесплатное “автоматическое

обновление“3. Отгрузка приложения по частям4. «Простые» изобразительные средства:

HTML + JavaScript5. Работает везде, где есть браузер

Page 11: Неумолимая близость десктопа, веба и мобайла

Browser Hell

Page 12: Неумолимая близость десктопа, веба и мобайла

JavaScript: как язык и бэкэнд

Page 13: Неумолимая близость десктопа, веба и мобайла

Браузерные платформы и OC

• Есть ли за ними будущее?

• Можно ли написать фотошоп на веб-технологиях?

Page 14: Неумолимая близость десктопа, веба и мобайла

Мобайл

Page 15: Неумолимая близость десктопа, веба и мобайла

Мобайл

• Могут ли планшеты и планшетные OC вытеснить десктоп?

• Почему все уважающие себя порталы и интернет-сервисы делают мобильные приложения

• А что внутри?

Page 16: Неумолимая близость десктопа, веба и мобайла

Мобайл

Кроссплатформенность

• HTML5 + JavaScript

• C/C+

• По середине?

Page 17: Неумолимая близость десктопа, веба и мобайла

Java

Page 18: Неумолимая близость десктопа, веба и мобайла

Java vs. JavaScript

Page 19: Неумолимая близость десктопа, веба и мобайла

Java vs. C

Page 20: Неумолимая близость десктопа, веба и мобайла

TIOBE Programming Community Index for March 2013

Page 21: Неумолимая близость десктопа, веба и мобайла

Построение GUI

• Языки программирования

• Языки разметки

• Визуально (GUI builders)

Page 22: Неумолимая близость десктопа, веба и мобайла

Клиент: толстый или тонкий?

Page 23: Неумолимая близость десктопа, веба и мобайла

Основа системы будущего(мое мнение)

• Переносимый, безопасный и эффективный (быстрый) ЯП + платформа

• MVC – разделение представления от логики и данных. Представление – произвольное. Контроль над рендерингом представления.

• Загрузка приложения по частям (контроль над толщиной клиента)

• Персонализированность (настройка "под себя“).

Page 24: Неумолимая близость десктопа, веба и мобайла

The Nothing System

https://github.com/pjBooms/The-Nothing-System