Sailfish OS от Jolla. Какво е Sailfish OS и защо е необходима?

За писане на приложения за платформата Sailfish OS се използват езикът C++ и библиотеките Qt, както и езикът QML за описание GUIприложения. Следователно, ако вече имате опит в писането на приложения с помощта на Qt и QML, разработването за Sailfish OS няма да ви създаде никакви затруднения. В допълнение, Sailfish OS ви позволява да разработвате собствени приложения, като използвате Език Python. обаче тази темае извън обхвата на тази статия и няма да бъде описано в нея (можете да прочетете повече за това, например).

Също като за другите мобилни платформи, разработката за Sailfish OS се извършва с помощта на SDK, предоставен от създателите на платформата. SailfishOS SDK включва:

  • QtCreator е IDE, в която се предлага да се проведе целият процес на разработка.
  • Операционна система Mer (всъщност това е просто слой за мобилни системивъз основа на Linux ядро, но за простота ще опишем Mer като ОС), която е необходима за изграждане на приложения.
  • Емулатор на Sailfish OS.
  • Примери, уроци и API документация.

Mer и емулаторът на платформата се доставят като изображения на виртуална машина за VirtualBox. Самият VirtualBox обаче не е включен в SailfishOS SDK. Следователно, преди незабавно инсталиране на SDK, първо трябва да инсталирате VirtualBox версия не по-ниска от 4.1.18. Освен това, когато работите под Windows, преди да инсталирате SDK, трябва да инсталирате и пакета Windows Microsoft Visual C++ 2010 за повторно разпространение (x86).

Самият SailfishOS SDK е наличен за Linux, Windows и Max OS X, може да се използва. SDK идва като графичен инсталатор, така че инсталирането на SDK не създава никакви затруднения. След като инсталирате SDK, вие сте напълно готови да разработвате приложения за платформата Sailfish OS.

Създаване на Hello World! Приложението също не създава никакви затруднения. Просто стартирайте Qt Creator, щракнете върху „ Нов проект» на главния екран (или през менюто Файл -> Създаване на файл или проект...) и конфигурирайте проекта:

Автоматично генерираният проект е малко по-сложен от стандартния Hello World от една страница. Това ви позволява незабавно да разкриете някои от функциите на Sailfish OS. Главната страница показва стандартен поздрав. Въпреки това, ако плъзнете надолу по този екран (стандартното управление за тази платформа), в горната част ще се появи меню, което ви позволява да отидете на втората страница на приложението, където се намира списъкът с елементи.

По-долу са екранните снимки на Hello Световни приложения:

Сега нека да разгледаме кода. Всичко тук е стандартно за QML приложения и следователно е познато на всеки, който някога е писал приложения с помощта на даден език. Единствената .cppфайлът описва какво .qmlтрябва да се показва при стартиране на приложението. В нашия случай е така HelloWorld.qml. Освен това проектът съдържа 2 страници, както и заглавна страница, която определя външния вид на приложението в мениджъра на приложения на Sailfish OS, който показва миниатюри на всички работещи приложенияи ви позволява да превключвате между тях или да ги затваряте.

HelloWorld.qmlописва главния прозорец на приложението. Той определя началната и заглавната страница на приложението, както и допълнителни опцииприложения (в нашия случай това са разрешените ориентации на екрана и ориентацията на екрана, която ще се използва по подразбиране):

ApplicationWindow ( initialPage: Component ( FirstPage ( ) ) cover: Qt.resolvedUrl("cover/CoverPage.qml") allowedOrientations: Orientation.All _defaultPageOrientations: Orientation.All )

FirstPage.qmlописва начална страницаприложения. Всичко тук е стандартно за QML приложения, но има някои характеристики на Sailfish OS, на които трябва да обърнете внимание:

//... SilicaFlickable ( anchors.fill: parent PullDownMenu ( MenuItem ( text: qsTr("Show second page") onClicked: pageStack.push(Qt.resolvedUrl("SecondPage.qml")) ) ) //...

Използваният тук елемент е SilicaFlicable, което, на първо място, ви позволява да направите съдържанието вътре в самия елемент да може да се превърта, ако не се побира напълно в елемента. И второ, позволява ви да използвате Падащо меню- същото меню на приложението, отворено чрез плъзгане надолу.

