SlideShare a Scribd company logo
1 of 24
Неумолимая близость
десктопа, веба и мобайла.
Должен остаться кто-то один?
Липский Никита (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 + JavaScript
5. Работает везде, где есть браузер
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

More Related Content

Viewers also liked

Afsluitende beschouwingen en een blik op de toekomst (Daniëlle De Vooght & Ti...
Afsluitende beschouwingen en een blik op de toekomst (Daniëlle De Vooght & Ti...Afsluitende beschouwingen en een blik op de toekomst (Daniëlle De Vooght & Ti...
Afsluitende beschouwingen en een blik op de toekomst (Daniëlle De Vooght & Ti...ETWIE
 
Intro
IntroIntro
IntroETWIE
 
Van samenwerking gesproken: een nieuw collectieplan voor het MIAT (Ann Van Ni...
Van samenwerking gesproken: een nieuw collectieplan voor het MIAT (Ann Van Ni...Van samenwerking gesproken: een nieuw collectieplan voor het MIAT (Ann Van Ni...
Van samenwerking gesproken: een nieuw collectieplan voor het MIAT (Ann Van Ni...ETWIE
 
mEdutext Case Study presentation
mEdutext Case Study presentationmEdutext Case Study presentation
mEdutext Case Study presentationAlly Krupar
 
Поддержка Java 8 в Excelsior JET
Поддержка Java 8 в Excelsior JET Поддержка Java 8 в Excelsior JET
Поддержка Java 8 в Excelsior JET Nikita Lipsky
 
Participatory pedagogy in discourse of practice: Applying Freire in training ...
Participatory pedagogy in discourse of practice: Applying Freire in training ...Participatory pedagogy in discourse of practice: Applying Freire in training ...
Participatory pedagogy in discourse of practice: Applying Freire in training ...Ally Krupar
 
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionJVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionNikita Lipsky
 

Viewers also liked (7)

Afsluitende beschouwingen en een blik op de toekomst (Daniëlle De Vooght & Ti...
Afsluitende beschouwingen en een blik op de toekomst (Daniëlle De Vooght & Ti...Afsluitende beschouwingen en een blik op de toekomst (Daniëlle De Vooght & Ti...
Afsluitende beschouwingen en een blik op de toekomst (Daniëlle De Vooght & Ti...
 
Intro
IntroIntro
Intro
 
Van samenwerking gesproken: een nieuw collectieplan voor het MIAT (Ann Van Ni...
Van samenwerking gesproken: een nieuw collectieplan voor het MIAT (Ann Van Ni...Van samenwerking gesproken: een nieuw collectieplan voor het MIAT (Ann Van Ni...
Van samenwerking gesproken: een nieuw collectieplan voor het MIAT (Ann Van Ni...
 
mEdutext Case Study presentation
mEdutext Case Study presentationmEdutext Case Study presentation
mEdutext Case Study presentation
 
Поддержка Java 8 в Excelsior JET
Поддержка Java 8 в Excelsior JET Поддержка Java 8 в Excelsior JET
Поддержка Java 8 в Excelsior JET
 
Participatory pedagogy in discourse of practice: Applying Freire in training ...
Participatory pedagogy in discourse of practice: Applying Freire in training ...Participatory pedagogy in discourse of practice: Applying Freire in training ...
Participatory pedagogy in discourse of practice: Applying Freire in training ...
 
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionJVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
 

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

браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация4ertenka
 
браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация4ertenka
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET CoreAndrew Gubskiy
 
Browzer
BrowzerBrowzer
BrowzerIKTO
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
Microsoft , Azure и Drupal
Microsoft , Azure и DrupalMicrosoft , Azure и Drupal
Microsoft , Azure и DrupalPVasili
 
Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all SoftServe
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
Web programming modern tendencies
Web programming modern tendenciesWeb programming modern tendencies
Web programming modern tendenciesDarkestMaster
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Веб 3.0. Футуристический рассказ о будущем интернета и IT
Веб 3.0. Футуристический рассказ о будущем интернета и ITВеб 3.0. Футуристический рассказ о будущем интернета и IT
Веб 3.0. Футуристический рассказ о будущем интернета и ITDevDay
 
Не так страшен Linux…
Не так страшен Linux…Не так страшен Linux…
Не так страшен Linux…Artem Bachinin
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в ЯндексеYandex
 
разработка Metro style приложений
разработка Metro style приложенийразработка Metro style приложений
разработка Metro style приложенийОлег Винников
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 
Интерактивные карты планировок на сайтах торговых центров
Интерактивные карты планировок на сайтах торговых центровИнтерактивные карты планировок на сайтах торговых центров
Интерактивные карты планировок на сайтах торговых центровАгентство AlterEGO
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Alexey Bokov
 
Vladimir Unev
Vladimir UnevVladimir Unev
Vladimir UnevArchiOFF
 

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

браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация
 
браузеры презентация
браузеры презентациябраузеры презентация
браузеры презентация
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
Browzer
BrowzerBrowzer
Browzer
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Microsoft , Azure и Drupal
Microsoft , Azure и DrupalMicrosoft , Azure и Drupal
Microsoft , Azure и Drupal
 
Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
SoftPpro экспорт МИРО по ИКТ (40 м.р.)
SoftPpro экспорт МИРО по ИКТ (40 м.р.)SoftPpro экспорт МИРО по ИКТ (40 м.р.)
SoftPpro экспорт МИРО по ИКТ (40 м.р.)
 
Web programming modern tendencies
Web programming modern tendenciesWeb programming modern tendencies
Web programming modern tendencies
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Веб 3.0. Футуристический рассказ о будущем интернета и IT
Веб 3.0. Футуристический рассказ о будущем интернета и ITВеб 3.0. Футуристический рассказ о будущем интернета и IT
Веб 3.0. Футуристический рассказ о будущем интернета и IT
 
Не так страшен Linux…
Не так страшен Linux…Не так страшен Linux…
Не так страшен Linux…
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
Фронтенд в Яндексе
Фронтенд в ЯндексеФронтенд в Яндексе
Фронтенд в Яндексе
 
разработка Metro style приложений
разработка Metro style приложенийразработка Metro style приложений
разработка Metro style приложений
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 
Интерактивные карты планировок на сайтах торговых центров
Интерактивные карты планировок на сайтах торговых центровИнтерактивные карты планировок на сайтах торговых центров
Интерактивные карты планировок на сайтах торговых центров
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
 
Vladimir Unev
Vladimir UnevVladimir Unev
Vladimir Unev
 

More from Nikita Lipsky

Escaping The Jar hell with Jigsaw Layers
Escaping The Jar hell with Jigsaw LayersEscaping The Jar hell with Jigsaw Layers
Escaping The Jar hell with Jigsaw LayersNikita Lipsky
 
JIT Versus AOT: Unity And Conflict of Dynamic and Static Compilers (JavaOne 2...
JIT Versus AOT: Unity And Conflict of Dynamic and Static Compilers (JavaOne 2...JIT Versus AOT: Unity And Conflict of Dynamic and Static Compilers (JavaOne 2...
JIT Versus AOT: Unity And Conflict of Dynamic and Static Compilers (JavaOne 2...Nikita Lipsky
 
Java 9 Modules: The Duke Yet Lives That OSGi Shall Depose
Java 9 Modules: The Duke Yet Lives That OSGi Shall DeposeJava 9 Modules: The Duke Yet Lives That OSGi Shall Depose
Java 9 Modules: The Duke Yet Lives That OSGi Shall DeposeNikita Lipsky
 
Java 9 Модули. Почему не OSGi?
Java 9 Модули. Почему не OSGi?Java 9 Модули. Почему не OSGi?
Java 9 Модули. Почему не OSGi?Nikita Lipsky
 
AOT для Java: Мифы и Challenges
AOT для Java: Мифы и ChallengesAOT для Java: Мифы и Challenges
AOT для Java: Мифы и ChallengesNikita Lipsky
 
JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers
JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers
JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers Nikita Lipsky
 
Верификация Java байткода: когда, как, а может отключить?
Верификация Java байткода: когда, как, а может отключить?Верификация Java байткода: когда, как, а может отключить?
Верификация Java байткода: когда, как, а может отключить?Nikita Lipsky
 
Java 8 Support at the JVM Level
Java 8 Support at the JVM LevelJava 8 Support at the JVM Level
Java 8 Support at the JVM LevelNikita Lipsky
 
Ahead-Of-Time Compilation of Java Applications
Ahead-Of-Time Compilation of Java ApplicationsAhead-Of-Time Compilation of Java Applications
Ahead-Of-Time Compilation of Java ApplicationsNikita Lipsky
 
JVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииJVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииNikita Lipsky
 
Клиентская Java вне браузера. Делаем нативные клиенты на Java
Клиентская Java вне браузера. Делаем нативные клиенты на JavaКлиентская Java вне браузера. Делаем нативные клиенты на Java
Клиентская Java вне браузера. Делаем нативные клиенты на JavaNikita Lipsky
 
Delivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java ApplicationsDelivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java ApplicationsNikita Lipsky
 
Java Restart with WebFX
Java Restart with WebFX Java Restart with WebFX
Java Restart with WebFX Nikita Lipsky
 
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...Nikita Lipsky
 
Java Ahead-Of-Time compilation
Java Ahead-Of-Time compilationJava Ahead-Of-Time compilation
Java Ahead-Of-Time compilationNikita Lipsky
 
Excelsior JET в действии
Excelsior JET в действииExcelsior JET в действии
Excelsior JET в действииNikita Lipsky
 
Занимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVMЗанимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVMNikita Lipsky
 
Java худеет. Спроси меня как.
Java худеет. Спроси меня как.Java худеет. Спроси меня как.
Java худеет. Спроси меня как.Nikita Lipsky
 
История одной JVM в картинках
История одной JVM в картинкахИстория одной JVM в картинках
История одной JVM в картинкахNikita Lipsky
 

More from Nikita Lipsky (19)

Escaping The Jar hell with Jigsaw Layers
Escaping The Jar hell with Jigsaw LayersEscaping The Jar hell with Jigsaw Layers
Escaping The Jar hell with Jigsaw Layers
 
JIT Versus AOT: Unity And Conflict of Dynamic and Static Compilers (JavaOne 2...
JIT Versus AOT: Unity And Conflict of Dynamic and Static Compilers (JavaOne 2...JIT Versus AOT: Unity And Conflict of Dynamic and Static Compilers (JavaOne 2...
JIT Versus AOT: Unity And Conflict of Dynamic and Static Compilers (JavaOne 2...
 
Java 9 Modules: The Duke Yet Lives That OSGi Shall Depose
Java 9 Modules: The Duke Yet Lives That OSGi Shall DeposeJava 9 Modules: The Duke Yet Lives That OSGi Shall Depose
Java 9 Modules: The Duke Yet Lives That OSGi Shall Depose
 
Java 9 Модули. Почему не OSGi?
Java 9 Модули. Почему не OSGi?Java 9 Модули. Почему не OSGi?
Java 9 Модули. Почему не OSGi?
 
AOT для Java: Мифы и Challenges
AOT для Java: Мифы и ChallengesAOT для Java: Мифы и Challenges
AOT для Java: Мифы и Challenges
 
JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers
JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers
JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers
 
Верификация Java байткода: когда, как, а может отключить?
Верификация Java байткода: когда, как, а может отключить?Верификация Java байткода: когда, как, а может отключить?
Верификация Java байткода: когда, как, а может отключить?
 
Java 8 Support at the JVM Level
Java 8 Support at the JVM LevelJava 8 Support at the JVM Level
Java 8 Support at the JVM Level
 
Ahead-Of-Time Compilation of Java Applications
Ahead-Of-Time Compilation of Java ApplicationsAhead-Of-Time Compilation of Java Applications
Ahead-Of-Time Compilation of Java Applications
 
JVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииJVM: краткий курс общей анатомии
JVM: краткий курс общей анатомии
 
Клиентская Java вне браузера. Делаем нативные клиенты на Java
Клиентская Java вне браузера. Делаем нативные клиенты на JavaКлиентская Java вне браузера. Делаем нативные клиенты на Java
Клиентская Java вне браузера. Делаем нативные клиенты на Java
 
Delivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java ApplicationsDelivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java Applications
 
Java Restart with WebFX
Java Restart with WebFX Java Restart with WebFX
Java Restart with WebFX
 
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
 
Java Ahead-Of-Time compilation
Java Ahead-Of-Time compilationJava Ahead-Of-Time compilation
Java Ahead-Of-Time compilation
 
Excelsior JET в действии
Excelsior JET в действииExcelsior JET в действии
Excelsior JET в действии
 
Занимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVMЗанимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVM
 
Java худеет. Спроси меня как.
Java худеет. Спроси меня как.Java худеет. Спроси меня как.
Java худеет. Спроси меня как.
 
История одной JVM в картинках
История одной JVM в картинкахИстория одной JVM в картинках
История одной JVM в картинках
 

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

  • 1. Неумолимая близость десктопа, веба и мобайла. Должен остаться кто-то один? Липский Никита (twitter: @pjBooms) Excelsior
  • 2.
  • 3. Текущее состояние IT • Web • Mobile • Desktop Три почти непересекающихся мира
  • 4. Есть ли будущее у десктопа?
  • 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 год)
  • 6. Н.Вирт -- Долой “жирные” программы (1996) • Программное обеспечение увеличивается в размерах до тех пор, пока не заполнит всю доступную на данный момент память • Программное обеспечение замедляется более быстро, чем аппаратура становится быстрее
  • 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%
  • 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%
  • 9. Web
  • 10. Web 1. Нет инсталляции на клиенте 2. Встроенное бесплатное “автоматическое обновление“ 3. Отгрузка приложения по частям 4. «Простые» изобразительные средства: HTML + JavaScript 5. Работает везде, где есть браузер
  • 12. JavaScript: как язык и бэкэнд
  • 13. Браузерные платформы и OC • Есть ли за ними будущее? • Можно ли написать фотошоп на веб- технологиях?
  • 15. Мобайл • Могут ли планшеты и планшетные OC вытеснить десктоп? • Почему все уважающие себя порталы и интернет-сервисы делают мобильные приложения • А что внутри?
  • 16. Мобайл Кроссплатформенность • HTML5 + JavaScript • C/C+ • По середине?
  • 17. Java
  • 20. TIOBE Programming Community Index for March 2013
  • 21. Построение GUI • Языки программирования • Языки разметки • Визуально (GUI builders)
  • 23. Основа системы будущего (мое мнение) • Переносимый, безопасный и эффективный (быстрый) ЯП + платформа • MVC – разделение представления от логики и данных. Представление – произвольное. Контроль над рендерингом представления. • Загрузка приложения по частям (контроль над толщиной клиента) • Персонализированность (настройка "под себя“).