iOS SDK (iOS Software Development Kit), раніше iPhone SDK — набір засобів розробки (SDK), розроблений Apple Inc. Набір дозволяє розробляти мобільні програми для операційних систем Apple iOS і iPadOS.

iOS SDK
(iOS Software Development Kit)
Xcode 7.1.1 в iOS SDK 9.1
ТипSDK
РозробникApple Inc.
Перший випуск6 березня 2008; 16 років тому (2008-03-06)
ПлатформаiOS, iPadOS
Операційна системаmacOS
Мова програмуванняObjective C
Доступні мовианглійська
ВебсайтApple Developer

iOS SDK можна безкоштовно завантажити для користувачів персональних комп'ютерів Macintosh (або Mac). Він недоступний для ПК з Microsoft Windows. SDK містить набори, які надають розробникам доступ до різноманітних функцій і послуг пристроїв iOS, таких як апаратні та програмні атрибути. Він також містить симулятор iPhone для імітації зовнішнього вигляду пристрою на комп'ютері під час розробки. Нові версії SDK супроводжують нові версії iOS. Щоб тестувати програми, отримувати технічну підтримку та розповсюджувати програми через App Store, розробники повинні підписатися на програму Apple Developer Program.

У поєднанні з Xcode iOS SDK допомагає розробникам писати програми для iOS за допомогою офіційно підтримуваних мов програмування, включаючи Swift і Objective-C. Інші компанії також створили інструменти, які дозволяють розробляти нативні програми для iOS за допомогою відповідних мов програмування.

Історія

ред.

Спочатку розробляючи iPhone до його презентації в 2007 році, тодішній головний виконавчий директор Apple Стів Джобс не мав наміру дозволяти стороннім розробникам створювати нативні програми для операційної системи iOS, натомість скеровуючи їх створювати вебзастосунки для веббраузера Safari.[1] Проте негативна реакція розробників спонукала компанію переглянути це рішення,[1] і Джобс оголосив 17 жовтня 2007 року, що Apple матиме комплект розробки програмного забезпечення (SDK), який стане доступний для розробників до лютого 2008 року.[2][3] SDK було випущено 6 березня 2008 року.[4][5]

Функції

ред.

iOS SDK можна безкоштовно завантажити для користувачів Mac.[6] Він недоступний для персональних комп'ютерів Microsoft Windows.[6] Для тестування програми, отримання технічної підтримки та розповсюдження програм через App Store розробники повинні підписатися на програму Apple Developer Program.[6]

Вміст SDK розділено на такі набори:[7]

SDK також містить симулятор iPhone, програму, яка використовується для імітації зовнішнього вигляду iPhone на комп'ютері розробника.[7]

Нові версії SDK супроводжують нові версії iOS.[8][9]

Мови програмування

ред.

iOS SDK у поєднанні з Xcode допомагає розробникам писати програми для iOS за допомогою офіційно підтримуваних мов програмування, включаючи Swift і Objective-C.[10]

Файл .ipa (iOS App Store Package) — це файл архіву програми iOS, у якому зберігається програма iOS.

У 2008 році Sun Microsystems оголосила про плани випустити віртуальну машину Java (JVM) для iOS на базі Java Platform, Micro Edition. Це дозволило б запускати програми Java на iPhone та iPod Touch.[11] Незабаром після оголошення розробники, ознайомлені з умовами угоди SDK, вважали, що забороняючи стороннім програмам працювати у фоновому режимі (наприклад, відповідаючи на телефонний дзвінок і все одно запускаючи програму)[12], і не дозволяючи програмі завантажувати код з іншого джерела, а також не дозволяючи додатку взаємодіяти з додатком стороннього виробника, зусилля Sun щодо розробки можуть марними без співпраці Apple.[13] Sun також співпрацювала зі сторонньою компанією під назвою Innaworks у спробах впровадити Java на iPhone.[14] Незважаючи на очевидну відсутність інтересу з боку Apple, витік мікропрограми випуску iPhone 2007 року виявив чип ARM із процесором із підтримкою Jazelle для вбудованого виконання Java.[15]

