/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F74%2F27bc3605af3145333da8e74c88a5a311.jpg)
Safari или чем заменить Microsoft Explorer
В 2001 году для подавляющего большинства обитателей планеты Земля Internet и Internet Explorer были чуть ли не одним и тем же.
Попытки противопоставить этой монополии что-то своё предсказуемо заканчивались ничем.
Бессмысленно даже пытаться.
![]()
В июне 2001 года, в обстановке абсолютной секретности, в Apple приступили к разработке собственного веб-браузера.
Организовать и осуществить эту авантюру (узнай журналисты об этом проекте, “авантюра” была бы самым мягким определением задуманного) поручили Скотту Форстоллу.
Команда проекта, бросающая вызов огромному монополисту, состояла из двух человек.
В апреле компания Eazel закончила разработку Nautilus 1.0, оболочки превращавшей Linux в операционную для обычных пользователей, конкурента для Windows и Mac OS X, к тому же бесплатного – и в тот же самый день сократила две трети своего штата.
Apple приняла на работу лучших из попавших под это сокращение.
Дон Мелтон, ставший техническим менеджером авантюрного проекта, в Eazel возглавлял разработку проекта Nautilus, Кен Коценда – пока еще единственный инженер в команде – был одним из программистов в этом проекте.
Из них только Дон Мелтон имел некоторый опыт разработки браузеров (превращение Netscape в проект с открытым исходным кодом Mozilla – он вычищал код от нецензурных комментариев).
Здравый смысл подсказывает: ничего хорошего у них получиться не могло….
Это продолжение серии про Safari, предыдущие части: Первая часть: Safari 7 и Скотт Форстолл.
Ничего хорошего не получается! О том, что им предстоит работать вместе, и их первым заданием в Apple станет написание браузера, лучшего чем Microsoft Internet Explorer, Дон и Кен узнали подписав соглашения о неразглашении и ознакомившись с правилами внутреннего распорядка (никому ни о чем не рассказывать, кодовое наименование проекта за пределами рабочей комнаты и офиса их руководителя не произносить и тому подобными ущемлениями свобод).
Неведомое, конечно же, интригует и возбуждает любопытство, но вот вы бы подписались на выполнение явно чего-то очень нетривиального и страшно секретного, не имея никакого представления о том чем вам придется заниматься?.
Во времена Стива Джобса это было обычной практикой в Apple.
Почти все кто создавал в этой компании настоящие чудеса, прошел через это.
Нормальные на таких условиях работать не соглашались.
Но мы отвлеклись.
Справиться с непосильной задачи требовалось за год или полтора.
Все было не так плохо – вакансий в проекте было немало, просто сумасшедших с подходящей квалификацией найти было очень непросто.
А ветераны разработки других браузеров, как правило, первым делом сообщали интервьюерам что они готовы заниматься чем угодно, только не браузерами – безнадежно, надоело, устали.
Кен никогда не участвовал в разработке браузеров, поэтому Дону пришлось потратить два дня на ликбез.
Объяснить что такое HTML, CSS, Java.
Script и прочий алфавитный суп.
Поскольку написать полноценный (а от них требовался не просто полноценный, но лучший в мире) браузер с нуля за год или два абсолютно невозможно, Дон и Кен занялись поиском подходящего браузера с открытым исходным кодом и щадящей лицензией, который стал бы основой для их разработки.
И, что было естественно, первым кандидатом на такую основу стал Mozilla.
Вообще-то они составили список потенциальных “доноров”, на шестой позиции которого был мало кому известный Konqueror.
Но начали с первой позиции.
![]()
Исходный код Mozilla был огромен: почти полтора миллиона строк.
На то чтобы просто построить Mozilla в Mac OS X ушла неделя.
Иконка браузера появилась в доке – и тут же исчезла.
Еще через неделю впервые удалось дойти до открытия пустого окна.
Но открыть веб-страницу не удавалось.
Недели напряженной работы (без выходных, с раннего утра до поздней ночи) не привели ни к каким обнадеживающим результатам.
Руководство (Скотт Форстолл) уже проявляло нетерпение, и сомнения в их способности сделать что-то полезное.
За шесть недель с начала разработки так и не удалось открыть даже самую простенькую веб-страницу, это был провал.
Ричард Вильямсон Вскоре Дон Мелтон интервьюировал нового кандидата (предыдущие были отклонены или отказались сами), говорившего с британским акцентом, и был настолько самоуверен, что у Дона возникли сомнения.
Хотя на все технические вопросы кандидат отвечал грамотно и, судя по всему, требуемой квалификацией обладал.
Тем не менее, Дон Мелтон был готов отказать кандидату, но тут в дело вмешался Бертран Серле, старший вице-президент компании по программному обеспечению, поддержавший кандидата.
В начале 90-х Ричард работал под его руководством в NeXT, и проявил себя хорошо.
Его приняли.
Ричард начал свой первый день с вопросов о том, что и как было сделано до него, и в чем собственно есть проблемы.
Его самоуверенность раздражала, но вопросы были уместны.
Никак не комментируя ответы коллег, Ричард продолжал задавать вопросы, а потом взял таймаут на “подумать”.
Через два дня он пригласил Дона и Кена, пообещав им показать что-то интересное.
На Mac’е Ричарда браузер с неизвестной иконкой лихо запустился, без проблем открыл запрошенную веб-страницу, затем другую, успешно перешел по ссылке на этой странице, вернулся назад – все работало.
То, на что ушло шесть недель, достигнуто за два дня? Правда, текст в браузере отображался кривовато, шрифты были ужасными, поддержка стилей и размеров шрифтов отсутствовала в принципе – но это было неважно.
Гений? Ричард не просто так задавал вопросы.
Он взглянул на происходящее свежим взглядом, и пришел к неожиданным выводам, которые не стал сообщать, решив сначала попробовать, и за двое суток реализовал свои идеи.
Вместо Mozilla он выбрал Konqueror.
По набору функций этот браузер ни в чем не уступал Mozilla, но по размеру исходного кода был намного меньше.
У Konqueror’а, как и у Mozilla, не было версии для Mac OS X, но Ричард не стал с места в карьер адаптировать хоть и меньший по размеру, но все-таки огромный, исходный код в Mac OS X.
Вместо этого он написал “перемычку” (shim) между Mac OS X и всей системой KDE.
Это очень непросто, но если не обращать внимание на неактуальные подробности это вовсе не невозможно.
То есть, все-таки гений.
Теперь было что ответить Скотту на его ежедневный и все более ехидный вопрос.
Новость дошла до самого Стива Джобса.
Фронт работ и сроки По-хорошему, работа над собственным браузером только должна была начаться.
А чтобы уложиться в сжатые сроки, код “основы” подвергли внимательному изучению.
Рядом с Mac’ами установили несколько LInux-машин с установленным на них Konqueror’ом, чтобы иметь возможность изучать работу исходных механизмов в динамике.
Исходный код, по сравнению с Mozilla, выглядел простым и компактным – в директории верхнего уровня были только две поддиректории, KHTML и KJS.
Всего триста с небольшим файлов.
Посчитали число строк в коде (при таком подсчете игнорируются пустые строки и строки с комментариями), получилось 120 тысяч строк.
В 2003 году Стив назвал другое число строк – 140 тысяч, кто из них был более прав я не знаю.
В любом случае это в десять с лишним раз меньше чем в Mozilla.
На подходе были новые сумасшедшие (согласившиеся взяться за проект о сути которого они ничего не знали, но по мнению его руководителей способных принести ему пользу), и первый этап (настоящий перенос Konqueror’а в Mac OS X) было решено завершить за 4 месяца.
А весь проект должен был занять 18 месяцев, включая уже потраченные два.
