iPhone для підприємств, iPhone SDK і App Store

Любов вбиває: iPhone був занадто дорогий для Apple, і його вирішили вберегти від небезпек жорстокого світу. Домоглися прямо протилежного. Зломи, втечі з в'язниці та інша кримінальна романтика. Епідемій цифрової нечисті поки не було - але це було дивом, рано чи пізно вони не могли не статися. iPhone опинився на межі життя і смерті...

Інакше і бути не могло: тим чия професія - створювати світи і життя в цих світах (це я про програмістів) показали шалено привабливий артефакт: кишеньковий повноцінний комп'ютер з неймовірним інтерфейсом, але тут же замкнули його на ключ, і запропонували...


Писати web-додатки, тому що Mobile Safari - це той же Safari, що і в Mac OS X, і в Windows (що було ще й не зовсім правдою). Тому ніякий SDK не потрібен. Проблем з поширенням - ніяких. Оновлення - в будь-який момент, і вони моментальні.

Нічого не маю проти web-додатків, але якщо для хвилююче цікавого пристрою дозволено писати тільки їх - що може зупинити бажаючих вирватися за межі цих обмежень?

MacWorld (журнал) повідомляв про невдоволення розробників з цього приводу. Це гірше ніж неправда - це помилка. Те що сталося інакше ніж бунтом не назвеш.

Apple володіла всіма правами на iPhone, вона його вистраждала, вклала в нього душу. iPhone коштував інженерам, дизайнерам і маркетологам зруйнованих сімей, діти позбавлені уваги батьків страждали і зв'язувалися з поганими ровесниками, здоров'ю аврал довжиною в два з половиною роки не міг не завдати шкоди... Але вирвавшись на волю, і потрапивши в руки мільйонів людей, iPhone став вже їх надбанням, гордістю, тим що люблять.

Заборони (з найкращих спонукань) ніколи не вирішують проблем. Вони створюють нові, більш небезпечні і безсторонні. Творці світів і життя в цих світах не без зусиль, але в приголомшливо короткі терміни, обійшли заборони, і...

Це третя частина серії про iPhone і йому подібних, попередні частини тут:


Перша частина: MacWorld Expo 2007;
Друга частина: Touch-інтерфейс приходить на iPod.

Первісні джунглі

Через кілька місяців навколо iPhone зросла ціла індустрія.

SoC (System-on-Chip) Samsung S5L8900 (а не Samsung S3C6400, як передбачалося), на ядрі ARM1176JZ (F) -S v1.0 (штатна тактова частота - 620 МГц, в iPhone знижена до 412 МГц), був добре відомий. Для «програмування навпаки» (мені не подобається жоден зі стандартних перекладів терміну «reverse engineering», готовий понести...) не було ніяких перешкод.

Не було навіть необхідності копатися в машинних кодах - існуючі програми переводили їх в легко читані інструкції асемблера. Зрозуміти асемблер - пекельну працю, але якщо дуже потрібно, немає нічого неможливого.

Крім ARM1176JZ (F) -S, в крихітній кишеньковій комп'ютері було ще п'ять або шість ядер різного призначення - і, що кумедно, всі з них, які вдалося впізнати, були розроблені у Великобританії. Як, до речі, і сам ARM1176JZ (F) -S.

Програма «Hello World», з докладним описом і поясненням всіх кроків, необхідних для її повторення, з'явилася в мережі наприкінці липня 2007 року, через місяць після виходу iPhone. Ця сторінка стала однією з найбільш відвідуваних у мережі. Сотні тисяч спраглих прорвати блокаду! Програма була написана не на Mac'e.

Незабаром в мережі з'явилися сотні (якщо не тисячі) публікацій на цю тему, описи iPhone OS і «ланцюжків інструментів» (toolchain) для написання програм для його системи. Найпростіше цей ланцюжок було відтворити в Windows. «Ланцюжків» були дюжини, їх описи були неосяжними, в них було багато недомовленостей і помилок, але...


Існували «ланцюжки» і для різних Unix'ів (включаючи Mac OS X), але головною платформою для розробки програмного забезпечення, з величезним відривом, стали Windows PC. Навряд чи це радувало Apple.

До кінця літа з'явилися сотні програм, автори яких не визнавали жодних заборон, різного призначення. Деякі з програм спалювали нутрощі iPhone - ті хто програмував для нього в Apple дотримувалися дуже суворих правил, про які вільні творці навіть не здогадувалися. iPhone був абсолютно беззахисний.

Сталося саме те, від чого iPhone хотіли вберегти, тільки вже в катастрофічних масштабах.

17 жовтня 2007 року Apple опублікувала лист Джобса, в якому він пояснив мотиви прийняття помилкового рішення - і пообіцяв виправитися. SDK буде відкрито, в лютому наступного року...

Пам'ятайте фільм «Widow Maker» («Робитель вдів») - Apple справлялася з цим ефективніше ніж будь-який атомний підводний човен, на порядок. І знову був аврал.


6 березня 2008 року, четвер, «яблучна» ратуша в кампусі Apple, SDK