У вересні 2009 року Novell оголосила про успішну розробку MonoTouch, програмного середовища, яке дозволяє розробникам писати нативні програми для iPhone на мовах програмування C# і .NET, зберігаючи при цьому сумісність із вимогами Apple.[16]

iOS не підтримує Adobe Flash,[17] і хоча Adobe має дві версії свого програмного забезпечення (Flash і Flash Lite), Apple не вважає жодну з них придатною для iPhone, стверджуючи, що повноцінний Flash «занадто повільний, щоб бути корисним», а Flash Lite — «не можна використовувати з Інтернетом».[18][19]

У жовтні 2009 року компанія Adobe оголосила, що в майбутньому оновленні Creative Suite буде міститися компонент, який дозволить розробникам створювати нативні програми для iPhone за допомогою інструментів розробки Flash.[20] Програмне забезпечення було офіційно випущено як частину колекції професійних програм Creative Suite 5.[21]

Політика щодо засобів розвитку 2010 року

ред.

У квітні 2010 року Apple внесла суперечливі зміни[en] до своєї угоди розробника iPhone (англ. iPhone Developer Agreement), вимагаючи від розробників використовувати лише «схвалені» мови програмування для публікації програм в App Store і забороняючи програми, які використовують інструменти розробки сторонніх розробників.[22][23][24] Після негативної реакції розробників[25] і новин про можливе антимонопольне розслідування,[26][27] Apple знову переглянула свою угоду у вересні, дозволивши використовувати інструменти розробки сторонніх розробників.[25][28]

Mac Catalyst

ред.

Mac Catalyst, який спочатку називався «Project Marzipan»[29], допомагає розробникам перенести програми iPadOS у macOS і полегшити перенесення програм, розроблених для пристроїв iPadOS, на комп'ютери Mac, уникаючи подвійного написання програмного коду, що лежить в основі цього.

Див. також

ред.

Примітки

