Разработка на различни платформи срещу Native Mobile App: Избор на правилните инструменти за разработка за вашия проект за приложения

Глобалният пазар на мобилни приложения - който се очаква да достигне 77 милиарда долара през тази година - претърпя няколко големи промени. Днес 99,6% от всички смартфони работят на iOS или Android. Сега компаниите третират мобилните приложения като канал за повишаване на информираността за марката, а не собствен бизнес. С нарастващото приемане на AI решения (а именно чатботи) и месинджъри, експертите дори започват да поставят под въпрос бъдещето на мобилните приложения! На фона на противоречията и хаоса, аргументът за развитие на мобилни приложения „роден срещу крос-платформа“ е по-горещ от всякога. Трябва ли вашата компания да инвестира в местно приложение или да се справи с крос-платформа? Павел Васкоу, ръководител на отдела за разработка на приложения за iOS в R-Style Lab, подчертава основните разлики между крос-платформата и родните приложения и обяснява защо преминаването към хибрид може да не е добро решение.

Крос-платформа срещу родните приложения: ключови разлики

Родното мобилно приложение е приложение, което отговаря на изискванията на определена операционна система, като използва SDK (както и хардуерна памет, предавки и други приложения, инсталирани на устройство).

Предимствата на родните мобилни приложения включват:

· Висока производителност;

· Крайно потребителско изживяване;

· По-голяма видимост на магазина за приложения.

Приложение за крос-платформа е мобилно приложение, което е съвместимо с множество операционни системи и следователно може да работи на всеки смартфон или таблет.

Има два типа мобилни приложения за много платформи:

· Нативни кросплатформени приложения. Всяка операционна система има своя SDK и основен технологичен стек (Java за Android и Objective-C / Swift за разработване на приложения за iOS). Опитен доставчик на мобилни устройства обаче може да създаде унифициран API, работещ върху нативния комплект за разработка на софтуер и да използва същата кодова база и за двата приложения за Android ad iOS. Приложните кросплатформени приложения са изградени предимно с Xamarin и Appcelerator Titanium;

· Хибридни HTML5 приложения. Въпреки че мобилните приложения са предназначени за смартфони и таблети, сървърите на приложението се справят със задните сървъри (или на база или в облака). Тъй като и iOS и Android SDK разполагат с усъвършенствани уеб компоненти, квалифицираните софтуерни инженери често използват WebView, за да създадат части от GUI (графичен потребителски интерфейс) на приложението с HTML5, CSS и JavaScript. Най-популярната рамка за развитие на хибридни приложения е Apache Cordova (известна преди като PhoneGap).

Топ инструменти за разработване на мобилни приложения за много платформи

Apache Cordova, Xamarin и Unity представляват 70% от общия пазар на инструменти за разработване на различни платформи.

· Apache Cordova Технологичният стек на Apache Cordova разполага с HTML5, CSS3 и JavaScript. Рамката за разработка на мобилни приложения осигурява достъп до вградения акселерометър на смартфона, съхранение на файлове, GPS, данни за контакт, медии и известия. Apache Cordova може да се похвали с няколко предимства, включително доста прост API и възможност за използване на всяка JS рамка. Платформата обаче визуализира потребителския интерфейс на приложението чрез уеб браузър (което може да причини забавяне). Също така някои от плъгините на Cordova са датирани, така че често разработчиците трябва да пишат персонализирани от нулата;

· Ксамарин. Изграден с #C и .Net, Xamarin позволява на разработчиците да използват повторно код и опростява процеса на създаване на динамични оформления в iOS. Някои компоненти на потребителския интерфейс обаче не могат да бъдат внедрени в MonoTouch и MonoDroid, тъй като разчитат на специфични функции за Android / iOS;

· Единство. Unity е популярен двигател за разработка на мобилни приложения, който позволява на софтуерните инженери да изработват висококачествени 2D / 3D приложения (предимно игри) за различни платформи, включително Windows, iOS, Android и Xbox. Unity (заедно с Unreal Engine) се счита за един от най-добрите инструменти за представяне на 3D съдържание. Решението разполага с множество безплатни плъгини и поддържа разработването на персонализирани шейдъри. Все пак Unity има стръмна крива на обучение и компилаторите му не са добре оптимизирани за ARM процесори.

