The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Новые оптимизации в Firefox сократили разрыв в производитель..."
Отправлено iZEN, 20-Дек-13 20:28 
Разверну мысли по поводу уместности Java™ внутри браузера.

* идею Java извратили паковкой в JAR

Изначальная идея была такова, что Java-апплеты (приложения) загружают свой код не весь целиком, а по мере востребованности байткода. То есть приложение начинает работать ДО того, как загрузился последний в списке .class-файл. Так как не все функции в приложении востребованы пользователем, то незачем грузить неиспользуемые .class-файлы, что и было реализовано в первоначальной модели распространения апплетов.

Из-за накладных расходов на открытие HTTP/1.0-соединения на каждый затребованный апплетом .class-файл вынуждены были пойти на паковку ВСЕГО клиенского Web-приложения в один файл — сначала в ZIP, потом в JAR с метаинформацией для запуска.
Это убило сразу три возможности:
1) динамическую кодогенерацию верифицированного и проверенного байткода на сервере "по запросу", которая сейчас дана на откуп всяким GWT, которые генерируют медленный интерпретируемый JavaScript;
2) иметь только необходимый байткод на клиенте в кэше браузера, включая части системного кода, а не отдельно установленную JRE с огромным rt.jar;
3) модуляризацию байткода "из коробки" в конце 1990-годов, которую безуспешно пытается сейчас достичь проект Jigsaw.

В свете появления Web-сокетов накладные раскоды на подгрузку очередного затребованного .class-файла ничтожны. Необходимость паковки байткода и ресурсов в JAR-файл отпадает.

* технология опорочена неэффективной JVM

Изначально не было в рекламируемых JVM JIT-технологии трансляции, она была только у Microsoft и позднее появилась в Sun JRE. Из-за этого, а так же из-за долгого старта JVM в качестве плагина к браузеру, пользователи чувствовали тормоза Java-приложений. Они видели замедленную реакцию интерфейса на события мыши и клавиатуры. Отсюда пошла стойкая неприязнь к Java на клиентской стороне.

Заранее запущенная JVM в составе браузера может нивелировать впечатления о работе клиентского байткода. Эта аналогия обоснована примером выполнения интерпретируемого динамического JavaScript внутри движка V8. Байткод статически-типизированного языка выполнялся бы гораздо быстрее.

* апплеты подложили бомбу замедленного действия под клиентскую Java

Апплеты ни дизайном, ни функционалом не вписывались никуда. Они не могли интегрироваться в рабочую среду, так как представляли собой невозможный с эстетической точки зрения концепт приложения "окно-в-окне".

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру