Конец ноября в Питере — крайне мрачное время года, на улице лишь холод, сырость и уныние. Что определенно влияет на психику местных обитателей, порождая в головах самые нездоровые желания и идеи, которые затем попадают в криминальную хронику.
Видимо по этой причине, одним мрачным осенним днем мне захотелось создать графическое приложение на современном C++ под.. классический Mac из 90х.
В действии.
История
Честно не знаю что вам сказать, на этот раз у меня нет оправданий или логических объяснений для того что я опять сотворил.
Cпишем на плохую погоду и рептилоидов с Нибиру:
рассказываю и показываю как создавать приложения на современном C++ для классического Apple Macintosh начала 90х.
Примерно такого:
Macintosh Quadra 700. Компьютер как компьютер.
The Macintosh Quadra 700 is a personal computer designed, manufactured and sold by Apple Computer from October 1991 to March 1993.
Сам я никогда не видел такие машины в живую, поскольку в годы когда они выпускались был совсем зеленой школотой и жил в далеких сибирских пердях. Хотя даже живи я посреди Нью-Йорка в 90е — врядли бы смог позволить компьютер за почти шесть штук баксов:
The Quadra 700 originally had a list price of US$5,700
Такое и сегодня далеко не для всех.
Однако времена славы Макинтошей давно прошли, ныне все эти некогда «звездные» компьютеры — те что еще остались в рабочем состоянии, являются музейными экспонатами и предметами коллекционирования.
Поэтому, то что опишу ниже — точно не имеет никакого практического применения:
все это лишь эталонная, дистиллированная дичь, без примесей и добавок.
Это на тот случай, если вы вдруг ожидаете от статьи чего-то большего.
Весь сетап целиком.
Все началось, когда были выкованы мегакольц.. ээ нет, это из немного другой эпической сказки. В нашей все было проще — автор самым банальным образом набрел в сети на один интересный репозиторий, обещающий экзотическое путешествие в мир ужаса неведомые дали:
A GCC-based cross-compilation environment for 68K and PowerPC Macs. Why? Because there is no decent C++17 Compiler targeting Apple's System 6. If that's not a sufficient reason for you, I'm sure you will find something more useful elsewhere.
Разве можно было пройти мимо столь вдохновляющего описания?
Я тоже не удержался, убив в итоге несколько лишних дней на оживление и запуск этого чудовища чуда. Но прежде чем пойдем дальше, стоит рассказать читателям немного старой доброй матчасти:
почему автор так возбудился на какой-то неведомый набор консольных программ без картинок с голыми женщинами, еще и делающий с точки зрения обывателя не пойми что.
Матчасть
Представьте, что на вашем столе лежит вот такой кусок текстолита с железом, для которого надо написать программу:
Хотя именно этот девайс на самом деле весьма мощный.
Да, на фото выше самый настоящий компьютер:
c процессором, памятью и портами ввода-вывода — все как положено.
Но только слишком слабый для развертывания полноценной среды разработки непосредственно на нем.
Поэтому если вы не маньяк-психопат LISP-разработчик — будет откровенно сложно вести какую-либо разработку на такой хне без кросс-компиляции.
Кросс-компиляция это когда на обычном офисном компьютере без отрыва от игор cобирается приложение, предназначенное для запуска на принципиально другом устройстве:
смартфоне, роутере, соковыжималке, встраиваемой платформе умного дома, коптере или еще каком боевом роботе.
Или на другой операционной системе — сборка на линуксе под Windows это тоже вполне себе кросс-компиляция.
Тулчейн для кросс-компиляции обычно устанавливается (и даже собирается) отдельно, часто бывая очень сложным. Еще он содержит компиляторы, линкеры, ассемблеры для «вражеской» архитектуры и многое другое, не менее интересное.
В некоторых случаях тулчейн включает и части целевой системы:
заголовочные файлы, ресурсы и даже готовые библиотеки для линковки.
Без которых создавать что-то сложнее «Hello, world» с помощью кросс-компиляции было бы проблематично.
Так выглядит тот самый "Hello,world", собранный через кросс-компиляцию и запущенный в эмуляторе с MacOS 7.
Retro68
Теперь, после раскрытия матчасти можно переходить к этому замечательному проекту, чтобы оценить по достоинству масштаб проделанной работы и ее важность:
a gcc-based cross-compiler for classic 68K and PPC Macintoshes
Во-первых «gcc-based», что означает определенную совместимость с нормальными и современными компиляторами, а также отсутствие экзотических проблем, характерных для редких и/или устаревших компиляторов, вроде bcc.
Во-вторых тут две разных целевых архитектуры: 68k и PowerPC.
А значит можно собирать софт для всей линейки Маков с начала 90х и до начала 2000х — до MacOS X Tiger, последней поддерживающей архитектуру PowerPC.
Но пожалуй самое важное это поддержка трех разных UI-фреймворков на целевых системах:
Что означает возможность создавать приложения с графическим интерфейсом для всего зоопарка винтажных маков.
Типа такого:
Так выглядит демо с диалогом, созданное при помощи кросс-компиляции.
И все это без доступа к самому физическому устройству и пыток разработкой непосредственно в эмуляторе. Кстати процесс переноса собранного приложения (в примерах) в целевую систему также максимально упрощен:
сразу собирается готовый образ диска, который затем можно записать на носитель, либо подсунуть эмулятору.
Терминал
Когда только начинал собирать материал для этой статьи, узнал что в первых MacOS (внезапно) не было консоли и абсолютно все приложения были только и исключительно графическими:
возможно собрать в графическое, с таким псевдо-терминалом в комплекте:
Тоже является заслугой тулчейна Retro68 и ключем линковки при сборке:
LDFLAGS=-lRetroConsole
Сборка на FreeBSD
Тулчейн официально поддерживает несколько популярных операционных систем:
Linux, Mac OS X or Windows (via Cygwin)
И действительно совершенно спокойно, без каких-либо проблем и нюансов собирается на линуксе.
Что мне показалось слишком скучным, поэтому ради гусарской забавы портировал этот проект на FreeBSD.
Всегда так делаю.
Если вам такие забавы не близки, сообщаю что для линукса достаточно по шагам выполнить инструкцию в README. И все сразу будет хорошо, только не у вас.
Ну а мы как обычно пойдем путем хардкора — соберем весь тулчейн на FreeeBSD с нуля.
Кстати форк Retro68 с поддержкой сборки на FreeBSD выложен в отдельном репозитории. Первым делом надо установить ряд инструментов для разработки и системных библиотек:
Теперь надо немного изменить скрипт сборки, для учета особенностей FreeBSD.
Первым делом заменяем вызовы make на gmake, поскольку FreeBSD использует свою версию утилиты make, несовместимую с GNU-версией. Которая конечно также присутствует в пакетах, но только называется gmake.
Дальше необходимо переделать вызовы configure для вложенных проектов из скрипта сборки, суть правок:
пробросить указание на использование библиотек из каталога /usr/local, куда устанавливаются все внешние с точки зрения системы библиотеки в FreeBSD.
Тут уже нельзя использовать переменные окружения CFLAGS и LDFLAGS из-за особенностей сборки GCC и необходимо передавать пути для ключевых библиотек специальными аргументами:
Таким же образом необходимо поправить еще два места в скрипте сборки: раз и два.
После чего можно запускать сборку.
Запускается она из отдельного каталога:
mkdir ../Retro68-build cd ../Retro68-build ../Retro68/build-toolchain.bash
После весьма продолжительной (даже на мощном компьютере) и жутко выглядящей сборки, по накалу страстей на экране напоминающей знаменитый make buildworld из FreeBSD:
..все упадет на вот такой «страшной» ошибке:
Для исправления ситуации, надо всего лишь изменить один import в файле portable_endian.h , в этом месте:
Суть проблемы в том что расположение заголовка endian.h поменялось и теперь его необходимо включать без указания каталога sys:
# include <endian.h>
Исправляем импорт и перезапускаем сборку.
Однако через какое-то время напряженной работы и в очередной раз напугав обывателя простыней текста, сборка.. опять упадет.
На этот раз падение произойдет на стадии сборки из cmake:
Несмотря на весь внешний ужас, исправляется эта ошибка очень просто (если знать где копать разумеется):
удалением импорта этого заголовка из файла PEFTools/MakePEF.cc
Поскольку его содержимое в последних версиях FreeBSD добавили в stdlib. Так что смело удаляем импорт и перезапускаем сборку.
Следующее падение сборки и следующая проблема заключается в пересечении заголовков — системного, из самой FreeBSD и локального — из библиотеки libelf:
Тут к сожалению я не нашел изящного решения, достойного быть упомянутым в летописях, поэтому сделал «колхоз»:
скопировал файл gelf.h из libelf/include в каталог Elf2Mac, и поменял ссылки на этот заголовок из глобального на локальный.
Было:
#include <gelf.h>
Стало:
#include "gelf.h"
Поменять ссылки необходимо во всех файлах проекта Elf2Mac где встречается данный импорт. Наконец последняя ошибка сборки, связанная с особенностями FreeBSD:
Связана эта ошибка с тем, что часть необходимых структур для работы с сетью на FreeBSD вынесена в отдельный заголовок.
Готовый к использованию тулчейн будет находиться в каталоге toolchain, который стоит добавить в переменную окружения PATH.
Теперь переходим к эмулятору, поскольку живого Mac тех лет, на котором возможно запустить результат сборки у меня нет.
Эмулятор
Вообще эмуляторов винтажных Mac довольно много, поскольку маководы это сектанты очень увлеченные люди и многие из них используют и устаревшие компьютеры Apple и устаревший софт до сих пор, всячески отвергая прогресс и здравый смысл.
Такова сила бренда, созданного Стивом Джобсом.
Я буду использовать один из самых популярных и известных эмуляторов классических Macintosh:
Basilisk II is an Open Source 68k Macintosh emulator.
Разработан он был еще в начале 2000х, немецким инженером Christian Bauer, ныне активная разработка уже не ведется. Поэтому вместо нее я использовал более современный форк, в котором решены вопросы совместимости с современным же окружением и обновлены используемые библиотеки.
И внезапно добавлен JIT (Just-In-Time Compiler).
Еще форкнутая версия немного стабильнее, с более адекватным поведением перехвата курсора.
Эмулятор использует следующие библиотеки, которые необходимо установить до попыток сборки:
Еще вот тут находится крайне интересная табличка, с описанием практически каждого доступного ROM, его особенностей и работоспособности.
Напомню, что для этой статьи я эмулировал модель Quadra 600:
Для эмулятора использовался вот такой ROM-файл:
Указав в разделе «Volumes» путь к образу диска с MacOS7, затем в разделе «Memory/Misc» путь к ROM-файлу, можно наконец запускать эмулятор:
Теперь переходим к самому веселому — к разработке.
Разработка с помощью Retro68
Собственно после сборки Retro68, у вас будет все что нужно для разработки конечного софта, поскольку в каталоге build-target/Samples будут собранные примеры приложений:
Эти примеры собираются автоматически, во время сборки самого тулчейна Retro68, в качестве дополнительных тестов работоспособности.
Для сборки во всех случаях используется cmake, исходники находятся в каталоге Retro68/Samples.
Чтобы собрать проект с HelloWorld отдельно, выполняем:
сd /opt/src/Retro68/Samples/HelloWorld mkdir build cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=/opt/src/Retro68-build/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake gmake
Результат сборки:
Каждый пример при сборке генерирует образ диска, который можно сразу подключить к эмулятору:
Достаточно указать путь к dsk-файлу, который находится в каталоге build и запустить эмулятор:
На рабочем столе появится иконка с названием, совпадающим с названием примера:
После двойного клика по этой иконке, раскроется окно с содержимым этого виртуального диска в виде единственного запускаемого файла:
Двойной клик по файлу HelloWorld запустит наше приложение.
Примеры приложений
Как уже упоминал, в составе Retro68 есть довольно много демонстрационных приложений.
Каждый пример раскрывает аспект разработки и создан так, чтобы его можно было использовать в качестве основы для собственных проектов.
Автор тулчейна постарался, поэтому все примеры логичны, просты и понятны.
Retro68/Samples/Raytracer
Трассировщик лучей, реализующий генерацию псевдотрехмерной картинки в реальном времени. Собственно процесс отрисовки в этом приложении как раз показан на заглавной картинке к статье.
В проекте на самом деле присутствуют сразу две реализации, одна на С, другая на C++, видимо для сравнения во время работы.
Так выглядит финальный результат рендеринга:
Проект ценен в первую очередь как демонстрация расчетной логики и операций с числами с плавающей точкой.
Retro68/Samples/Dialog
Демонстрация работы с модальными диалогами — как задавать размеры и расположение элементов, как создавать формы ввода, как получать вводимые данные и так далее.
В работе:
Retro68/Samples/WDEF
Демонстрация работы с многооконными интерфейсами (MDI), создание окна с кастомным оформлением и работа с ресурсами окон.
Так это выглядит в действии:
Кратко по остальным примерам, реализующим какую-то специфическую логику.
Retro68/Samples/MPWTool
Реализует расширение для MPW (Macintosh Programmer's Workshop), точнее для MPWShell, с обработкой запуска оттуда и корректного возвращения в консоль.
Retro68/Samples/SharedLibrary
Реализует разделяемую библиотеку и приложение, его использующее в рантайме.
Retro68/Samples/SystemExtension
Пример простейшего расширения для самой операционной системы MacOS 7, в данном случае вся видимая логика заключается в показе новой иконки при запуске ОС.
Retro68/Samples/Launcher
Реализует запуск сторонних приложений через перетаскивание (Drag&Drop).
"Masters of Hardcore" - вбейте в поиск если не жалко уши и соседей.
Настоящий хардкор
Вы же не думали, что я успокоюсь на банальной сборке тулчейна с эмулятором под FreeBSD и запуске пары тестов?
Clapkit (CLassic APplication KIT) is a framework for developing applications for Classic Mac OS (System 7.x - Mac OS 9.x), basically a C++/object-oriented wrapper for Macintosh Toolbox functions.
Да, глаза вас не подводят, это самый настоящий современный графический фреймворк для компьютеров начала 90х.
Так это выглядит:
Картина неизвестного питерского художника "Мак под маком".
Так выглядит код:
#include <ckApp.h>
int main() {
CKApp* app = CKNew CKApp();
app->CKNewMsgBoxNote("Hello world!", nullptr, "OK", nullptr, [app](int button) { app->CKQuit(); }); // Run loop: without this, your app will quit as soon as it launches. while (!app->CKLoop(5)); delete app; return 0; }
Так выглядит мое тестовое приложение на современном C++, собранное с помощью cmake на FreeBSD и запущенное на MacOS 7 из 90х:
Поддержки юникода тогда еще не было, как и локализации на русский, поэтому "великий и могучий" есть лишь в комментариях.
Ну что дорогие читатели, ударим шизой по осенней летней хандре?
MPW
Конечно ударим, но прежде стоит рассказать про нормальную разработку для продукции Apple, как это происходило у нормальных людей.
Ее вполне можно использовать до сих пор, благо образов дисков в сети хватает. Именно так я и советую поступать (т.е. использовать MPW) в случае любого более-менее серьезного проекта, поскольку где и когда закончатся возможности кросс-компиляции и вы опустите руки — предсказать не берусь.
Как-то так MPW выглядит в эмуляторе:
Тут находится отличная статья по созданию «Hello, world» на MPW в эмуляторе, которой вполне хватит для начала приключений. Но в этот раз нам нужен не MPW а только его часть — системные заголовки, которые мы будем использовать для злодейства сборки.
В Retro68, в каталоге InterfacesAndLibraries находится файл Readme.md, содержимое которого явно намекает на дальнейшие действия:
Find a copy of Apple's Universal Interfaces 3.x (preferrably 3.4) and put them here.
Вообще «Find a copy» это такой толерантный и социально приемлемый синоним старого доброго «скачать варез», прямо из 90х. Потому как купить официально старое ПО уже не представляется возможным, если подобное вдруг придет в голову. Даже если компания-разработчик существует (как в случае Apple), старые версии своих продуктов она так просто не продаст.
Потому что есть поддержка, гарантии и защита прав потребителей.
И репутация компании.
Поэтому сообщаю по секрету, что «найти» эти самые универсальные интерфейсы можно например тут:
Сборка построена на cmake, но перед тем как собирать Clapkit, необходимо указать путь к Retro68 в скрипте сборки:
# Ensure Retro68 toolchain is set BEFORE defining project set(CMAKE_TOOLCHAIN_FILE "/opt/src/Retro68-build/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake")
К сожалению в проекте есть небольшой баг с пропущенными заголовками, из-за которых он не собирается.
Для исправления достаточно добавить в include/ckTypes.h два импорта:
#include <Quickdraw.h> #include <Events.h>
В репозитории проекта находится готовый Showcase с демонстрацией возможностей фреймворка, на базе которого я и делал свое тестовое приложение (см. ниже).
Так выглядит сам Showcase в работе:
Напоминаю, что все это создано с помощью кросс-компиляции и затем запущено в целевой MacOS 7.
Выглядит заметно веселее, чем примеры из самого Retro68, согласитесь.
Тестовый образец
Я не хотел сразу пускаться во все тяжкие и портировать Doom/Quake/Cyberpunk 2077 под винтажные Маки из 90х — надо же оставить место воображению, поэтому мой тестовый образец для этой статьи это в первую очередь пример автономного, отделяемого приложения с минимальной логикой.
Которое собирается без привязки к иерархии каталогов Clapkit или Retro68.
отображает меню «Yo» в Finder, с единственным пунктом «Run me», по клику на который вызывается модальный диалог с двумя кнопками. По нажатию на «Quit» произойдет завершение работы программы.
Фигня-фигней, но только разработано и собрано оно полностью и целиком вне инфраструктуры MacOS и без средств разработки от Apple, даже без техники Apple.
На современном С++, под FreeBSD темной питерской ночью.
Так выглядит основной код на C++, файл main.cpp:
#include "main.h" #include <ckMenu.h>
CKTestAlexs* app;
int main() { // класс переименован ради тестов app = CKNew CKTestAlexs(); // false - не использовать стандартные пункты меню CKMenuBar* menuBar = CKNew CKMenuBar(false); // добавляем свой пункт меню в Finder CKMenu* menuTests = CKNew CKMenu("Yo"); menuBar->AddMenu(menuTests); // затем элемент в выпадающем списке CKMenuItem* item = CKNew CKMenuItem("Run me", 'R', [&item](CKEvent e) { // по клику произойдет отображение стандартного // модального диалога app->CKNewMsgBoxNote("Welcome to old school!", "Hello world", "Mkay", "Quit", [](int button) { // если нажали Quit - завершить работу приложения. if (button == 0) { app->CKQuit(); } }); }); // связывание элемента с пунктом меню menuTests->AddItem(item); // связывание меню с приложением app->CKSetMenu(menuBar); // бесконечный цикл ожидания для отрисовки, // без которого приложение сразу завершится while (!app->CKLoop(5)); delete app; return 0; }
Класс описан в заголовке main.h, декларации методов я убрал за ненадобностью:
#include <ckApp.h>
class CKTestAlexs : public CKApp { };
Так выглядит скрипт сборки для cmake, как можно заметить тут происходит автоматическое скачивание родительского фреймворка Clapkit и наложение патча с пропущенными импортами (описаны выше):
cmake_minimum_required(VERSION 3.16)
# Ensure Retro68 toolchain is set BEFORE defining project set(RETRO68_PATH "/opt/src/Retro68-build/toolchain/m68k-apple-macos") set(CMAKE_TOOLCHAIN_FILE "${RETRO68_PATH}/cmake/retro68.toolchain.cmake")
# Include Retro68 headers include_directories(${RETRO68_PATH}/include)
# Set default build type to Release if not specified if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type (Debug or Release)" FORCE) endif()
set(CLAPKIT_LOCAL_PATH "${CMAKE_SOURCE_DIR}/../../") option(USE_LOCAL_CLAPKIT "Use local checkout of clapkit instead of fetching from Git" ON)
if(USE_LOCAL_CLAPKIT AND EXISTS "${CLAPKIT_LOCAL_PATH}/CMakeLists.txt") message(STATUS "Using local clapkit at ${CLAPKIT_LOCAL_PATH}") add_subdirectory(${CLAPKIT_LOCAL_PATH} clapkit) set(USE_LOCAL_CLAPKIT ON) else()
Through some luck and a little persistence I have actually managed to get Rust code running on classic Mac OS (I’ve tried Mac OS 7.5 and 8.1)
Репозиторий находится тут, проект достаточно свежий (2023 год) и вполне рабочий.
Но предупреждаю сразу, что от исходного кода может случиться сердечный приступ, если любите классический C — на это лучше не смотреть.
Так оно выглядит в работе:
Кстати приложение сетевое, так что на Rust реализована не только работа с интерфейсом, но и с TCP/IP и даже HTTP протоколом.
Для операционной системы из 1994 года.
P.S.
Статья была опубликована на Хабре, более вольный оригинал как обычно в нашем блоге, форк Retro68 с поддержкой сборки на FreeBSD выложен в отдельном репозитории на Github.
Пятьдесят лет назад мир увидел первый компьютер для энтузиастов — Apple-1. На этом небольшом устройстве, созданном в гараже Стива Возняка, зародилась компания, которая сегодня оценивается в сотни миллиардов долларов и стала символом потребительских технологий. Apple-1, Apple II и Macintosh стали фундаментом для эры персональных компьютеров, открыв путь к тому, что мы знаем сегодня как Apple — бренд, объединяющий iPhone, AirPods, MacBook и Mac, а теперь даже телевизоры и потоковые сервисы.
От ноутбука за 599 долларов, доступного широкому кругу пользователей, до одного из крупнейших магазинов приложений App Store, современная Apple выглядит как технологический конгломерат. Но всё это началось с простого желания создать компьютер для энтузиастов.
Компания была основана в 1976 году Стивом Джобсом, Стивом Возняком и Рональдом Уэйном — последнего многие помнят по его краткой карьере в Apple и работе над документацией. Уже в январе 1977 года Apple Computer Inc. официально зарегистрировали в Купертино, штат Калифорния, а первая партия Apple-1 стала отправной точкой для революции в мире технологий.
Сегодня, спустя полвека, Apple остаётся компанией, которая задаёт стандарты индустрии, вдохновляет поколения инженеров и дизайнеров и продолжает превращать смелые идеи в реальные устройства, меняющие повседневную жизнь миллионов людей по всему миру.
1 апреля 2026 года исполнится ровно 50 лет со дня основания Apple. От скромной мечты двух друзей в гараже до одного из самых узнаваемых мировых брендов и компании, стоимость которой превышает три триллиона долларов и которая совершила не одну, а две компьютерные революции. Это история империи Apple.
Стив Джобс / GettyImages
Всё началось с мечты. Многие склонны ассоциировать Apple исключительно с её харизматичным основателем и генеральным директором Стивом Джобсом, но на самом деле именно мечта его друга, Стива Возняка, создать персональный компьютер побудила двух друзей из Лос-Альтоса, штат Калифорния, отправиться в путешествие, которое превратило небольшую компанию, основанную ими в 1976 году, «Apple Computers», в глобальную империю и бренд, символ которого — надкушенное яблоко — известен каждому, и который сразу ассоциируется с бескомпромиссным технологическим опытом.
Клуб домашней кулинарии
Стив Джобс и Стив Возняк познакомились, когда Джобсу было всего 16, а Возняку, который был на несколько лет старше его, — 21. Их познакомил общий друг, заметив их общий интерес к компьютерным технологиям, которые тогда находились в зачаточном состоянии. Оба были очарованы деятельностью хакеров, таких как Капитан Кранч и другие, включая трюки, позволявшие использовать свисток для выполнения операций в телефонной сети AT&T.
Возняк был очарован Altair 8800, который фактически стал первым персональным компьютером, появившимся на рынке в 1975 году. Возняк и Джобс также состояли в клубе любителей, объединявшемся вокруг этого компьютера (который мало что мог делать, но мог быть запрограммирован), также называемом «Клубом домашних компьютеров» (Homebrew Club), клубе, который позже положил начало всей индустрии персональных компьютеров и в который также входили такие люди, как Билл Гейтс и основатель Atari.
Клуб специализировался на создании самодельного оборудования, которое впоследствии стало прототипом всей индустрии персональных компьютеров (что в конечном итоге и привело к закрытию клуба, но это уже другая история). На встречах энтузиасты представляли свои разработки, иногда даже целые платы, которые они спаяли и собрали вручную, писали для них программное обеспечение и помогали друг другу в духе свободы и творчества, который несколько исчез из современной холодной технологической индустрии.
Возняк и Джобс представили там свое первое творение в 1976 году — компьютер «Apple 1». Apple 1 был компьютером, разработанным для этих энтузиастов аппаратного обеспечения, и представлял собой не что иное, как материнскую плату с памятью. Его нужно было подключать к внешнему монитору и клавиатуре, но это был полноценный функциональный компьютер.
В том же году, 1 апреля, два Стива подписали соглашение о партнерстве и основали компанию Apple Computers, чтобы продавать разработку Возняка как коммерческий продукт. Немногие знают, но у Apple был третий соучредитель, Рональд Уэйн, который уже работал в технологической индустрии и привнес с собой необходимый деловой опыт для создания молодой компании.
Именно Уэйн собственноручно нарисовал первый логотип компании (Ньютон, сидящий под яблоней), который стал знаменитым, а также ушел на пенсию и продал свою долю в компании двум другим основателям за… 800 долларов, что позже стало известно как одно из худших деловых решений в истории.
Название Apple, кстати, выбрал Джобс, который в то время был убежденным сторонником фруктовой диеты, поскольку считал ее дружелюбной и не вызывающей опасений, а также потому, что «Apple» на английском языке стояло бы перед «Atari» в телефонной книге, но мы забегаем вперед.
У молодой Apple был первоначальный инвестор, так называемый «ангел-ангел» по имени Майк Меркула, сотрудник Intel, который вместе с молодыми основателями привлекал акционерный капитал — Джобс продал свой Volkswagen, а Возняк — свой программируемый калькулятор HP, — чтобы вложить деньги в компанию.
На собрании «Клуба домашней кулинарии» в июле 1976 года был представлен компьютер «Apple 1», продававшийся за весьма символическую сумму в 666,66 долларов. Несмотря на то, что это был очень скромный компьютер, к тому времени было продано уже 200 экземпляров. Кстати, Возняк собрал все их вручную.
Стив Джобс (справа) и Стив Возняк / Официальный сайт Apple
Рождение мыши
В январе 1977 года компания Apple была официально зарегистрирована, и Меркола также вложил в неё четверть миллиона долларов. Три месяца спустя Apple представила «Apple II», первый полноценный коммерческий компьютер компании и один из первых персональных компьютеров (в отрасли до сих пор ведутся споры о том, что считается первым «персональным компьютером», но Apple, безусловно, была одной из первых).
Он уже представлял собой полный шаг вперёд по сравнению со своим предшественником: у него был литой пластиковый корпус, цветной экран, встроенная клавиатура и возможности расширения через слоты, и всё это было технологически продвинуто по сравнению с конкурентами того времени. Он продавался примерно за 1300 долларов и имел оглушительный успех: Apple продала пять или шесть миллионов экземпляров. Стоит отметить, что ещё одним фактором успеха Apple II стало программное обеспечение VisiCalc, разработанное Дэном Бриклином и Бобом Паркенстоном, которое считается первой электронной таблицей и стало «убойным» приложением, являвшимся частью конкурентного преимущества Apple.
В 1979 году Джобс посетил PARC, исследовательский центр Xerox в Пало-Альто, штат Калифорния, вместе с группой инженеров, и в одной из самых известных историй в мире технологий исследователи Xerox показали им три вещи, которые Джобс бесстыдно украл у них: идею графического интерфейса, устройство ввода, которое позже стало известно нам как «мышь», и использование иконок для выполнения действий вместо написания сложных команд в текстовом виде. Джобс понял то, чего не понимала Xerox: «Они сидят на золотой жиле», — сказал основатель Apple, и он был прав.
В 1980 году, на доходы от продажи Apple II, которые принесли компании миллионы, Apple вышла на биржу, и в первый же день ее стоимость взлетела до 1,78 миллиарда долларов, став самым успешным IPO со времен IPO Ford в 1956 году. Джобс, которому тогда было всего 25 лет, в одночасье стал миллионером. Его друг Возняк, которого внезапное богатство смутило, раздал акции давним сотрудникам Apple, которые чувствовали себя обделенными.
Новаторские идеи, которые Джобс увидел в Xerox, он скопировал в компьютер, который должен был стать преемником Apple II, но опередил своё время. В 1983 году Apple выпустила Lisa, персональный компьютер с графическим интерфейсом, который не имел успеха, главным образом из-за того, что до сих пор редко ассоциируется с Apple — невероятно высокой цены. «Lisa» продавалась за 9995 долларов, что по тем временам было огромным состоянием, и в целом страдала от проблем с производительностью, особенно учитывая, что она была в четыре раза дороже параллельного компьютера IBM, который вышел на рынок одновременно и имел успех по сравнению с провалом Lisa. Легенда гласит, что тысячи непроданных экземпляров были выброшены на свалку в штате Юта и забетонированы.
«Apple II» — первый полноценный коммерческий компьютер компании / Официальный сайт Apple
Рекламный ролик, который изменил всё.
22 января 1984 года в рекламном ролике, показанном в перерыве Суперкубка, Apple вступила в новую эру с новым продуктом. Этот ролик, ставший культовым и изучаемый в маркетинговых школах, был снят режиссером «Бегущего по лезвию» Ридли Скоттом и является полной отсылкой к знаменитому роману Джорджа Оруэлла «1984». В ролике спортсмен вбегает в зал, полный людей серого цвета, которые смотрят на большой экран, на котором проецируется изображение Верховного Вождя из романа, обращающегося к своим подданным в антиутопической диктатуре, описанной в книге, — и бросает молот, который разбивает экран, освобождая зрителей от транса, в котором они находятся.
Это был рекламный ролик нового компьютера Macintosh, который «освобождает» человечество от монополии того, что тогда было синонимом персональных компьютеров — IBM. По тем временам, создание ролика обошлось в целое состояние: 900 000 долларов на производство и еще 800 000 долларов на права на трансляцию. Совет директоров Apple был в ужасе и хотел продать ценное эфирное время, но Джобс и Возняк настояли и даже согласились оплатить половину стоимости из собственных средств. Остальное? История.
Через два дня после выхода в эфир новаторского рекламного ролика Джобс представил Macintosh публике необычным способом: компьютер представился с помощью синтезатора речи и сказал: «Привет, я Macintosh. Здорово, что я наконец-то открылся»
. Macintosh был инновационным во всех смыслах, и в отличие от Lisa, с более доступной ценой в 2500 долларов, что сделало его привлекательным для бизнеса и, что более важно, для домашних пользователей, с графическим интерфейсом, универсальным пакетом, мышью и многим другим, а также с интегрированным в него программным обеспечением и концепцией «что вы видите на экране, то и получаете на бумаге», он стал краеугольным камнем индустрии цифрового издательства. Но то, что в одночасье превратило Apple в бренд, известный в каждом доме, — это новаторская реклама, в которой даже не был показан сам компьютер.
Рекламный ролик Apple, показанный во время Суперкубка:
Реставрация в формате 4K: реклама Apple Macintosh с Суперкубка 1984 года от Ридли Скотта.
Однако продажи Macintosh не оправдали ожиданий критиков и технологического рынка. Джобс, возглавлявший команду разработчиков Macintosh, вступил в конфликт с тогдашним генеральным директором Apple Джоном Скалли, которого он сам привёл из PepsiCo, и после ссоры с ним и советом директоров Джобс был уволен из компании, которую сам же и основал в 1985 году. Возняк ушёл немного раньше него, чтобы стать учителем.
Стив Джобс с первым компьютером Macintosh, 1984 год / Официальный сайт Apple
Тёмные годы
За единственное десятилетие отсутствия Джобса в Apple компания потерпела крах и сбилась с пути, что, возможно, позже объясняет почти полную идентичность Apple и Джобса. Apple — это Джобс, а Джобс — это Apple. Под руководством Скалли, а затем Майкла Сплендера и Гила Эмилио, компания потеряла свой первенство в инновациях и оказалась втянута в серию судебных тяжб, которые подорвали её конкурентоспособность на рынке персональных компьютеров.
Apple продолжала разрабатывать Macintosh и представила новые модели, такие как Macintosh II и Mac SE, одновременно укрепляя свои позиции в издательском деле и графике, которые вскоре стали основными сегментами рынка Apple. Но Скалли также совершал ошибки — Apple продолжала продавать Apple II, который к 1993 году уже считался устаревшим из-за отсутствия обратной совместимости Macintosh, что негативно сказалось на продажах на образовательном рынке и подорвало её позицию как самой инновационной компании на рынке.
С другой стороны, рынок ПК вырос и увеличил свою долю благодаря Windows от Microsoft. Компания Apple годами боролась с Windows, утверждая, что графический интерфейс является копией её изобретения, хотя, как вы помните, Apple сама украла его у Xerox, и Xerox также подала на неё в суд за кражу. Рынок персональных компьютеров предлагал более дешевые и лучшие компьютеры, и всё меньше и меньше потребителей были готовы платить за компьютер ту высокую цену, которую требовала Apple.
Совершал ошибки: Джон Скалли во время своего пребывания на посту генерального директора Apple, 1988 год / Официальный сайт Apple
В конце 1980-х годов Apple оказалась втянута в большее количество судебных разбирательств, чем хотела: помимо судебной тяжбы с Xerox по поводу прав на изобретение графического интерфейса, в 1989 году на Apple также подали в суд по неожиданной причине… из-за её названия. Apple была привлечена к ответственности за нарушение товарного знака компанией «Apple Corps Inc.» — музыкальной компанией The Beatles — за нарушение её названия и логотипа. Эта судебная тяжба длилась годами и даже переросла в 2000-е годы, когда Apple вышла на музыкальный рынок.
Скалли также пытался конкурировать на других рынках, например, с Palm Pilot, популярным портативным компьютером 1990-х годов. Скалли подавал большие надежды на «Ньютон», портативный компьютер Apple, но он страдал от существенных технических проблем, таких как плохое распознавание рукописного ввода. Дополнительные проблемы управления возникли с Claris, подразделением программного обеспечения Apple, которое сначала отделилось от компании, а затем было поглощено ею. Всё это, конечно, требовало ресурсов и денег, и Apple оказалась в критическом положении.
«Ньютон», портативный компьютер Apple / GettyImages
Месть Джобса
В 1993 году Скулли сменил Майкл Сплендер, который возглавил переход macOS на процессоры PowerPC от Motorola, которые оставались у Apple на протяжении многих лет, и более рыночно-ориентированный подход, отказавшись от собственных файловых форматов Apple. Но растущие долги и низкие продажи оборудования привели к тому, что Сплендер ушел в отставку всего через три года, и его заменил Гил Эмилио.
А что насчет Стива Джобса, спросите вы? Джобс, по сути, процветал в те годы. За время, проведенное вне Apple, он вложил свое время и деньги в два основных направления: основал NeXT, создавшую инновационную и впечатляющую операционную систему, и приобрел графическое подразделение Lucasfilm, медиа- и игровой компании Джорджа Лукаса (создателя «Звездных войн»), и превратил его в то, что мы все сегодня знаем как успешную анимационную студию Pixar. Принципы Джобса и его исключительное понимание дизайна и эстетики, наряду с вычислительными технологиями, также помогли Битти в этих двух начинаниях.
В 1992 году он стал генеральным директором и основателем компании NeXT.
Стив Джобс высмеивает DOS в 1992 году.
В конце 1996 года Apple предприняла крайне унизительный, но необходимый шаг. После нескольких попыток вдохнуть новую жизнь в устаревшую macOS, Apple сдалась и обратилась к Джобсу с просьбой приобрести NeXT. Это приобретение не только спасло компанию от исчезновения (в 1997 году Майкл Делл, владелец Dell, отвечая на вопрос об Apple, сказал: «Я бы закрыл её и вернул деньги инвесторам…»), но и обозначило путь Джобса обратно в компанию, которую он основал. Apple, конечно, действительно нуждалась в инновациях NeXT, но с тем же успехом Apple нуждалась в Джобсе.
Под руководством Эмилио Apple начала предпринимать шаги к восстановлению: были сокращены расходы и возвращен бескомпромиссный контроль качества. Однако к этому моменту Apple уже с трудом восстанавливалась, большинство потребителей по-прежнему предпочитали покупать ПК, а не Mac, и её рыночная доля упала всего до трёх процентов. Джобс сам продал все свои акции Apple, оставив себе только одну, символическую акцию: единственную акцию, которую он получил при покупке NeXT.
В середине 1997 года совет директоров уволил Эмилио и назначил на его место неожиданного кандидата: Стива Джобса. Как основателю Apple удалось спасти компанию, которую он основал, и привести её к очередной компьютерной революции? Подробнее об этом в следующей части.
🍎 Apple Macintosh поступил в магазины США за $2495: 128 КБ RAM, Motorola 68000 на 7.83 МГц, 9" монохромный экран и мышь.
📊 За 100 дней продали 70 тысяч — GUI с иконками и окнами мгновенно захватил издательства, дизайн и образование, задав стандарт интерфейсов на десятилетия.
🤫 Секрет: В ROM Mac была зашита фотография всей команды разработчиков — 47 цифровых подписей, включая Стива Джобса и Билла Аткинсона. А на презентации Mac впервые «заговорил» синтезированным голосом: «Hello, I am Macintosh. It sure is great to get out of that bag!»
==================================== 👇👇Наш канал на других площадках👇👇 YouTube | VkVideo | Telegram ====================================