О 10 ранку за тихоокеанським часом, в ратуші (Town Hall) Apple, відбулася прес-конференція, яку Стів назвав Apple Special Event, але офіційне вона називалася iPhone Software Roadmap Event (з'єднуйте «дорожню карту програмного забезпечення для iPhone» і «подія» як хочете, суть я переклав).

Ось відео (тривалість - 01:17:53):

 

Аж до 00:17:17 обговорювалися теми, що не мають відношення до SDK.

Стів розповів про успіхи iPhone: друге місце на американському ринку смартфонів, перше займала RIM з 41%, у Apple - 28%, і досягнуто це всього за 8 місяців. 71% відвідувань Інтернет з мобільних пристроїв - з Mobile Safari, тобто у iPhone.


Потім були хвилин 10 Філа Шиллера: інтеграція в iPhone Active Link і MS Exchange, і все про iPhone для підприємств. Вражало, але це не наша тема.

А на початку 17-ї хвилини Філа змінив Скотт Форстолл, і почалося головне. Почав він з web-додатків, деякі з яких і справді були шедеврами.

А потім... з 00:19:49 до 01:02:28 Скотт описував iPhone SDK як місце для захоплюючих і легких перемог. Про те що це легко і просто, говорив сам Скотт, а запрошені випробувати iPhone SDK «на смак» програмісти з декількох компаній повторювали це як заклинання (інакше, мабуть, їх не випустили б з кампусу)...

Про те, як втискували Mac OS X в пристрій з 128 Мегабайтами оперативної пам'яті і з тактовою частотою в 412 МГц, та ще в умовах жорстокого дефіциту енергії, напишу в інший раз. Це окрема тема.

З того, що Скотт розповів про SDK (і iPhone OS, яка ще так не називалася, хоч і була версією 2.0), багато чого ще не було. Interface Builder у розробці для iPhone в Apple не застосовувався. Переробка IB вимагала багато часу, вирішили обійтися без нього.


Interface Builder для iPhone OS з'явився, в передостанній бета-версії SDK (якщо мені не змінює пам'ять). Його інтеграція з iPhone була... жахливою. Але, за допомогою спеціальної лексики і музичних інструментів народів Півночі, ним можна було користуватися...

Дефекти народження дорого обійшлися IB - багато хто вважав за краще їм не користуватися, так як не хотіли витрачати час на вивчення його причуд, вважали його сковуючим політ їх фантазії і обмежує їх свободу. Особливо ті, хто починав писати програми для iPhone ще в епоху «вільних стрільців». Забобони, але...

І з інтеграцією Instruments було не все гаразд. І сам SDK вимагав маси доробок, виправлень і уточнень...

Втім, до Скотта ніяких претензій: не розповідати ж всім про труднощі, які чекають тих хто зважиться програмувати для iPhone. Це було б контрпродуктивно.

Звантажити SDK і спробувати його в справі (в симуляторі)... круто - але мені для цього довелося терміново купувати Intel Mac. Моєму PowerPC розробка для iPhone була недоступна.

А потім, починаючи з 01:02:28 у ролику, Стів презентував найважливіше і доленосне...

App Store

На кожному пристрої (iPhone і iPod touch) буде програма, в якій ваш додаток буде доступний на кожному пристрої.

Купити програму можна буде і в iTunes Store, на Mac або PC (якщо розмір програми перевищував якусь межу, в 10 або 20 Мегабайт, купити її можна було тільки через iTunes).

Всі турботи, пов'язані з оплатою придбаних користувачами програм, бере на себе Apple (якщо ви пробували вирішувати ці проблеми самі, ви зрозумієте мою радість з цього приводу).

Автор сам вирішує, за скільки буде продаватися його продукт (від 0,99 до 999,99 доларів, з кроком в 1 долар - це я від себе).

Автору 70% (виплата раз на місяць, якщо сума перевищує якийсь мінімум), Apple - 30%, на обслуговування App Store. Компанія не збирається заробляти на App Store.

У всіх випадках, з якими я стикався до цього, мені - автору - належало тільки 30 або 40% від виручки, так що - «в плюс».

Безкоштовні програми Apple обслуговуватиме безкоштовно. Теж «в плюс».

Ну і кілька обставин «в мінус»: важливо щоб iPhone залишався безпечним і надійним. Пристойним, законослухняним, таким, що відповідає естетичним уявленням Apple... - останнє я додаю від себе.

Для цього... для розміщення на полицях App Store, кожна програма повинна буде пройти ретельну перевірку. Відправити програму на перевірку зможе тільки учасник iPhone Developer Program, членство в цій програмі платне (99 доларів на рік).

Перевірка для розробників - безкоштовна, число спроб не обмежене, час перевірки від доби до двох тижнів, зазвичай дня 2 або 3.

У цю програму, тимчасово, набір обмежений. Приймаються тільки резиденти США (ні, не шпигуни високого рангу - громадяни США та особи, які постійно там проживають), і число місць обмежене. Програма працює в режимі тестування та зневадження, вибачте за...

І найголовніше: App Store - єдиний спосіб розповсюдження програм для iPhone.

Щось підказувало, що все буде непросто, але реальність перевершила очікування...

Продовження слід

Обговорити історію Apple ви можете в нашому Telegram-чаті.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND