WebObjects: прерванный полет

1

Не глупо ли вспоминать о технологиях, которые так и не добились успеха? Может, они и не заслуживали иной судьбы? Стоит ли рыться в прошлом, смахивая кисточкой пыль веков с истлевших черепков? Наследие NeXT встречается в наши дни на каждом шагу. Личности разных полов, возраста и стиля, уткнувшиеся в iPhone’ы и мешающиеся под ногами в метро и на узких тротуарах, и даже те из “зомби”, кто пользует всевозможные Android’ы. Mac’и, которые уже давно не редкость. Всякие Apple Watch, умные колонки, непонятные мне Apple TV…

Число работавших в NeXT никогда не превышало пяти сотен, а общественное мнение иначе чем неудачниками их никогда не считало. И такой успех. Тут есть о чем подумать.

Технология WebObjects как-то незаметно, без трагедий и без чьих-либо попыток её спасти, просто ушла. В сентябре 2008 года (через полтора года после рождения iPhone) вышла её последняя версия (5.4.3, правда это похоже на обратный отсчет?), в 2016 её официально вычеркнули из списка живых (но не их списка торговых марок, принадлежащих Apple).

Между тем, по своему значению и мощи предложенного миру, эта технология едва ли не на порядок значительнее и важнее, чем все остальное наследие NeXT, маленькой великой компании.

Есть такое вульгарное словосочетание, “жернова истории”, извините… Вот именно ими эту важную и значительную технологию и раскатало в блин. Место, которое она должна была занять, заняли другие. Многие из этих других очень известны, их уважают специалисты, их изучают в университетах и на курсах. Веб-приложений, и всяких там SaaS, IaaS, MBaaS и иже с ними, как комаров на болоте.

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

И еще кое-что: я называю WebObjects технологией, но не уверен в правильности этого определения. WebObjects это комплекс из нескольких фреймворков (каркасов, мне очень понравился такой перевод этого термина, предложенный одним из читателей), концепций и инструментальных средств. В моем тексте WebObjects относится к женскому роду.

Надеюсь, что даже если это и будет резать глаза, травм и летальных исходов из-за этого не случится.

Предыстория WebObjects

WO возникла не на пустом месте, она была естественным развитием NeXTSTEP/OPENSTEP, и их средств разработки. Идею превратить Всемирную Паутину в еще одну платформу для разработки приложений первым озвучил Стив Джобс. Сам ли он пришел к ней, или кто-то из умных ребят из крошечной компании, в которой все знали друг друга в лицо – не все ли равно?


Не вдаваясь в подробности: Бад Триббл, один из создателей первого Mac’а, соучредитель NeXT и один из высших менеджеров Sun Microsystems, в конце 80-х разработал объектно-ориентированные библиотеки для NeXT. Он назвал их NeXTSTEP, одновременно упомянув компанию и вложив в название глубокий смысл. “Следующий шаг”. С этого все началось.

Затем был DBKit, фреймворк (каркас!!!) радикально упрощавший работу с базами данных разной природы и с различными программными интерфейсами. Изоляция бизнес-логики от винтиков, гаечек конкретных СУБД – еще один важный шаг. Next NeXT STEP.

В реальной жизни все гораздо сложнее, чем на самом деле. Применяя DBKit для решения реальных задач, пользователи (её пользователями были программисты и аналитики, спецы высочайшей квалификации) столкнулись с проблемами и ограничениями, от которых было невозможно избавиться не разрушая принципы, на которых строился DBKit.

Глас народов был услышан и учтен. На смену DBKit пришел EOF, он же Enterprise Object Framework, он же “фреймворк промышленных объектов”. Для создания EOF пришлось взглянуть на проблемную область иначе: непредвзято и шире, чем считалось необходимым в то время.

Есть интерфейс компьютера с пользователем, с которым в 90-х не все было идеально, но по сравнению с другими интерфейсами с ним все было хорошо. Им занимались. А вот про интерфейс средств разработки с программистами даже не задумывались. NeXTSTEP и EOF были “дружелюбным интерфейсом” для программистов. В этом их “секрет”.

