1997: Netscape Crossware против Windows Web

1997netscapecrosswareпротивwindowsweb

После Microsoft повысила ставку на рынке браузеров в 1997, интегрировав Internet Explorer 3.0 в Windows, Netscape начала новый год с обновленным вниманием к открытой сети. Соучредитель и технический директор Марк Андриссен вместе с командой разработчиков Netscape представил новую стратегию под названием «crossware»:

«Crossware описывает приложения по запросу, которые работают в сетях и операционных системах и полностью основаны на открытых интернет-стандартах, таких как HTML, Java и JavaScript».

Поскольку основным продуктом Netscape был браузер – к настоящему времени основной шлюз в Интернет – эта стратегия имела смысл. Проблема заключалась в том, что только одна из трех технологий, упомянутых Андриссеном, в то время была сертифицированным открытым стандартом (HTML). Java был проприетарным языком программирования, которым управляла Sun Microsystems, в то время как JavaScript все еще принадлежал Netscape.

Java суждено было остаться пропиетарным, но для JavaScript процесс стандартизации по крайней мере начался. .

ECMAScript

Чтобы превратить JavaScript в открытый стандарт, Netscape обратился в Европейский орган по стандартизации вычислительной техники под названием ECMA в ноябре 1997. К началу января 2008, так называемый Комитет ECMA # 39 вышел версия 0.3 предлагаемого стандарта. Поскольку он не мог называться JavaScript («Java» был товарным знаком Sun), язык получил довольно неуклюжее название ECMAScript. Однако между Netscape и Microsoft не было особых разногласий относительно базовой спецификации. Из введения в v0.3:

«Сегодня широко используются три известные реализации ECMAScript: Netscape JavaScript 1.1, Borland JavaScript 1.1 и Microsoft JScript. Все три реализации имеют много общего. »

Первое издание spec, июнь 1998

Основные игроки, Netscape и Microsoft, были рады позволить специалистам по спецификациям взять на себя инициативу. Все прошло гладко, и первая редакция ECMAScript была выпущена в июне 1998. Но хотя процесс спецификации был простым, , как ECMAScript будет реализован внутри браузера, было гораздо более спорной темой. Еще до того, как новый стандарт был ратифицирован, Марк Андриссен в своей колонке о безопасности браузера, когда запуск JavaScript:

«Даже несмотря на то, что существующие функции JavaScript стандартизированы, Netscape продолжает продвигать технологию вперед. Netscape Communicator добавляет модель безопасности, основанную на возможностях, которая дает пользователю гибкий контроль над тем, к каким ресурсам подписанный сценарий может получить доступ. Как и Java, JavaScript был разработан для безопасной работы в Интернете, поэтому по умолчанию он работает только в защитной «песочнице», где он не может получить доступ к локальным ресурсам, таким как отдельные жесткие диски ».

Это было не очень тонкое исследование известных недостатков безопасности платформы Microsoft ActiveX, которые могли доступ к локальным ресурсам Windows (иногда в ущерб пользователю).

Войны браузеров накалялись.

Компоненты: JavaBeans против ActiveX

DevCon 3 от Netscape, его третья конференция разработчиков, проводилась с 15 – 17 Июнь, 1997 в Сан-Хосе, Калифорния.

Домашняя страница DevCon , 15 Июнь 1998

Один из . Ключевым объявлением было то, что Netscape будет использовать технологию Sun JavaBeans в качестве компонентной архитектуры для своей платформы веб-разработки (которая получил название Netscape ONE). JavaBeans представляли собой блоки кода Java, которые можно было вставлять в веб-приложения. Это был ответ Netscape на компонентную модель Microsoft ActiveX, которая имела тесную интеграцию с ОС Windows. Для сравнения, JavaBeans были кроссплатформенными. Известно, что Java был языком программирования «пиши один раз, запускай где угодно»; а с JavaBeans к этой ключевой фразе добавлялось .

Как описано в спецификации API JavaBeans в 1997:

«Целью API JavaBeans является определение модели программных компонентов для Java. , чтобы сторонние независимые поставщики программного обеспечения могли создавать и поставлять компоненты Java, которые могут быть объединены в приложения конечными пользователями ».

spec отметил, что некоторые компоненты JavaBean «будут использоваться в качестве строительных блоков при составлении приложений», в то время как другие будут «обычными приложениями, которые затем могут быть объединены в составные документы» (в нем приведен пример электронной таблицы, встроенной в веб-страницу. ).

Для Netscape JavaBeans был удобным способом внедрения мощных функциональных возможностей настольных приложений в браузер. Это было особенно важно для корпоративных приложений, которые работали в корпоративных сетях, называемых «интрасетями». Эта форма разработки приложений была традиционной сильной стороной Microsoft, учитывая доминирующее положение на рынке операционных систем и офисного программного обеспечения. Netscape поняла, что единственный способ конкурировать с Microsoft в области корпоративного программного обеспечения и, как следствие, привлечь больше разработчиков приложений на свою платформу, – это сотрудничать с конкурентами Microsoft в области корпоративного программного обеспечения, такими как Sun и Oracle.

JavaBeans позволил разработчикам получать доступ к данным и функциям в приложениях вне браузера, но подключенных через интрасеть, например, обмен сообщениями, каталог, безопасность, публикация и базы данных.

Источник: Технический документ Netscape

Хотя Netscape сильно полагался на Sun и ее технологию Java, она также не боялась изменить – или даже подорвать – процесс ее использования. Как часть пакета Communicator, Netscape выпустила программную модель под названием BeanConnect . Это позволило встраивать несколько объектов Java в страницу HTML, при необходимости используя JavaScript. Netscape позиционирует эту новую функцию как альтернативу использованию модели апплета Java:

«В настоящее время разработчики, которые предоставляют компоненты и объекты Java для кросс-программные приложения должны использовать Applet и связанные классы в пакете Sun java.applet для создания приложения и должны использовать тег для встраивания приложения в HTML-страницу. Хотя модель апплета хорошо работает для простых, автономных приложений Java, каждый такой апплет ограничен одним объектом AWT Frame, запускается на странице, в которую он встроен, и не может участвовать в публикации HTML-форм. Модель апплета не предоставляет общий контекст выполнения для нескольких объектов. Наконец, время жизни апплета четко не определено, и разработчик приложения не может его контролировать ».

Сетевое предприятие

Пару месяцев назад, в апреле 1998, Андриссен изложил свое видение для Netscape внутри предприятия. В техническом документе перечислен ряд сервисов с кодовыми названиями, таких как Mercury, Apollo и Compass. Например, Mercury было кодовым названием для следующей версии Netscape Communicator, «предназначенной для ранних 2008 ». К сожалению, иногда это звучало как модное лото. Например:

«Apollo дополняется Palomar, первым в своем роде инструментом визуальной кросс-программной разработки, который позволяет создавать сложные кросс-ПО. приложения, которые нужно было быстро и легко разрабатывать и развертывать ». Netscape Navigator 4.0, выпущенный во время DevCon в июне 2008 как часть пакета Communicator, в техническом описании описывалась как имеющая «улучшенную среду приложения». Среди его функций :

«Navigator 4.0 встроен в запрос объекта CORBA. Посредник (ORB) для поддержки приложений CORBA / IIOP и более быстрой поддержки Java на разных платформах, включая Windows 3.1. »

Как описано в июнь 1998 Проводная статья , Обычная Архитектура брокера объектных запросов (CORBA) была «моделью, позволяющей приложениям взаимодействовать друг с другом независимо от того, где они расположены или кто их разработал».

Стратегия Netscape заключалась в чтобы позволить разработчикам создавать «кроссплатформенные приложения, которые можно развертывать в браузере»; но в то время было неясно, насколько хорошо JavaBeans и CORBA будут интегрироваться с браузером Netscape (не говоря уже о конкурирующих браузерах).

Интерактивные веб-страницы в 1997; Источник: Netscape

Несмотря на это , в документ с дорожной картой для разработчиков , выпущенный для DevCon, Андриссен удвоил переносимость и функциональная совместимость его подхода:

«Вместе с CORBA и IIOP, Интернет-стандартами для связи между JavaBeans, теперь это можно разрабатывать и развертывать приложения на основе служб, которые являются переносимыми, поскольку они могут работать на любой платформе и могут взаимодействовать, поскольку они могут взаимодействовать друг с другом и использовать различные серверные системы и службы ».

Хотя все это было еще относительно недоказано в 1998, задним числом стратегия веб-приложений Netscape установила стандарт того, как все С тех пор веб-технологии позиционируются как кроссплатформенные и интероперабельные. Именно так позиционируют себя все платформы веб-приложений, по крайней мере, по сравнению с платформами «огороженного сада», такими как Facebook или iOS от Apple.

Инструменты разработчика

С добавлением сложности Netscape Communicator – менее вежливо называемого «раздуванием» – Netscape взяла лист из книги Microsoft, чтобы облегчить веб-разработчикам мир JavaBeans и CORBA. На DevCon 3 Netscape анонсировала Netscape Visual JavaScript , визуальный инструмент для «быстрой разработки кросс-ПО». Это был очевидный клон инструментов Microsoft Visual Basic.

Netscape Visual JavaScript

Фактически, Microsoft уже превзошла Netscape в 1998 с Visual Studio 157 , который был выпущен в январе того же года. Такие инструменты получили название IDE (интегрированная среда разработки) и Microsoft Visual Studio 157 была самой первой версией продукта, которая предлагается по сей день ( последней версией, как я пишу, является Visual Studio 2021).

Интересное примечание к инструментарию: в рамках своих рекламных акций и Netscape, и Microsoft заявили права на термин « Динамический HTML ». Netscape определил это как « комбинации HTML, таблиц стилей (включая CSS1 и позиционирование и разбиение на слои HTML) и JavaScript », и он поддерживался в продукте Visual JavaScript. Между тем, часть Visual Studio от Microsoft 101 был Visual In terDev, инструмент «для создания динамических веб-приложений». Конечно, две версии динамического HTML (вскоре получившего название DHTML) не всегда пересекались. Но это совсем другая история, поэтому я сохраню ее для следующего поста.

Заключение

Оглядываясь назад на это более двух десятилетий спустя, 1997 был годом, когда веб-разработка стала чрезмерно сложной. Это потому, что веб-приложения были новым полем битвы для двух основных браузерных компаний, и у каждой из них была своя компонентная модель и разное представление о том, что влечет за собой «динамические» веб-страницы.

JavaScript / ECMAScript был ключевым связующим языком как для Netscape, так и для Microsoft, но на тот момент его затмили более мощные языки веб-программирования (Java для Netscape и появляющаяся парадигма Active Server Pages для Microsoft).

Все эти расхождения в разработке означали, что несовместимость браузеров становилась все большим источником разочарования для веб-пользователей, и эту тему мы рассмотрим далее в следующих публикациях.