Эта статья ― лишь небольшая часть того, что Артем Полуэктов рассказал в интервью для нашего проекта GeekSpeak, доступного только студентам платных программ GeekBrains.
Артем Полуэктов ― руководитель мобильной разработки в банке ВТБ.
iPhone запустили на архаичном языке
iPhone представили в 2007-м. Начали продавать его в середине 2007-го, но сразу магазин приложений не открыли. В Apple предложили веб адаптировать под маленький экран. Приложения приехали через год. Была презентация, где прямо они говорили ― у нас marketplace.
До этого у Apple была разработка, они предлагали разработчикам делать для macOS программу на языке Objective-C. Это язык с тяжелой судьбой, он старый, это наследник C, даже не C++. Это C, немного адаптированный к Unix.
Это система достаточно архаичная, как у Билла Гейтса MS-DOS ― система, у которой нет графического интерфейса. Управление этой системой выполняется набором команд. Очень быстро можно все сделать, если ты знаешь эти команды. Очень быстро, очень удобно. Админ заходит в консоль, например, в той же Windows или macOS, и может открыть консоль и быстро выполнять какие-то команды,
Внутри древний Assembler
Unix ― это черный экран с командной строкой, он написан на C, внутри еще Assembler живет, который с железом работает. Это был язык, на котором была написана эта операционная система. В macOS, они сделали надстройку и сказали, что это Objective-C, это мы что-то накрутили.
Они взяли язык программирования C, добавили туда свой синтаксис, потому что в C были многие фундаментальные вопросы не решены. Они попытались из C сделать что-то похоже на современный язык объектоориентированный.
C ― это процедурный язык. Там нет классов и наследования всего остального, то есть объектноориентированный язык программирования появляется в C++. А в C этого нет, он процедурный.
В Apple попытались сделать что-то похоже на C++, только свое, но у них как-то это получилось. Но macOS это супермаленький рынок был по сравнению с текущим рынком, это просто какие-то доли процента. И когда появился iPhone, это нереально стрельнуло, и сейчас половина населения мира ― с iPhone.
Никаких новых языков, никаких новых программ, новых технологий никто изобретать не стал. У Apple есть Mac, на Mac есть софт для разработки. Соответственно, есть свой язык, есть свои наборы фреймворков, и все это было по большей части просто перенесено. И из нового, что появилось, только UIKit, framework, который отвечает за мобильный пользовательский интерфейс.
Все остальное было портировано из macOS в прежнем виде. И вот далее с этой студией стали делать мобильные приложения.
Проблема Apple
Проблема Apple была в чем? Этот UIKit разрабатывался еще до появления iPhone. Потому что все базовые системы предложения тоже на чем-то были написаны. И в том числе, разработка велась совместно с Google. Например, Google Maps. Изначально, когда запускали iPhone, карты Google сразу адаптировали. Гугловские карты были первые 6 или 7 лет.
В Google узнали, что Apple делает смартфон. Раньше ничего такого не было. Смартфон, где у тебя вся передняя часть ― это экран. Это было что-то новое, революционное. В Google об этом узнали. И сделали Android спустя год или два.
Apple решили, что Google у них все украли. На самом деле сложно сказать все или не все. Идею подсмотрели. В случае с патентами это все очень сложно и дискуссионно.
Куда дальше Apple пошли? Apple пошли к полному отказу от сервисов Google. И Apple потребовалось 5 лет, чтобы свои Apple Maps запустить. Это огромный и сложный продукт.
Полная версия интервью доступна только студентам GeekBrains
Это лишь небольшая часть того, что Артем Полуэктов рассказал в интервью для нашего проекта GeekSpeak. В рамках этого проекта мы общаемся с известными учеными, разработчиками и бизнесменами, которые делятся своими знаниями и опытом, а также подробно рассказывают о таких темах, для понимания которых нужно прочитать десятки научных книг и статей, написать сотни тысяч строчек кода или основать несколько стартапов.
К каждому интервью прилагаются полезные материалы, которые спикеры советуют для саморазвития: книги, фильмы, лекции, презентации, подкасты и многое другое.
Посмотреть расширенное интервью и получить подборку материалов могут только студенты платных программ GeekBrains. Хотите стать одним из них? Выберите свою программу обучения здесь.
Комментарии