Според Павел популярността на кросплатформените мобилни приложения може да се дължи на нарастващото търсене на корпоративни мобилни приложения (което скоро ще надмине наличната разработваща способност с 500%) и скандално известната тенденция „Донесете собствено устройство“ (през 2017 г., половината от работодателите ще изискват служителите да използват собствените си джаджи за работни цели).

Когато ефективното използване на ресурсите и по-краткото време за внедряване надвишават UX, преминаването на крос-платформата има смисъл.

Плюсовете и минусите на разработването на многоплатформени мобилни приложения

Предимствата на изграждането на кросплатформно приложение включват:

· По-кратко време за разработка. При условие че сте избрали подходящия стек за технологии и планирате проекта си старателно, вашият доставчик ще може да използва до 80% от първоначалната кодова база;

· Ефективност на разходите. Изграждането на местно мобилно приложение ще ви струва поне 10 хиляди долара - и тук не се говори за клонинг на Clash of Clans. Умножете разходите по две (iOS и Android) и добавете 30% (Android dev е по-скъпо) и ще получите приблизителната цена за стартиране на приложение и в App Store, и в Google Play;

· Излагане на по-голям брой потребители. Повечето кросплатформени приложения работят както на Android, така и на iOS (както и на Windows, Linux, Tizen и дори Symbian);

· Актуализира синхронизацията. В свят, в който успешните издатели на приложения внедряват актуализации до 4 пъти на месец, разходите за поддръжка могат да изразходват голяма част от целия приход от приложението - и именно там печели разработката на многоплатформа.

И ето къде приложенията, независими от платформата, се провалят:

· Проблеми с изпълнението. Компютърната мощност на смартфоните е сравнително малка. Предаването на тежки HTML5 / CSS UI компоненти, от друга страна, отнема много GPU / CPU ресурси и може да увеличи времето за реакция на приложението;

· Проблеми с UX Изпълнението на UX изискванията на двете платформи може да бъде предизвикателство. Apple е особено известна с насоките си за човешки интерфейс и отказва мобилни уебсайтове, опаковани в родните контейнери. Въпреки това, грешките и лошият дизайн на потребителския интерфейс представляват 20% от всички отхвърляне на App Store; при условие че се обърнете към надеждна компания за разработка на мобилни приложения, вашето приложение HTML5 най-вероятно ще получи зелена светлина.

Избор между родните и кросплатформените приложения

Изборът между крос-платформата и родното приложение зависи от предвидения набор от функции и обхват на приложението (не е предназначен каламбур).

Ако се предполага, че вашето мобилно приложение се превръща в собствен бизнес (като фитнес и здравеопазване или популярни приложения за морфиране на лица), изходът е роден е очевиден избор. За компании, които искат да създадат чисто информативно приложение или приложение за разпространение на съдържание, кросплатформената разработка може да бъде точно това, което лекарят нареди.

През 2012 г. Facebook, най-голямата световна компания за социални мрежи, замени приложението си HTML5 с местно заглавие iOS и нарече хибридното си начинание „най-голямата грешка“, която някога са правили. Според Мик Джонсън, бивш продуктов мениджър на iOS във Facebook, решението да се появи роден помогна на компанията да реши три основни проблема, свързани с представянето на приложението, включително скоростта на стартиране, превъртане през News Feed и подслушване на изображения вътре в него. Facebook продължи да пуска родно приложение за Android по-късно същата година. Компанията няма нищо против HTML5 - в края на краищата, технологията все още захранва мобилния им уебсайт. Тя обаче не отговаря на изискванията на компанията за мобилни приложения - и може да не изпълни вашите. Ето защо трябва да се консултирате с опитен доставчик и да планирате стратегията си за мобилни приложения, като вземете предвид очакваното натоварване и набор от функции.