EOF 1, со временем, сменило его продолжение, EOF 2. Тем временем, Всемирная Паутина захватывала в свои смертельные объятия наш старый добрый мир, и жить становилось все интереснее и интереснее. Можно ли вырвать отдельно взятую страну из этой паутины? Мы скоро узнаем. Прецеденты были… Но вернемся к нашей теме: идея превратить Интернет в платформу для самых настоящих приложений возникла не на пустом месте. Ингредиенты для воплощения этой мысли в реальность, и чертовски хорошие ингредиенты, у NeXT уже были.

В наши дни EOF живет и процветает, под именем Core Data. Это тот же EOF, но без лучших его черт, менее интуитивный и понятный, но даже в таком виде Core Data вполне хорош, хороша или хороши (data – это из латыни, множественное число от datum).

Восемь месяцев триумфа

WebObjects представили публике в конце 1995 года, и, поскольку представление проводил Стив Джобс, в результате можете даже не сомневаться. Убедил, зажег, заставил мечтать о приходе технологии разработки приложений для Всемирной Паутины…

WebObjects стала реальным продуктом в каталогах NeXT Software в марте 1996 года. Среду разработки WebObjects можно было приобрести в базовом варианте, всего за 0 долларов, в варианте для профессионалов (за 2 999 долларов) и в варианте для Enterprise (за 24 999 долларов). Лицензии на публикацию разработанных сервисов и приложений тоже не были ни бесплатными, ни дешевыми: в зависимости от каких-то критериев, лицензия стоила от 2 999 до тех же 24 999 долларов.

Если бы AppleInsider.ru использовал WebObjects в 1996 году, на все-про-все хватило бы одной лицензии на среду разработки за 2 999 долларов, и одной лицензии на публикацию, тоже за 2 999 долларов. Итого, 6 тысяч долларов.

Конечно, это “крутовато”, но все-таки это не “50 тысяч долларов”, о которых написано в Википедии. Представляете: NeXT что-то там разработала (даже, вроде бы, это было что-то полезное), выставила это на прилавке с ценником “50 000”, и тупо ждала что кто-то это купит… Я утрирую, но многие уверены, что именно так все и было.

NeXT не сидела и не ждала. Ситуация для компании складывалась невероятно удачно: у неё были договоренности о сотрудничестве с Sun Microsystems, Hewlett Packard и другими компаниями, лидировавшими в сегменте профессиональных рабочих станций. Партнеры NeXT, при её участии, разрабатывали в своих операционных системах PDO, по сути дела анклавы NeXTSTEP, делавшие их взаимно совместимыми. PDO расшифровывается как Portable Distributed Objects.

Некоторые из партнеров шли еще дальше, разрабатывая по лекалам от NeXT полные реализации операционной системы последней. Objective-C, фактически, пришел на самые распространенные рабочие станции, и был на них востребован – а рабочие станции в мире, в котором Интернет становится одним из важнейших элементов реальности – кандидаты на роль серверов, и площадка для установки веб-приложений.

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

В WebObjects, при участии инженеров NeXT, были разработаны web-приложения для BBC News, Dell Computer, Disney Studios, DreamWorks SKG, Fannie Mae и других компаний. Успех привел к появлению десятков независимых “ателье”, использовавших WebObjects как один из источников дохода…

WebObjects была на пороге чего-то безумно великого, и вдруг…

И вдруг все оборвалось. Прекратилось. Apple объявила о приобретении NeXT Software со всей интеллектуальной собственностью и персоналом. WebObjects стала продуктом от Apple, к которой в индустрии относились не слишком хорошо, но дело было даже не в этом…

Стремительный и многообещающий взлет NeXT Software в качестве разработчика самого успешного инструментария для разработки веб-приложений… прервался.

Почему – читайте в продолжении. Обсудить историю Apple вы можете в нашем Telegram-чате.

1 комментарий Оставить свой

  1. 0

    Жду продолжение. Спасибо.

Авторизуйтесь Чтобы оставить комментарий