Освен това бих искал да обърна внимание на CoverPage.qml, който описва Cover Страница за приложение. Той съдържа следния елемент:

CoverActionList ( id: coverAction CoverAction ( iconSource: "image://theme/icon-cover-next" ) CoverAction (iconSource: "image://theme/icon-cover-pause") )

Този елементВ допълнение към показването на информация, той също така позволява на потребителя да управлява приложението директно от неговата миниатюра в отворения мениджър на приложения.

За да стартирате приложението в емулатора, трябва странично менюизберете комплект i486, желан типизграждане (издаване или отстраняване на грешки) и метод на инсталиране Разположете като RPM пакет:

След това просто щракнете върху зелена стрелкав страничното меню. Това действие ще създаде приложението, ще стартира емулатора, ще инсталира и стартира вашето приложение на емулатора.

Освен това можете просто да стартирате емулатора, като щракнете върху бутона в страничното меню. Това ще ви позволи лесно да изследвате Sailfish OS, без да имате устройство на тази платформа.

Това е всичко, в бъдеще ще се опитам да опиша по-подробно някои от характеристиките на разработката за платформата Sailfish OS.

Фирма Jolla се занимава разработен от Sailfish OS, неочаквано за мнозина, обяви третата версия на своята операционна система. Презентацията се проведе в Барселона като част от MWC 2018.

Във връзка с това събитие решихме да продължим да говорим за алтернативен AndroidИ iOS мобилен телефоноперационни системи. Разгледахме го по-рано, сега е ред на Sailfish.

Какво общо имат Nokia и Intel с това?

това дълга история. Започна преди 13 години. Тогава, през 2005 г., добрата стара Nokia беше известна със своите, и модела все още не беше известен със своята неразрушимост. В онези майски дни от средата на 2000-те финландският производител представи своя джобен компютър Nokia 770. Това беше революционно устройство: хващаше интернет чрез Wi-Fi! Имаше VoIP и услуги на GoogleГоворете.

Таблетът поддържаше протокола Jabber! Господи, колко носталгия има в тези думи! Таблетът влезе в продажба през ноември 2005 г. 770 работеше на първата версия на Maemo - 2005OS. По-късно се появиха Nokia N800, N810 и след това N900. Всички те бяха управлявани от Maemo.

Maemo интерфейс на Nokia N900

От Финландия се местим в САЩ. През 2007 г. се появиха нетбуци с Процесори на Intelатом Компанията иска да популяризира тези устройства, което изисква операционна система, която не е много ресурсоемка. Windows не е подходящ - Microsoft глупаво не се интересува от Atom. Тогава се появява проектът Moblin. Името е съкратено от Mobile Linux. Както можете да предположите, новата операционна система е предназначена за мобилни устройства. Базиран е на Linux с отворен код.


Moblin интерфейс

Преди осем години, през февруари 2010 г., Nokia и Intel обявиха, че обединяват усилията си. Съвместно разработената операционна система се нарича MeeGo. Тогава беше обявено, че Nokia N8 ще бъде най-новият смартфонна Symbian OS (друга операционна система система Nokia, който беше инсталиран на повечеустройства), а N9 ще бъде пуснат с MeeGo.


Nokia N9 на MeeGo

Беше много страхотно: потребителите можеха да избират между iOS, Android, Windows Phone, MeeGo или дори купете BlackBerry! Но, за съжаление, такава идилия не продължи дълго.

През 2011 г. Nokia неочаквано затвори MeeGo. Проектът вече не е разработен, въпреки популярността на Nokia N9. Така първият смартфон на тази версия на операционната система стана и последен.

Част от екипа, участващ в разработката на MeeGo, напусна Nokia, за да твори собствена фирма. Кръстиха я Джола. Екипът не успя да получи контрол върху повечето от патентите за операционната система, така че много от нейните елементи трябваше да бъдат разработени наново. Например дизайн.

С какво се опита Джола да си тръгне?

Компанията наблегна на многозадачността и откритостта. По време на първата презентация те обещаха да пуснат SDK за разработка разработчици на трети страниприложения. Операционна система с богати възможности за персонализиране и поддръжка многоядрени процесори, които са бъдещето.