ред.
  1. а б Jobs' original vision for the iPhone: no third-party native apps. 9to5Mac.com (англ.). 9to5Mac. 21 жовтня 2011. Процитовано 11 червня 2017.
  2. Джефф Дункан (17 жовтня 2007). Apple confirms iPhone SDK coming next year. www.DigitalTrends.com (англ.). Digital Trends[en]. Процитовано 11 червня 2017.
  3. Steve Jobs confirms native iPhone SDK by February. AppleInsider.com (англ.). AppleInsider[en]. 17 жовтня 2007. Процитовано 11 червня 2017.
  4. Джим Далрімпл (6 березня 2008). Apple unveils iPhone SDK. www.MacWorld.com (англ.). International Data Group[en]. Процитовано 11 червня 2017.
  5. Раян Блок (6 березня 2008). Live from Apple's iPhone SDK press conference. www.Engadget.com (англ.). Engadget — AOL. Процитовано 11 червня 2017.
  6. а б в Дженніфер Гевін (6 березня 2008). FAQ: what does the iPhone SDK mean?. www.CNET.com (англ.). CBS Interactive. Процитовано 11 червня 2017.
  7. а б Арнольд Кім (6 березня 2008). Apple releases iPhone SDK, demos spore, instant messaging. www.MacRumors.com (англ.). MacRumors. Процитовано 11 червня 2017.
  8. Бенджамін Мейо (11 вересня 2015). Apple now allowing developers to submit iOS 9, OS X El Capitan and native Watch apps to the App Store. 9to5Mac.com (англ.). 9to5Mac. Процитовано 11 червня 2017.
  9. Стівен Санде (10 червня 2013). New iOS SDK features for developers. www.Engadget.com (англ.). Engadget — AOL. Процитовано 11 червня 2017.
  10. Адам Синицький (9 червня 2016). Developing for Android vs developing for iOS – in 5 rounds. www.AndroidAuthority.com (англ.). Android Authority. Процитовано 19 червня 2017.
  11. Пол Крілл (7 березня 2008). Sun: we'll put Java on the iPhone. www.InfoWorld.com (англ.). InfoWorld[en] — International Data Group[en]. Процитовано 19 червня 2017.
  12. Том Кразіт (12 березня 2008). The iPhone SDK: the day after. www.CNET.com (англ.). CNETCBS Interactive. Процитовано 19 червня 2017.
  13. Пол Крілл (14 березня 2008). Sun's plan for Java on iPhone could hit roadblock. www.InfoWorld.com (англ.). InfoWorld[en] — International Data Group[en]. Процитовано 19 червня 2017.
  14. Apple, Sun talks gives hope for Java on iPhone. www.IBTimes.com (англ.). International Business TimesIBT Media[en]. 28 квітня 2008. Процитовано 19 червня 2017.
  15. Раян Блок (1 липня 2007). iPhone processor found: 620MHz ARM CPU. www.Engadget.com (англ.). Engadget — AOL. Процитовано 19 червня 2017.
  16. Раян Пол (15 вересня 2009). MonoTouch drops .NET into Apple’s walled app garden. ArsTechnica.com (англ.). Ars Technica — Condé Nast. Процитовано 19 червня 2017.
  17. Ерік Сливка (29 квітня 2010). Steve Jobs posts 'Thoughts on Flash' open letter. www.MacRumors.com (англ.). MacRumors. Процитовано 20 червня 2017.
  18. Чарльз Купер (5 березня 2008). Adobe bites its tongue after iPhone Flash jab. www.CNET.com (англ.). CNETCBS Interactive. Процитовано 20 червня 2017.
  19. Том Кразіт (19 березня 2008). Adobe realizes SDK not enough for Flash on iPhone. www.CNET.com (англ.). CNETCBS Interactive. Процитовано 20 червня 2017.
  20. Джекі Дав (5 жовтня 2009). Flash-built apps heading for the iPhone. www.MacWorld.com (англ.). MacworldInternational Data Group[en]. Процитовано 20 червня 2017.
  21. Джекі Дав (11 квітня 2010). Adobe unleashes Creative Suite 5. www.MacWorld.com (англ.). MacworldInternational Data Group[en]. Процитовано 20 червня 2017.
  22. Браян Ікс Чен (8 квітня 2010). Adobe Apps: easier to pass through the 'i' of a needle?. www.Wired.com (англ.). WiredCondé Nast. Процитовано 20 червня 2017.
  23. Джон Грубер (8 квітня 2010). New iPhone Developer Agreement bans the use of Adobe’s Flash-to-iPhone compiler. DaringFireball.net (англ.). Daring Fireball. Процитовано 20 червня 2017.
  24. Джейсон Кінкейд (8 квітня 2010). Apple gives Adobe the finger with its new iPhone SDK agreement. TechCrunch.com (англ.). TechCrunchAOL. Процитовано 20 червня 2017.
  25. а б Чарльз Артур (9 вересня 2010). Apple opens App Store to programs written in Adobe Flash – and more. www.TheGuardian.com (англ.). ҐардіанGuardian Media Group. Процитовано 20 червня 2017.
  26. Джош Косман (3 травня 2010). An antitrust app. NYPost.com (англ.). Нью-Йорк постNews Corp[en]. Процитовано 20 червня 2017.
  27. Джекі Ченг (3 травня 2010). Apple iPhone OS compiler policy may lead to antitrust probe. ArsTechnica.com (англ.). Ars Technica — Condé Nast. Процитовано 20 червня 2017.
  28. Чарлі Сорелл (9 вересня 2010). Apple eases app development rules, Adobe surges. www.Wired.com (англ.). WiredCondé Nast. Процитовано 20 червня 2017.
  29. WWDC 2019: Apple's Marzipan is actually Project Catalyst. www.CNET.com (англ.). CNET. Процитовано 3 червня 2019.

Посилання

ред.
  • iOS Developer Center (англ.)