В 1996 году, Стив Джобс создал еще одну компьютерную платформу, потенциал которой превосходил суммарный потенциал всех остальных компьютерных платформ, и этот потенциал был очевиден, хотя ни у кого не хватило бы воображения представить себе его настоящую мощь. Если бы не Pixar, и если бы не Apple, несложно догадаться, какой была бы история “в стиле NeXT”.
Я знал что WebObjects – это технология (продукт?), сыгравшая важную роль в истории человечества. Прежде меня интересовала реальность (времен WebObjects 4.5), это был очень (уникально) мощный и эффективный инструмент преобразования реальности, но я даже представить себе не мог, насколько важной была роль WebObjects в появлении веб-приложений. Об этом уже тогда было не принято упоминать…
У WebObjects, NeXT и Стива Джобса была фантастическая возможность изменить мир, но он выбрал Pixar. Между “продал” и “предал” разница всего в одну букву. Очень часто это просто синонимы – но каждый из его “неудачных проектов” требовал полной самоотдачи, и он сделал выбор. Мы никогда не узнаем, было ли это легко.
Продолжение, начало здесь.
За NeXT предложили 429 миллионов долларов (1996 года), более чем приличные деньги за компанию зарабатывавшую 3-4 миллиона долларов в год. За полторы сотни сотрудников, и за потенциал, которым тогдашняя Apple просто не могла воспользоваться. Дни Apple были сочтены, она была при смерти, и обречена.
Почти наверняка, если бы Apple пошла с молотка, кто-то приобрел бы бывшую NeXT, уже за смешные деньги, и WebObjects имели бы продолжение. Желающих было больше, чем достаточно. Пока же WebObjects “поставили на паузу”. Все должно было случиться очень быстро.
Пауза дорого обошлась WebObjects. Пауза затянулась, а реальность новой компьютерной платформы, которой должна была стать всемирная паутина, с легкой руки Стива вдруг стала очевидна слишком многим – и этой возможностью воспользовались другие. Спрос на средства для создания веб-приложений был как поток раскаленного воздуха и сгоревшего топлива, выбрасываемый из сопла реактивного двигателя.
И инструменты для создания веб-приложений (пусть далеко не самые-самые) не могли не появиться. Мир пошел другим путем.
Разразился dot-com boom, сотни стартапов создавали веб-приложения, запускали он-лайн бизнесы и, за пару месяцев зарабатывали миллионы, а то и десятки миллионов долларов. Естественно, они не использовали WebObjects. Дорого. Ни NeXT, ни Джобса, ни WebObjects никто не вспоминал – отвлекаться некогда, надо зарабатывать пока получается.
Apple выжила. Стив согласился стать “советником” Гила Амелио для того, чтобы пройтись по коридорам не чужой для него компании, ощутить её дух – чтобы увидеть и запомнить то, чего очень скоро уже не будет. Продолжение вам известно, да еще и я расскажу об этом, но в другой раз. WebObjects вернулись к Стиву Джобсу…
Которому теперь было не до них. Пауза затянулась на несколько лет.
Эта технология вполне могла бы существовать и в наши дни, если бы не обстоятельства.
Но не сложилось, и с вероятностью в 99,999% вам не потребуется, срочно и кровь из носа, изучать её для практических целей. В течении нескольких лет она была лучшей, но до неё не доходили руки, ей занималась команда из двух-трех человек, постоянно привлекаемая руководством для решения других задач.
WebObjects – это объекты и набор инструментов для превращения этих объектов в веб-приложения.
Фактически, это тот же самый OPENSTEP, только роль пользовательского интерфейса в WebObjects играли страницы HTML. В WebObjects тоже водились “киты” и фреймворки – Foundation Kit, EOF, WOF и другие. Основой WebObjects были наработки NeXT, все что компания создала за 10 лет своего существования.
EOF унифицировал доступ к данным в базах данных. С точки зрения объектов, реализующих бизнес-логику приложения, внешние данные существовали в виде объектов EOF – от сложностей и неоднородностей внешнего мира бизнес-логика была изолирована.
Реально, данные могли храниться в базах данных разных типов, на серверах различных платформ и даже на расстоянии в тысячи миль друг от друга.
WOF (WebObjects Framework) изолировал бизнес-логику от особенностей и сложностей веб-интерфейса.
В середине 90-х правила SOLID еще не были сформулированы – но и OPENSTEP, и его веб-ориентированный вариант педантично следовали этим правилам. С тем же результатом, который достигается грамотной квалифицированной работой в наши дни.
Набор инструментов WebObjects реально облегчал разработку приложений для самой непростой компьютерной платформы в мире, для глобальной паутины.
В составе продукта было несколько прототипов веб-приложений и сервисов. Приложения были “живыми”, их можно был построить и запустить – они генерировали веб-страницы, на лету, включали в генерируемые страницы картинки из стандартного набора. Единственное что они не делали – они не выполняли никакой полезной работы.
Прототип, в котором значительная часть работы уже выполнена, причем выполнена она опытными инженерами, отлично владеющими продуктом, позволяла разработчику все его время тратить на решение его конкретной задачи.
Или её. Говорят, что женщины-программисты похожи на морских свинок, те тоже не имеют никакого отношения ни к морю, ни к свиньям. Эта шутка забавна, но не отражает реальность. Несколько самых крутых программистов, которых мне повезло знать лично, были, кроме всего прочего, безумно симпатичными девушками.
Профессиональная версия WebObjects и версия для предприятий позволяли настраивать объекты встроенных классов и несущие конструкции прототипов, при необходимости.
В 1995 и 1996 году Стив ни разу не упомянул про WebScript, интерпретируемый вариант Objective-C. Язык для написания сценариев.
Пользователи базовой версии WebObjects не могли использовать “настоящие” языки программирования при превращении прототипов и стандартных наборов классов в веб-приложения. Для этого нужно было приобрести, хотя бы, профессиональную версию, за 3000 долларов (без учета налога на добавленную стоимость, разную в разных штатах).
Этого было достаточно для создания несложных веб-приложений, достаточно быстро (но не в течении двух-трех дней, как обещал Стив). С помощью D’OLE, веб-приложения можно было писать на Visual Basic или JavaScript даже не зная Objective-C.
Почему-то на NeXT чуть ли не стеснялись этого языка. Напрасно! С непривычки он в самом деле выглядит странно, но… Программисты – особая каста. Им на роду написано влезать в такие непролазные дебри, которые обычному пользователю не приснятся в страшном сне. И все, даже те кто поначалу плевался и крыл основы мироздания, через несколько недель меняли гнев на милость. Ну, почти все. Люди все-таки очень разные. Некоторые в восторге от Visual Basic!
Но не станем затевать флейм-войны. Objective-C, постепенно, уходит с главной роли в операционных системах Apple. Я встретил Swift в штыки, опасаясь двуязычия и утраты определенности в документации. Но, почти во всех отношениях, Swift лучше.
Кстати, в бесплатной версии WebObjects, помимо доступа к созданию классов и внесения изменений в опорные объекты прототипов, отсутствовала еще и поддержка D’OLE. Но я не видел ни одного разработчика WebObjects, пользовавшегося базовой версий.
Не знаю, как на роль языка сценариев для WebObjects подходили VB или JS, но едва ли не все задачи языка сценариев в WebObjects были так или иначе связаны с объектами среды, встроенными или самодельными. WebScript мог все. В нем можно было даже создавать “категории”, то есть, добавлять в определение классов, исходный код которых недоступен, собственные методы.
Метод, добавленный с помощью категории, становится доступен не только в объектах класса, к которому относится категория, но и в объектах всех его подклассов.
Objective-C и WebScript, с редкими вкраплениями Java (только на NT) были идеальными средствами разработки WebObjects, но…
Продолжение следует… после небольшого перерыва. Apple и NeXT станут одной и той же компанией. Перед этим нужно вспомнить про еще одну компанию…
ePN © 2023 Все права защищены.