Специален акцент беше поставен и върху интерфейса. Така Марк Дилън, съосновател на компанията, каза следното: „Интерфейсът на Sailfish OS е уникален с това, че устройството може да се използва само с помощта на жестове.“ От всяко приложение плъзнете надясно, за да отворите центъра за уведомяване. Отдолу нагоре - отваря се списък инсталирани приложения. Имаше много жестове. Всички те замениха обичайните бутони. Производителите на смартфони с Android сега се опитват да стигнат до това и да се откажат от бутоните на екрана, които „изяждат“ значителна част от екрана.

През 2012 г. компанията обяви своя смартфон Jolla. Той беше пуснат в продажба година по-късно. Устройството беше необичайно външен вид. Сякаш беше слепен от две различни смартфони. Малко по-късно беше обявен таблетът Jolla, но тогава компанията срещна финансови затруднения. Таблетът не беше пуснат.


Как живее Джола сега?

Оттогава компанията реши да се фокусира върху своята операционна система, Sailfish OS. Например разработка на фърмуер за Смартфони Nexus 4 и OnePlus One.

През 2016 г. компанията лицензира Sailfish OS за руската „Отворена мобилна платформа“. Заедно беше пусната Sailfish Mobile OS RUS. Списъкът с поддържани устройства включва смартфон за държавни служители и корпоративни клиенти"Ermak WMD", както и руски INOI смартфон R7. Операционни системи, подобни на руската лицензирана ОС, съществуват в Бразилия, Китай и други страни.


Ermak WMD

Третата версия на Sailfish ще бъде предназначена за повече устройства. В MWC те обявиха появата му през есента на гореспоменатия INOI R7, Sony Xperia XA2, Gemini PDA PDA, както и на неназован телефони с бутонис поддръжка на 4G. Sailfish OS 3 ще се фокусира върху сигурността. Например, ако устройството бъде изгубено или откраднато, потребителят ще може дистанционно да изтрие всички данни.

Операционната система поддържа приложения за Android, но само ако потребителят е платил $50 за Sailfish OS.


Sony Xperia XA2 с инсталирана Sailfish OS

Доминирането на две операционни системи на пазара не е най-добрата ситуация за потребителя. В този случай технически прогрес, за който толкова мечтаем, ще бъде спрян от липсата на интерес към развитие. Колкото по-голям избор има, толкова по-добре ще бъде за избиращия. Надяваме се, че Sailfish ще се развие като алтернативна операционна система и един ден ще намери своята ниша, която ще задържи уверено.

На 21 ноември в Хелзинки, Финландия, компанията Jolla, като част от двудневната стартъп конференция SLUSH 2012, проведе презентация на своите разработки: операционна система Sailfish OS, интерфейс Sailfish UI и инструменти за разработчици Sailfish SDK. Представянето на Jolla започна в доста оригинална форма; За разлика от", "За разлика от", "За разлика от | Други“, „За разлика от обикновените“ и някои други. Така веднага можете да разберете основната идея, която ще се превърне в ключова идея за цялата презентация или основното послание на Jolla - бъдете различни, бъдете различни.

След това Марк Дилън, новият главен изпълнителен директор на Jolla, който преди това заемаше поста COO (главен оперативен директор) и преди да се премести в Jolla, работи дълги години в Nokia, включително с проектите Symbian, S40 и MeeGo, остана на сцената . Марк започна речта си, като говори за свобода, свобода на изразяване, свобода на избор и така нататък, след което той говори за това как имат невероятен екип и разработват наистина страхотна операционна система (страхотна операционна система sailfish), които искат да създадат наистина отворена ОС, бърза и гъвкава.


ОС стартира със заключения екран, който се появява след две докосвания на дисплея. Това показва часа и иконите за известия, когато има известия от този тип. Ако дръпнете екрана надолу, ще се появят преки пътища важни програми: смяна на профил, камера и още няколко. Ако дръпнете нагоре, текущото ниво на зареждане и нивото на мрежовия сигнал ще се покажат за момент, а ако дръпнете още повече, ще се отвори екран с мини-снимки на работещи приложения и икони за достъп до разговори, съобщения, камера и браузър в долната зона. Можете да превъртите още повече и меню с всички инсталирани програми(както в Android и iOS). Тоест системата за извикване на определени прозорци е взета от най-новите версии Meego, горе-долу същото се случи на Nokia N9, но за придвижване между прозорци се използваха плъзгания наляво и надясно на екрана, докато тук - надолу и нагоре и жестове наляво-надясно се използват за функцията за минимизиране отворена програмана заден план. В Sailfish няма настолни компютри, има стартер горен екран, екрани с всички икони на програми и в центъра екрани с мини-снимки на работещи приложения, оказва се.

Бих искал да кажа няколко думи за показването на иконите за зареждане и приемане на мрежов сигнал. Ако разбирам всичко правилно, тогава разработчиците на Jolla решиха да следват пътя на Microsoft в този компонент на заключения екран не виждате тези икони през цялото време, те се появяват само за няколко секунди, когато се движите от един екран на друг; или стартирайте някакво приложение. Не знам дали ще бъде възможно винаги да се показват иконите на батерията и сигнала; те не казаха нищо за това в демонстрационния видеоклип. Лично аз не харесвам идеята и тенденцията, защото разработчиците решиха за мен, че е достатъчен буквално един момент, за да оценя нивото на зареждане на моя смартфон и качеството на приемане на мрежата. Но това не винаги е така и искате да видите тази информация веднага след включване на екрана, а не след две докосвания на дисплея и принудително превъртане надолу по екрана, така че тези икони най-накрая да се покажат.

Тогава започнахме да говорим за истинска многозадачност, реализирана в Sailfish OS. И тук Марк даде странен пример. Те стартираха на смартфон музикален плеъри започна да пуска музика. След това плейърът беше минимизиран, той се появи като миникартина на главния екран. Марк каза, че в Sailfish, за да контролирате музиката или да промените песента, не е необходимо да отваряте отново плейъра, просто трябва да изберете бутоните на мини-изображението на работещото приложение. По същество това е същата джаджа в Android, не виждам нищо ново от гледна точка на потребителя, но Марк убеди публиката, че е готино и каза, че това е истинска многозадачност. Основната идея на мини-снимки на приложения, работещи на главния екран, според Марк е, че не е необходимо да отваряте целия прозорец на програмата, за да контролирате често използваните функции; можете да направите това от главния екран с помощта на mini -снимки на програми. Разликата с джаджите от Android вероятно ще бъде, че в Sailfish всяко приложение задължително ще има функционалност за показване начален екранпод формата на работещ миниблок, докато в Джаджи за Android– това е доброволен въпрос.

Също така на презентацията те показаха възможността бърза смяна фонова картинаглавния екран от галерията и демонстрацията приключи.

Можете да гледате кратко двуминутно видео, демонстриращо всички функции, описани по-горе, ето го:

И има още едно десетминутно видео, но, колкото и да е странно, то демонстрира само същите функции, нищо повече:

Един от потенциалните интересни възможности Sailfish – поддръжка за Android приложения. Самите разработчици от Jolla обаче все още не са коментирали тази точка. По-точно, известно е, че наистина ще има такава поддръжка в Sailfish, но как ще бъде приложена, какъв процент от Android програмите ще работят стабилно без нужда от „преработване“ и така нататък - няма отговори.

Когато за първи път започнах да подготвям този материал, единственият източник на информация за мен беше кратко видео. След това седнах и започнах да гледам повече информация, но Jolla показаха разработката си публично за първи път след обявяването на работа по системата (ако не се лъжа) и се надявах да намеря повече данни. Сега обаче се оказва, че функционалността, показана в триминутното видео, е всичко, на което Jolla може да покаже на този етап. Никаква интересна информация за това как и кой ще участва в производството на смартфони, базирани на тази система, не беше представена на SLASH 2012, освен изброяването на списък с партньори като Opera Mobileи други.


