Шрифт:
Интервал:
Закладка:
К лету 2001 года Apple встала на ноги, ее поддерживали на плаву конкурентоспособность Mac OS X, успех iMac и (тайные) надежды на iPod, который был выпущен четыре месяца спустя.
Стив и Скотт были очень заинтересованы в том, чтобы продолжать это движение вперед. Они считали, что интернет будет важной частью будущего компьютерной техники, передачи информации и торговли, и хотели, чтобы Apple сама управляла своей судьбой в мире быстро растущих и развивающихся высоких технологий. Им нужна была свобода действий, чтобы улучшать программное обеспечение компании для работы в интернете, а первым шагом на пути к этой цели было создание собственного браузера. Они готовили замену Microsoft Internet Explorer.
В тот день, когда нас с Доном взяли в Apple, нашей работой стала подготовка этой замены. Перед нами стояли две взаимосвязанные задачи. Во-первых, сделать приложение браузера. Во-вторых, создать пакет инструментов для разработки веб-приложений, с помощью которого сторонние разработчики ПО для Apple могли бы легко включать в свой софт различные функции: от загрузки текстов и изображений до отображения целых веб-страниц. Обо всем этом легче рассказать, чем сделать, хотя людям, зависающим в интернете, браузеры кажутся чем-то простым.
С точки зрения программиста, веб-браузеры чертовски сложны. Поскольку ранее я с ними никогда не работал, Дон устроил для меня небольшой курс молодого бойца, чтобы я мог поддерживать заданную скорость.
Когда мы в семь часов утра встречались в кафе в кампусе, чтобы выпить кофе, мы «пробегались» по основным подсистемам веб-браузера: контент (текст и графика), стили (шрифты, цвета и положение) и скрипты (динамическое поведение, например проверка формы до того, как вы запустите ее). Дон рассказывал о длинном списке аббревиатур существующих стандартов, описывающих соответствующие технические элементы: гипертекстовый высокоуровневый язык разметки (Hypertext Markup Language, HTML), каскадные таблицы стилей (Cascading Style Sheets, CSS) и язык программирования JavaScript. Также он рассказывал, как эти отдельные части программного обеспечения сочетаются друг с другом, чтобы получались сложные веб-страницы.
Пока я слушал и учился, мне начинало казаться, что создание браузера — это задание, которое не по зубам двум людям, особенно после того, как Дон упомянул большие команды, которые работали в Netscape. Без сомнения, то же самое было и в Microsoft. А мы были командой из двух человек. Как мы могли с ними тягаться?
Дон велел мне не беспокоиться. У него наготове был один трюк. Мы не станем начинать с чистого листа, как это приходилось делать таким первопроходцам, как Netscape. Благодаря движению за свободное программное обеспечение и войне браузеров Netscape опубликовала исходный код для Mozilla. Это означало, что мы с Доном можем воспользоваться открытыми исходниками. Мы можем загрузить и оценить ПО на любом уровне, на каком только пожелаем, и лицензия Mozilla означала, что мы сможем взять этот код для нашего проекта.
Также в интернете были доступны и еще несколько браузеров с открытым кодом, и мы включили исследование этих проектов в список того, что предстояло сделать. Кроме того, имелось и несколько коммерческих вариантов. Но, несмотря на эти планы предварительного исследования, Mozilla на тот момент была нашим главным кандидатом, в основном потому, что Дону уже приходилось работать с этим кодом. Он был полностью уверен в том, что мы сможем использовать по максимуму работу, проделанную большими командами Netscape. Тем не менее, чем больше мы говорили, тем яснее я понимал, что у Дона с Mozilla сложились противоречивые отношения. Положительной стороной было то, что Mozilla представлял собой огромный вклад в веб-технологии, поэтому мы могли использовать код, чтобы Apple не пришлось заново изобретать колесо. Но обратной стороной медали оказалось то, что с исходниками было трудно работать, потому что база данных была огромной, во много раз больше, чем то, с чем нам с Доном приходилось иметь дело в Eazel. Принимая во внимание вводные технические лекции Дона, я понял, что создание веб-браузера — это огромный программистский проект, и мне нужно понимать весь этот новый код.
В самом деле, когда я скачал Mozilla из интернета, моим первым впечатлением от исходного кода были его размеры — около полутора миллионов строк. Я никогда раньше не участвовал в проекте, который составлял хотя бы четверть от этого количества. Если код Mozilla распечатать по тридцать строк на страницу, он составил бы пятьдесят тысяч страниц. Только представьте, что вам предстоит прочитать такую пачку книг, а затем сдать экзамен, где могут спросить про любую произвольно выбранную строку.
В любом случае работу нужно было делать, и я решил, что лучше начну с изучения. Я собрался взглянуть на программное обеспечение поближе, но немедленно налетел на препятствие. Mozilla не «билдилась» на Mac OS X. Это означает, что, хотя у меня был весь программный исходный код для этого браузера, при попытках превратить его в приложение, которое работало бы на операционной системе Apple трехмесячной давности, ничего не получалось. Очевидно, никто, знакомый с Mozilla, никогда не пытался этого сделать. Ничтожная доля Mac на рынке работала против нас. В поисках решения я прошерстил интернет, но ничего полезного не нашел. Поскольку наш проект был секретным, я не мог разместить свои вопросы на онлайн-форумах, как это часто делают программисты, и даже не мог спросить кого-нибудь из коллег в Apple. После нескольких дней безуспешных попыток сделать сборку я признал, что зашел в тупик.
Я сообщил об отсутствии успехов Дону, занятому секретными переговорами с поставщиками исходников, которые могли бы дать разрешение использовать свой код браузера для Apple. Дон по-прежнему считал, что Mozzilla с открытым кодом — это то, что нам нужно. Кроме того, он был уверен, что нашему начальству больше понравится вариант с бесплатным софтом, чем с платным, да еще и за кругленькую сумму.
Тем временем руководство Apple с нетерпением ждало от нас вестей — рекомендаций, признаков прогресса, хоть чего-то, что показывало бы: мы двигаемся вперед. Позднее я узнал, что Скотт начинал в нас сомневаться. Хорошо, что тогда я об этом и не подозревал, потому что через месяц топтаний я уже и
- Журнал PC Magazine/RE №02/2010 - PC Magazine/RE - Прочая околокомпьтерная литература
- Цифровой журнал «Компьютерра» № 159 (full) - Коллектив Авторов - Прочая околокомпьтерная литература
- Журнал PC Magazine/RE №11/2008 - PC Magazine/RE - Прочая околокомпьтерная литература
- Wiki-правительство: Как технологии могут сделать власть лучше, демократию – сильнее, а граждан – влиятельнее - Бет Новек - Интернет
- Цифровой журнал «Компьютерра» № 185 - Коллектив Авторов - Прочая околокомпьтерная литература
- Каждому проекту своя методология - Алистэр Коуберн - Программирование
- Информационные технологии: история и современность - Горунович Михаил Владимирович - Прочая околокомпьтерная литература
- Журнал PC Magazine/RE №10/2009 - PC Magazine/RE - Прочая околокомпьтерная литература
- Цифровой журнал «Компьютерра» № 178 - Коллектив Авторов - Прочая околокомпьтерная литература
- Шифровальщики. Как реагировать на атаки с использованием программ-вымогателей - Олег Скулкин - Прочая околокомпьтерная литература