Java как язык Веба: эволюция или ребрендинг? Анатолий Филин, ЗАО «Грамант»
О чем? История и факты Java как бренд Языки Веба и Java Новые языки на базе JVM Эволюция Веб в сторону усложнения Упрощение Java как языка для Веб JVM = Java Virtual Machine, виртуальная машина
1991 – началась работа над языком 1995 – первая версия языка выпущена компанией Sun Write once, run everywhere 1998 – выпуск Java2: редакции J2ME, J2SE, J2EE 1998 – внедрен Java Community Process Java лицензируется под GNU General Public License Jan Компания Sun Microsystems поглощается Oracle Текущая версия: Java 6 История и факты
Как работает виртуальная машина Java code Bytecode Native code Компилятор] Java JIT Не зависит от платформы Зависит от платформы, т.е. комбинации: процессор + ОС Например: WinXP + Intel Библиотеки для платформы JIT – Just-in-time компилятор Groovy code Компилятор Groovy JVM
Мощный но сложный язык, высокий порог входа Java = сложные Enterprise приложения Академический язык, хорош для обучения студентов Требуется сложная настройка, слишком сложен для Веба Требуется высокая квалификация и как результат, высокая стоимость разработки Соревнуется с С# за нишу в области корпоративных приложений Java как бренд: стереотипы Снижение интереса к Java, низкая доля языка в мире Веб- приложений 15 лет спустя
2010: Популярные языки Веба Источники: опрос коллег + Google Trends + данные издательств (OReilly) + базы вакансий
Причины: Взрывообразный рост Интернета Нехватка обученных кадров Стоимость разработки и поддержки
Тренд 2010: Java выходит в Web Google включается в Java-процесс Реализация многочисленных языков и фреймворков на базе JVM, в частности Groovy и Grails
Google и Java Google App Engine: поддержка Java Google Web Toolkit (GWT): Java -> Ajax
Эволюция ВебаЭволюция Java Домашние страницы Форум, новостная лента, магазин Портал, аукцион Cоциальные сети, e-commerce, интеграция с корпоративными и платежными системами Апплеты и десктоп- приложения Корпоративные приложения, интранет-системы Мобильные приложения Веб-фреймворки и языки на базе JVM Веб дорос до Java – Java адаптировалась под Веб
Что мы хотим от языка Веба? Сложно Интеграция Финансы Real-time Типичное Веб- приложение … Просто База данных Браузер Фронт-енд Например, Groovy+Grails или JRuby Код на «легком» языке высокого уровня Код на мощном, гибком, универсальном языке Java + библиотеки и фреймворки … пожалуйста!
Виртуальная машина Java Криптография Безопасность Многопоточность ВерсионностьЛогирование Транзакционность Асинхронные сообщения Workflow Persistence СервлетыВеб-сервисы Взаимодействие с БД Spring – MVC framework Язык Groovy Grails фреймворк Java платформа ticketOffice.book( airplane.seats.find { it.nearTheWindow } ) Современный язык Низкий порог входа Легкая настройка Удобное тестирование Пример: Groovy и Grails
Виртуальная машина Java Java Script (Rhino) Ruby (JRuby) ColdFusion (BlueDragon) Cobol AWK (Jawk) Tcl (Jacl) Python (Jython) PHP (IBM sMash PHP, Quecus) Rexx (IBM NetRexx) ScalaGroovyClosure Созвездие языков на базе JVM
Java = Простая разработка на мощной платформе Новый имидж Java
Вопросы ? Анатолий Филин