Поделиться

iPhone исполняется 10 лет: история революции

Как это часто бывает, жемчужина Apple родилась в результате одного из величайших провалов в компьютерной истории: затем Стив Джобс основал компанию, которая создавала рабочие станции на основе программного обеспечения, которое было слишком футуристичным для своего времени. Вот как это было.

iPhone исполняется 10 лет: история революции

О банкротствах

Точно так же, как не бросок костей привел к рождению Ренессанса в Италии и не в Финляндии, точно так же не бросок костей привел к тому, что iPhone появился в Apple. Как итальянским гуманистам было достаточно взглянуть на пропитанную классицизмом окружающую их среду новыми глазами, так и людям Apple достаточно было взять то, что они разработали, и вылить в новую форму. Nokia не могла создать устройство устройств, которое изначально было компанией, производившей пластиковые сапоги. Не может быть и Samsung, которая специализировалась на производстве спагетти, а затем на переработке сахара.

Почти полвека одержимости Apple пользовательскими интерфейсами, простотой использования, неразрывной интеграцией аппаратного и программного обеспечения, движимой целостным видением своего босса, могли привести только к чему-то столь же революционному, как iPhone. Точно так же повсеместное классическое наследие итальянского пейзажа и менталитета привело к гуманизму и Ренессансу.

Один из многих парадоксов, определяющих развитие технологий, заключается в том, что iOS, программное обеспечение, на котором работает iPhone, родилась в наследство от одного из пяти крупнейших провалов в истории компьютеров: NeXT. NeXT — это компания, основанная Стивом Джобсом после его ухода из Apple в 1985 году. Она создавала футуристические рабочие станции на базе столь же футуристического программного обеспечения NeXTstep. Названный Стивом Джобсом «настоящей жемчужиной» инноваций NeXT, NeXTstep слишком сильно опередил свое время. Конечно, это был один из величайших провалов, но также и один из самых плодотворных событий в истории компьютеров, уступавший только Xerox Parc в Пало-Альто. NeXT также был спортзалом, где Джобс учился медитировать и исправлять свои ошибки. Другой великой школой лидерства была Pixar, где Джобс многому научился у Эдвина Кэтмулла и Джона Лассатера.

Apple, NeXT с другим именем

Историю NeXT много раз рассказывал Уолтер Айзексон, биограф Стива Джобса, и совсем недавно — в мельчайших подробностях. Достаточно знать, что в 1996 году технология NeXT и все ее сотрудники были поглощены Apple после того, как Джобс вернулся в компанию, соучредителем которой он был. Отсюда начался долгий путь к сегодняшней Apple: 1000 долларов инвестиций в акции Apple 1995 года стоили бы сегодня 117 XNUMX долларов. Те, кто пришел вместе с Джобсом из NeXT в Apple, прошли тот долгий и трудный путь, подобный тому, который описывает Ксенофонт в «Анабасисе».

Но это известно. Однако об одном известно меньше. Технология NeXT и особенно ее операционная система NeXTstep уже более 20 лет неустанно подпитывают технологии Apple, и мужчины и женщины из NeXT занимают самые ответственные должности в яблочной компании. Настолько, что в какой-то момент не было секрета существования своего рода «NeXT мафия» или «NeXT каста», настолько важными были влияние и вознаграждение людей, которые пришли из этого опыта, NeXTonians.

NeXTonians

Среди NeXtonians, которые перешли в Apple на видные должности, был Ави Теванян, вдохновитель архитектуры программного обеспечения NeXT, а затем Mac OS X, который оставался в Apple до 2006 года в качестве директора по технологиям программного обеспечения. Он исходит от NeXT Скотта Форстолла, который отвечал за разработку программного обеспечения IOS до октября 2010 года. Крейг Федериги, преемник Теваняна, ныне отвечающий за всю область программного обеспечения в Apple, также является представителем NEXTonian. Среди них также Бадд Триббл, один из основателей NeXT, которому мы обязаны знаменитым определением «поля искажения реальности» применительно к видению Джобса. Бадд вернулся в Apple в 2002 году и до 2015 года занимал должность вице-президента по программным технологиям.

Недавно Скотт Форстолл в Музее компьютерной истории в Маунтин-Вью на встрече, организованной в честь празднования десятой годовщины iPhone, рассказал, как рождался iPhone в уме Стива Джобса и как он создавался командой, которую он сам вместе с другие менеджеры, которые были призваны руководить им. Об этом свидетельстве мы поговорим в другом посте. Теперь давайте разберемся с NeXTstep и его наследием в Apple.

От NeXTstep к Mac OS X и iOS

То, что между NeXTstep и iOS существует связь прямого происхождения, опосредованная Mac Os X, не вызывает никаких разумных сомнений. Большое количество классов, составляющих архитектуру системы разработки iOS (названных Cocoa, а затем Swift), имеют префикс «NS», что означает NextStep. Еще до iOS NeXTstep стала Mac OS X, которая в 2001 году была выпущена как операционная система для компьютеров Mac нового поколения.

Графический инструмент, входящий в состав XCode (среды разработки iOS), предназначенный для создания пользовательского интерфейса приложений для устройств iOS и объединения различных составляющих его элементов, исходит непосредственно от NeXT. Он даже не изменил своего названия, он называется Interface Builder и создает файл .nib (сокращение от NeXT Interface Builder).

Даже буква «X», включенная в название новой операционной системы Mac, является немаловажной подсказкой: она означает NeXT или, что более вероятно, означает UniX, которая, помимо того, что составляет ядро ​​NeXTstep, также является ядром Mac OS. X. Мы в любом случае не знаем происхождения этого «X», но между всем этим существует очень тесная связь.

То, что Джобс хотел сохранить и развить наследие своего 10-летнего тяжелого труда в NeXT, не подлежит сомнению. Во время этого опыта, свободного от каких-либо внешних ограничений и с капиталом, предоставленным Россом Перо и Canon, он реализовал свое видение сделать компьютер самым умным из бытовых приборов.

Unix и микроядро Маха

Как и NeXTstep, Mac OS X и iOS основаны на Unix — портативной операционной системе, разработанной в Bell Labs и выпущенной в 1969 году. Главной особенностью Unix является возможность запуска приложений с разделением времени. Разделение времени позволяет основной памяти компьютера (ЦП) распределять свое время между несколькими задачами и несколькими пользователями. Это означает, что если приложение по какой-либо причине неожиданно завершает работу, это событие не вызывает сбоя всей системы и, следовательно, других приложений с разделением времени.

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

Для разработки системной архитектуры NeXTstep Джобс обратился к Эви Теваняну, который работал над проектом Mach в Университете Карнеги-Меллона. Mach, который станет ядром NeXT, был построен на радикальном подходе, известном как «микроядерная архитектура», согласно которому операционная система должна была передать на аутсорсинг как можно больше функций для повышения своей стабильности. Принцип, противоположный модному в то время.

Objective-C

Как и NeXTstep, Mac OS X и iOS были разработаны на Objective-C, объектно-ориентированном языке программирования, производном от языка C. Objective-C позволяет разработчикам приложений использовать предварительно заданные блоки кода (объекты) для разработки определенных рутинных функций, без необходимости программировать их с нуля. Объекты представляют собой своего рода готовые компоненты, которые можно собрать для получения определенного здания, как это делается в лего.

В интервью 1995 года Джобс заявил, что объектно-ориентированное программирование произведет революцию в том, как мы создаем программное обеспечение в течение следующих 20–30 лет. Так оно и было.

Некоторые приложения, которые до сих пор используются на Mac или iPhone, представляют собой эволюцию программного обеспечения, изначально разработанного для платформы NeXT. Среди них Numbers (изначально Parasheet), Keynote (изначально Concurrence), Pages, OmniGraffle (изначально Diagram!).

Objective-C был создан Брэдом Коксом, блестящим разработчиком исследовательского центра Xerox в Пало-Альто, как развитие SmallTalk, огромный потенциал которого Джобс сразу почувствовал во время своего легендарного визита в центр в 1977 году. Джобс получил от Кокса лицензию на использование Objective-C в NeXT, а в 1995 году Apple приобрела Stepstone, компанию, основанную Коксом, владельцем языка.

Платформа набора приложений

Наряду с языком Objective C компания NeXT также разработала набор готовых объектов для разработки программного обеспечения. Эти объекты были собраны во фреймворк под названием AppKit, который в Apple стал называться Cocoa для OS X, а в 2008 году — Cocoa Touch для iOS. В дополнение к освобождению разработчиков от обременительной задачи разработки рутинных частей программного обеспечения, AppKit позволяет самым разным приложениям предоставить пользователю возможность использовать одни и те же методы использования некоторых функций, избавляя пользователя от любых проблем с обучением.

Interface Builder

Интерфейсный конструктор — это графический инструмент, который позволяет разработчикам создавать пользовательский интерфейс путем перетаскивания элементов (кнопок, текстовых полей, всплывающих меню, окон и т. д.) из палитры, составляющих графический интерфейс. В дополнение к представлению определенного графического аспекта, эти элементы имеют все необходимые встроенные функции. Палитра может быть расширена новыми объектами, которые после создания можно перетаскивать в нее и с этого момента делать доступными, как собственные объекты. Легенды объектов автоматически локализуются в соответствии с языком, выбранным в системном программном обеспечении.

Interface Builder был создан французским разработчиком Жаном-Мари Халлотом, которого Стив Джобс позвал работать над NeXT в 1985 году после того, как увидел демонстрацию, которая убедила его в том, что он

получил в свои руки «убийственное приложение». Interface Builder не был интегрирован в NeXTstep, а предлагался как отдельное приложение вместе с Sofware Development Kit.Затем Apple интегрировала Interface Builder в Mac OS X и iOS. С помощью Interface Builder на компьютере NeXT Тим Бернерс Ли из ЦЕРН в Женеве разработал первый прототип WordWideWeb.

Отображает PostScript

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

Технология, используемая NeXT для получения векторной графики на видео, была предоставлена ​​Adobe (домашней программой Photoshop, Illustrator и Acrobat) с помощью инструмента под названием Display Postscript. Инженеры NeXT полностью переписали инструментальный движок Adobe, чтобы он подходил для объектно-ориентированной операционной системы.

Mac OS X и iOS теперь используют другой инструмент под названием Quartz для отображения графики на экране, который, однако, использует ту же концепцию векторной графики. Quartz создает векторные изображения, подобные Postscript, используя модель рендеринга PDF. Отказ от Postscript в основном связан с расходами, связанными с приобретением пользовательских лицензий у Adobe.

Связки

И OS X, и iOS используют способ управления приложениями, производный от NeXTstep. Это бандлы, т.е. директория, позволяющая сгруппировать исполняемый исходный код и все ресурсы, включая плагины, необходимые для работы приложения. Все эти файлы находятся в этом пакете и не компилируются в исполняемый файл, как в случае с Windows. Операционная система на низком уровне видит пакет как набор файлов, а пользователя как простую иконку. Это решение, которое значительно упрощает работу благодаря простой иерархической структуре каталогов.

Файловый менеджер

Finder — это файловый менеджер Apple, который обеспечивает навигацию по дискам, папкам и файлам. В Mac OS X Finder был полностью переработан по модели файлового менеджера NeXTstep, который по своей сути похож на Windows. В дополнение к простому списку файлов или связанных значков каталога, типичному для исходной Mac OS, Mac OS X также представляет визуализацию иерархического типа, полностью аналогичную визуализации NeXTstep. Эта структура развивается в смежных окнах, показывающих содержимое каталога или выбранного ресурса, чтобы визуализировать весь путь ресурса в файловой системе.

Есть много других аспектов, которые Mac OS X и iOS унаследовали от NeXTstep и его опыта, действительно одного из самых конструктивных и обучающих опытов в истории технологий.

И тогда троекратное ура неудачникам!

Обзор