От една страна, проектът Sailfish OS изглежда интересен, поне от позицията, че имаше хора, които взеха като цяло добра система, върху която можеше да се работи и която имаше потенциал, и решиха да я разработят, въпреки отказа на Nokia да разработи клон, свързан с MeeGo устройства. От друга страна, след това, което видяхме, е трудно да повярваме в успеха на Sailfish под каквато и да е форма измина повече от година от пускането на пазара на Nokia N9 и закриването на посоката Meego и всичко, което Jolla показа в Sailfish; ОС беше леко преработен интерфейс на същата MeeGo OS 1.2 Harmattan, само че екраните сега се променят не отляво надясно, а отдолу нагоре. Нова функционалност- това са най-малкото мини-приложения, работещи на главния екран, но това не е достатъчно, за да се конкурира с други операционни системи и все още нищо повече не е показано.

Други въпроси остават без отговор: дали Jolla дори планира да доведе своята операционна система до нивото iOS системии Android, или всичко, което компанията иска да постигне, е стабилна общност и работеща система, базирана на разработките на MeeGo за маниаци? Ако няма планове да се конкурира с iOS и Android, тогава защо фразите „страхотна операционна система sailfish“ и „страхотна компания Jolla“ и ако има такива планове, тогава къде е продуктът, който предизвиква възхищение и буря от емоции с неговата функционалност, красота и новост?

Артем Лутфулин ()

12 юли 2016 г. в 17:56 ч

Начало на разработката за Sailfish OS

  • Разработка на мобилни приложения,
  • Разработка за Sailfish OS
  • Урок

За писане на приложения за платформата Sailfish OS се използват езикът C++ и Qt библиотеките, както и езикът QML за описание на графичния интерфейс на приложенията. Следователно, ако вече имате опит в писането на приложения с помощта на Qt и QML, разработването за Sailfish OS няма да ви създаде никакви затруднения. В допълнение, Sailfish OS ви позволява да разработвате собствени приложения в Python. Тази тема обаче е извън обхвата на тази статия и няма да бъде описана в нея (можете да прочетете повече за това, например).

Както при други мобилни платформи, разработката за Sailfish OS се извършва с помощта на SDK, предоставен от създателите на платформата. SailfishOS SDK включва:

  • QtCreator е IDE, в която се предлага да се проведе целият процес на разработка.
  • Mer Build Engine, който е необходим за изграждане на приложения.
  • Емулатор на Sailfish OS.
  • Примери, уроци и API документация.

Mer Build Engine и емулаторът на платформата се доставят като изображения на виртуална машина за VirtualBox. Самият VirtualBox обаче не е включен в SailfishOS SDK. Следователно преди директен монтаж SDK, първо трябва да инсталирате версия на VirtualBox не по-ниска от 4.1.18. Освен това, когато работите на Windows, преди да инсталирате SDK, трябва също да инсталирате Windows пакет Microsoft Visual C++ 2010 за повторно разпространение (x86).

Самият SailfishOS SDK е наличен за Linux, Windows и Max OS X, може да се използва. SDK идва като графичен инсталатор, така че инсталирането на SDK не създава никакви затруднения. По време на инсталацията обаче ще бъдете помолени за алтернативен път за проекти. Този параметър е необходим, за да виртуална машинас Mer Build Engine имаше достъп до изходни кодовевашият проект. По подразбиране това е вашата домашна директория. В последствие този параметърможе да се промени в настройките на Qt Creator.

След като инсталирате SDK, вие сте напълно готови да разработвате приложения за платформата Sailfish OS.

Създаване на Hello World! Приложението също не създава никакви затруднения. Просто стартирайте Qt Creator, щракнете върху бутона „Нов проект“ на главния екран (или през менюто Файл -> Нов файл или проект...) и конфигурирайте проекта:

Автоматично генерираният проект е малко по-сложен от стандартния Hello World от една страница. Това ви позволява незабавно да разкриете някои от функциите на Sailfish OS. Главната страница показва стандартен поздрав. Въпреки това, ако плъзнете надолу по този екран (стандартното управление за тази платформа), в горната част ще се появи меню, което ви позволява да отидете на втората страница на приложението, където се намира списъкът с елементи.

По-долу са екранните снимки на приложението Hello World:

Сега нека да разгледаме кода. Всичко тук е стандартно за QML приложения и следователно познато на всеки, който някога е писал приложения, използващи този език. Единствената .cppфайлът описва какво .qmlтрябва да се показва при стартиране на приложението. В нашия случай е така HelloWorld.qml. Освен това проектът съдържа 2 страници, както и заглавна страница, която определя външния вид на приложението на начален екран Sailfish OS, която показва миниатюри на всички работещи приложения и ви позволява да превключвате между тях или да ги затваряте.

HelloWorld.qmlописва основния прозорец на приложението. Той определя началната и заглавната страница на приложението, както и допълнителни параметри на приложението (в нашия случай това са разрешените ориентации на екрана и ориентацията на екрана, която ще се използва по подразбиране):
ApplicationWindow ( initialPage: Component ( FirstPage ( ) ) cover: Qt.resolvedUrl("cover/CoverPage.qml") allowedOrientations: Orientation.All _defaultPageOrientations: Orientation.All )

FirstPage.qmlописва началната страница на приложението. Всичко тук е стандартно за QML приложения, но има някои характеристики на Sailfish OS, на които трябва да обърнете внимание:
//... SilicaFlickable ( anchors.fill: parent PullDownMenu ( MenuItem ( text: qsTr("Show second page") onClicked: pageStack.push(Qt.resolvedUrl("SecondPage.qml")) ) ) //...
Използваният тук елемент е SilicaFlicable, което, на първо място, ви позволява да направите съдържанието вътре в самия елемент да може да се превърта, ако не се побира напълно в елемента. И второ, позволява ви да използвате Падащо меню- същото меню на приложението, отворено чрез плъзгане надолу.

Освен това бих искал да обърна внимание на CoverPage.qml, който описва заглавната страница на приложението. Той съдържа следния елемент:
CoverActionList ( id: coverAction CoverAction ( iconSource: "image://theme/icon-cover-next" ) CoverAction (iconSource: "image://theme/icon-cover-pause") )

Този елемент позволява, в допълнение към показването на информация, също така предоставя на потребителя възможност за управление на приложението директно от неговата миниатюра на началния екран.

За да стартирате приложението в емулатора, трябва да изберете комплекта i486 в страничното меню, желания тип компилация (версия или отстраняване на грешки) и метод на инсталиране Разположете като RPM пакет:

След това просто щракнете върху зелената стрелка в страничното меню. Това действие ще създаде приложението, ще стартира емулатора, ще инсталира и стартира вашето приложение на емулатора.

Освен това можете просто да стартирате емулатора, като щракнете върху бутона в страничното меню. Това ще ви позволи лесно да изследвате Sailfish OS, без да имате устройство на тази платформа.

Това е всичко, в бъдеще ще се опитам да опиша по-подробно някои от характеристиките на разработката за платформата Sailfish OS.

