Неумолимая близость десктопа, веба и мобайла
DESCRIPTION
Презентация с квартирника CodeFest 2013 "Неумолимая близость десктопа, веба и мобайла". http://2013.codefest.ru/kvartirniki/desktop-web-mobile/TRANSCRIPT
Неумолимая близость десктопа, веба и мобайла.
Должен остаться кто-то один?
Липский Никита (twitter: @pjBooms)Excelsior
Текущее состояние IT
• Web
• Mobile
• Desktop
Три почти непересекающихся мира
Есть ли будущее у десктопа?
Рост размера программ
• 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 год)
Н.Вирт -- Долой “жирные” программы (1996)
• Программное обеспечение увеличивается в размерах до тех пор, пока не заполнит всю доступную на данный момент память
• Программное обеспечение замедляется более быстро, чем аппаратура становится быстрее
Статистика использования
• 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%
Статистика использования
• 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%
Web
Web
1. Нет инсталляции на клиенте2. Встроенное бесплатное “автоматическое
обновление“3. Отгрузка приложения по частям4. «Простые» изобразительные средства:
HTML + JavaScript5. Работает везде, где есть браузер
Browser Hell
JavaScript: как язык и бэкэнд
Браузерные платформы и OC
• Есть ли за ними будущее?
• Можно ли написать фотошоп на веб-технологиях?
Мобайл
Мобайл
• Могут ли планшеты и планшетные OC вытеснить десктоп?
• Почему все уважающие себя порталы и интернет-сервисы делают мобильные приложения
• А что внутри?
Мобайл
Кроссплатформенность
• HTML5 + JavaScript
• C/C+
• По середине?
Java
Java vs. JavaScript
Java vs. C
TIOBE Programming Community Index for March 2013
Построение GUI
• Языки программирования
• Языки разметки
• Визуально (GUI builders)
Клиент: толстый или тонкий?
Основа системы будущего(мое мнение)
• Переносимый, безопасный и эффективный (быстрый) ЯП + платформа
• MVC – разделение представления от логики и данных. Представление – произвольное. Контроль над рендерингом представления.
• Загрузка приложения по частям (контроль над толщиной клиента)
• Персонализированность (настройка "под себя“).
The Nothing System
https://github.com/pjBooms/The-Nothing-System