22apr.rif2010 -filin
DESCRIPTION
TRANSCRIPT
![Page 1: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/1.jpg)
Java как язык Веба: эволюция или ребрендинг?
Анатолий Филин, ЗАО «Грамант»
![Page 2: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/2.jpg)
О чем?
•История и факты
•Java как бренд
•Языки Веба и Java
•Новые языки на базе JVM
•Эволюция Веб в сторону усложнения
•Упрощение Java как языка для Веб
JVM = Java Virtual Machine, виртуальная машина
![Page 3: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/3.jpg)
1991 – началась работа над языком1995 – первая версия языка выпущена компанией Sun
Write once, run everywhere1998 – выпуск Java2: редакции J2ME, J2SE, J2EE1998 – внедрен Java Community Process 2007 - Java лицензируется под GNU General Public LicenseJan 2010 - Компания Sun Microsystems поглощается Oracle
Текущая версия: Java 6
История и факты
![Page 4: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/4.jpg)
Как работает виртуальная машина
Java code
Bytecode Native code
Компилятор]Java JIT
Не зависит от платформыЗависит от платформы, т.е.комбинации: процессор + ОСНапример: WinXP + Intel
Библиотеки дляплатформы
JIT – Just-in-time компилятор
Groovy code Компилятор
Groovy
JVM
![Page 5: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/5.jpg)
• Мощный но сложный язык, высокий порог входа• Java = сложные Enterprise приложения• Академический язык, хорош для обучения студентов• Требуется сложная настройка, слишком сложен для Веба • Требуется высокая квалификация и как результат, высокая стоимость
разработки • Соревнуется с С# за нишу в области корпоративных приложений
Java как бренд: стереотипы
Снижение интереса к Java, низкая доля языка в мире Веб-приложений
15 лет спустя
![Page 6: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/6.jpg)
2010: Популярные языки Веба
Источники: опрос коллег + Google Trends + данные издательств (O’Reilly) + базы вакансий
![Page 7: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/7.jpg)
Причины:• Взрывообразный рост Интернета• Нехватка обученных кадров• Стоимость разработки и поддержки
![Page 8: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/8.jpg)
Тренд 2010: Java выходит в Web
• Google включается в Java-процесс
• Реализация многочисленных языков и фреймворков на базе JVM, в частности Groovy и Grails
![Page 9: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/9.jpg)
Google и Java
• Google App Engine: поддержка Java
• Google Web Toolkit (GWT): Java -> Ajax
![Page 10: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/10.jpg)
Эволюция Веба ЭволюцияJava
Домашние страницы
Форум, новостнаялента, магазин
Портал, аукцион
Cоциальные сети, e-commerce, интеграция с корпоративными и платежными системами
Апплеты и десктоп-приложения
Корпоративные приложения,интранет-системы
Мобильные приложения
Веб-фреймворки и языки на базе JVM
1995
2010
Веб дорос до Java – Java адаптировалась под Веб
![Page 11: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/11.jpg)
Что мы хотим от языка Веба?
Сложно
ИнтеграцияФинансыReal-time
Ти
пичн
ое В
еб-
при
лож
ени
е … Просто
База данных БраузерФронт-енд
Например, Groovy+Grails или JRuby
Код на «легком» языке высокого уровня
Код на мощном, гибком, универсальном языке
Java + библиотеки ифреймворки
… п
ожал
уйст
а!
![Page 12: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/12.jpg)
Виртуальная машина Java
КриптографияБезопасностьМногопоточностьВерсионностьЛогирование
Транзакционность
Асинхронные сообщения
Workflow
PersistenceСервлеты Веб-сервисы
Взаимодействие с БД
Spring – MVC framework
Язык Groovy
Grails фреймворк
Java
пл
атф
орм
аticketOffice.book( airplane.seats.find { it.nearTheWindow })
Современный языкНизкий порог входаЛегкая настройкаУдобное тестирование
Пример: Groovy и Grails
![Page 13: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/13.jpg)
Виртуальная машина Java
Java Script(Rhino)
Ruby(JRuby)
ColdFusion(BlueDragon)
Cobol AWK(Jawk)
Tcl(Jacl)
Python(Jython)
PHP(IBM sMash PHP,
Quecus)
Rexx(IBM NetRexx)
Scala Groovy Closure
Созвездие языков на базе JVM
![Page 14: 22apr.rif2010 -filin](https://reader033.vdocument.in/reader033/viewer/2022061223/54c417a14a7959c4238b459b/html5/thumbnails/14.jpg)
Java = Простая разработка на мощной платформе
Новый имидж Java