![Page 1: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/1.jpg)
Веб 3.0
Или есть ли будущее у Java
в RIA и Mobile?
Липский Никита (twitter: @pjBooms)
Excelsior
![Page 2: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/2.jpg)
![Page 3: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/3.jpg)
Или есть ли будущее у Java?
![Page 4: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/4.jpg)
Проблемы Java в RIA
• Интернет браузеры блокируют Java
апплеты
• WebStart не привычен пользователям
• “Self-contained native packages with
bundled JRE is better deployment model”Steven Chin, Oracle JavaFX evangelist
![Page 5: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/5.jpg)
Проблемы Java в Mobile
• iOS политика распространения приложений
блокирует любую динамическую загрузку –
JIT невозможен
• На Android своя Java (фрагментация)
• На Windows -- .NET
![Page 6: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/6.jpg)
Поблемы Java в
IT сообществе
• Java – больше не модно
• JavaFX – вызывает скепсис
• Java довольно невнятно маркетируется
![Page 7: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/7.jpg)
Как мы будем решать эти
проблемы?
Если не мы то кто?
![Page 8: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/8.jpg)
Текущее состояние IT
• Web
• Mobile
• Desktop
Три почти непересекающихся мира
![Page 9: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/9.jpg)
Достоинства Web
![Page 10: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/10.jpg)
Достоинства Web
1. Нет инсталляции на клиенте
![Page 11: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/11.jpg)
Достоинства Web
1. Нет инсталляции на клиенте
2. Встроенное бесплатное
“автоматическое обновление“
![Page 12: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/12.jpg)
Достоинства Web
1. Нет инсталляции на клиенте
2. Встроенное бесплатное
“автоматическое обновление“
3. Отгрузка по частям
![Page 13: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/13.jpg)
Достоинства Web
1. Нет инсталляции на клиенте
2. Встроенное бесплатное
“автоматическое обновление“
3. Отгрузка приложения по частям
4. «Простые» изобразительные
средства: HTML + JavaScript
![Page 14: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/14.jpg)
Достоинства Web
1. Нет инсталляции на клиенте
2. Встроенное бесплатное “автоматическое обновление“
3. Отгрузка приложения по частям
4. «Простые» изобразительные средства: HTML + JavaScript
5. Работает везде, где есть браузер
![Page 15: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/15.jpg)
Недостатки Веб
![Page 16: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/16.jpg)
Browser Hell
![Page 17: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/17.jpg)
Неудобный, тормозной UI
![Page 18: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/18.jpg)
JavaScript – не масштабируем
![Page 19: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/19.jpg)
Mobile и Desktop
• Два мира – суть одна:
отдельно ставящаяся программа с GUI
![Page 20: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/20.jpg)
Преимущества GUI
![Page 21: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/21.jpg)
Удобство, скорость, адекватное отображние предметной области
![Page 22: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/22.jpg)
Масштабируем
![Page 23: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/23.jpg)
Преимущества GUI
• Всегда (почти) выглядит одинаково, на
какую бы систему не ставился.
![Page 24: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/24.jpg)
Недостатки GUI
![Page 25: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/25.jpg)
Сегментированность
![Page 26: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/26.jpg)
Большие системы много весят
![Page 27: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/27.jpg)
Ручное автообновление
![Page 28: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/28.jpg)
Громоздкость выразительных
средств
![Page 29: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/29.jpg)
![Page 30: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/30.jpg)
![Page 31: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/31.jpg)
![Page 32: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/32.jpg)
Выводы
Нам нужна система совмещающая
достоинства обеих подходов и
лишенная их недостатков
![Page 33: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/33.jpg)
Выводы
• не требующая инсталляции на клиенте
![Page 34: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/34.jpg)
Выводы
• работаящая везде где есть"browser”
![Page 35: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/35.jpg)
Выводы
• одинакова во всех браузерах
![Page 36: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/36.jpg)
Выводы
• со встроенным автоматическим
обновлением
![Page 37: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/37.jpg)
Выводы
• прилетающая на клиент по частям
![Page 38: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/38.jpg)
Выводы
• простая по сути
![Page 39: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/39.jpg)
Выводы
• позволяющая делать равномощный по
выразительности родному GUI
![Page 40: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/40.jpg)
Выводы
• на эффективных языках
программирования (со строгой
типизацией).
![Page 41: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/41.jpg)
Фантастика?
![Page 42: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/42.jpg)
Back to the future
![Page 43: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/43.jpg)
• Oberon System
![Page 44: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/44.jpg)
![Page 45: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/45.jpg)
![Page 46: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/46.jpg)
Oberon system key features
• И язык, и платформа
• Переносимая: как OS, так и поверх других OS
• Язык: ОО, строгая типизация, рантайм
проверки, рантайм типы, сборка мусора
• Платформа: reflection, динамическая
загрузка, переносимый код, статическая и
динамическая компиляция
• Система: Event-driven, MVC, persistent objects,
динамические атрибуты (поля и код)
![Page 47: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/47.jpg)
Все есть текст
![Page 48: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/48.jpg)
![Page 49: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/49.jpg)
![Page 50: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/50.jpg)
![Page 51: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/51.jpg)
![Page 52: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/52.jpg)
Все есть документ
![Page 53: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/53.jpg)
![Page 54: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/54.jpg)
The Nothing System
![Page 55: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/55.jpg)
![Page 56: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/56.jpg)
![Page 57: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/57.jpg)
Check list
не требует инсталляции на клиенте
![Page 58: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/58.jpg)
Check list
работает везде где есть"browser”
![Page 59: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/59.jpg)
Check list
выглядит во всех браузерах одинаково
![Page 60: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/60.jpg)
Check list
со встроенным автоматическим
обновлением
![Page 61: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/61.jpg)
Check list
прилетает на клиент по частям
![Page 62: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/62.jpg)
Check list
простая по сути
![Page 63: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/63.jpg)
Check list
позволяющая делать равномощный по
выразительности родному GUI
![Page 64: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/64.jpg)
Check list
на эффективных языках
программирования (со строгой
типизацией).
![Page 65: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/65.jpg)
Но причем здесь Java?
• Java – это единственная зрелая
платформа, на которой это можно
реализовать
• JavaFX – готов к mobile
• Net is the computer
![Page 66: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/66.jpg)
Основа системы будущего
• Java как платформа. JavaFX как UI.
• MVC – разделение представления от логики
и данных. Представление – произвольное.
Контроль над рендерингом представления.
• Загрузка приложения по частям (контроль
над толщиной клиента)
• Персонализированность (настройка "под
себя“).
![Page 67: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/67.jpg)
![Page 68: Веб 3.0. Есть ли будущее у Java в RIA и Mobile?](https://reader031.vdocument.in/reader031/viewer/2022020105/5576e523d8b42ab22b8b45e7/html5/thumbnails/68.jpg)
Ресурсы
• Oberon System 3 – http://www.oberon.ethz.ch
• Xerox Cedar/Mesa System – “A tour through Cedar”
• Acme – http://research.swtch.com/acme
• CaptainCasa – http://www.captaincasa.com
• WebFX – https://github.com/brunoborges/webfx
• JavaFX IDE –
https://bitbucket.org/tschindl/bitbucketmgr
• The Nothing System –
https://github.com/pjBooms/The-Nothing-System