UPD:Много благодаря на @kirikch за вашите забележки и коментари, те бяха взети предвид в актуализирания текст на статията.

  • Разработка на мобилни приложения,
  • Разработка за Sailfish OS,
  • Разработка на iOS
  • Здравей, Хабр!

    Онзи ден в офиса на e-Legion пристигна очарователен смартфон, цвят #F9403E. Въз основа на идентификационните знаци успяхме да определим неговия модел - Jolla C и операционна система - Sailfish OS. Сайтът на производителя ни предостави данни за характеристиките на устройството и даде информация откъде да започнем разработката.

    Под изрязването ще научите как протича процесът на създаване, отстраняване на грешки и инсталиране мобилно приложениеза Sailfish OS.

    Характеристиките на смартфона от 2016 г. не са забележителни, но не става въпрос само за хардуера, но и за това как е реализиран софтуерът.

    Операционната система твърди, че поддържа приложения за Android, но защо да се занимавате с пренасяне, ако можете да напишете „шедьовър“, използвайки собствени инструменти за разработка.

    Среда за разработка

    Когато започнах да разработвам за iOS, трябваше да се сблъскам с някои трудности. Наличност на уред под Управление на Mac OS X - предпоставказа XCode. Нямах такъв. Имаше два варианта: хакинтош или виртуална машина.
    Сега macOS е основният ми операционна система, така че присъствието на сайта на Jolla SDK, тестван под Mac OS X, ме изненада приятно. И флашката с Инсталатор на WindowsОстана да събира прах на масата.

    Обявена е и поддръжка за други платформи:

    • Ubuntu 14.04 32/64 бита
    • Windows 8 32/64 бита
    • OS X 10.9.2

    Той също така служи за проектиране на приложението в цветове, които съответстват на основната тема, избрана за смартфона.

    Етикет ( текст: "Здравей хабрахабр!" цвят: Theme.highlightColor x: Theme.horizontalPageMargin width: parent.width - x*2 font.pixelSize: Theme.fontSizeSmall wrapMode: Text.Wrap )

    Концепцията е донякъде подобна на използването Външен вид на UIA от iOS, само настройките не са ограничени от приложението.

    Създайте интерфейс от стандартни елементипонякога дори по-лесно, отколкото в iOS. Създаваме бутон, определяме позицията и отместването спрямо други елементи. Готови. Може би със същата лекота успях да работя с интерфейса едва от iOS 9, когато беше добавен класът NSLayoutAnchor .

    За съжаление, не всичко е толкова добро с персонализирането - в някои случаи ще трябва да създадете елемента сами. Изпълнението предизвика и критики SilicaWebView , който никога не е бил използван в приложението; компонентът постоянно се срива при опит за показване на информация. Вместо това използвах стандартния WebView , включени в QtWebKit .

    Други проблеми възникнаха при работа с мрежата. Стартирах приложението на следващия ден след началото на разработката и вместо списък с новини видях празен екран. Отне няколко часа, за да се намери решение на проблема. Както се оказа, приложението и браузърът, вградени в операционната система, спряха да зареждат данни чрез HTTPS. Няколко минути ме измъчваше съвестта, след което HTTPS се превърна в HTTP.

    Функция requestUrl(source) ( var url = "http://newsapi.org/v1/articles?" url += "source=" + source url += "&apiKey=" + apiKey return url ) if (статус === XMLHttpRequest.DONE) ( var objectArray = JSON.parse(req.responseText); if (objectArray.errors !== undefined) ( console.log("Грешка при извличане на туитове: " + objectArray.errors.message) ) else ( for ( var ключ в objectArray.statuses) ( var jsonObject = objectArray.statuses; news.append(jsonObject); ) ) if (wasLoading == true) ( ​​​​newsObject.isLoaded() ) )

    Що се отнася до останалите приложни модули, тяхното внедряване не създаде особени затруднения. Ние вземаме доказано MVC модел, добавете малко обвързване, щипка делегиране, поръсете много анимация, смесете... Крайният резултат е новинарско приложение, написано за няколко нощи в опит да опитам ръката си в разработката за нова платформа.

    Емулатор и истински смартфон

    Както писах по-рано, процесът на стартиране на приложението практически не създава проблеми. Преди да инсталираме SDK, ние поставяме поддържана версия на VirtualBox на вашия компютър, а инсталаторът ще се погрижи за останалото.
    След това изберете платформата за стартиране, щракнете върху бутона Старт и стартирайте приложението.

    Емулаторът работи без никакви оплаквания: всичко се случва стабилно и бързо. По едно време имах възможността да работя с една от първите версии Android емулатори, чието 5-минутно бягане предизвика болка и паник атаки. Да, сега при него нещата са много по-добри, но послевкусът остава.
    Незначителни проблеми обаче възникнаха при многократно стартиране на приложението. Старите копия на приложението не се прекратяват, което води до това, че имате 5-9 едновременно работещи екземпляра на програмата. След достигане на определен максимален брой нова версияне стартира, трябва ръчно да прекратите старите копия.

    Стартирането на отстраняване на грешки на устройството отне малко повече време. Без да изучаваме документацията, процесът се оказа интуитивен. След като разгледах настройките и натиснах всички подходящи бутони, открих възможността да стартирам приложението на устройството с посочения IP адрес. Свързах телефона към WiFi мрежата, въведох адреса и щракнах Старт отново. Две минути чакане и програмата ми стартира на Jolla C. Apple чу молитвите ни и включи Xcode 9+ Висока Сиера+ iOS 11 ще ни позволи да създаваме същите чудеса.

    Впечатления

    Няма да говоря за перспективите на тази платформа в Русия, вече има достатъчно статии по тази тема и не искам да започвам друг holivar.

    Като потребител харесах отзивчивостта на устройството, възможността за взаимодействие с приложението директно от главния екран, промяната в дизайна на всички приложения след промяна на основната тема и интуитивния интерфейс.