MechDome on arendaja tööriist, mis teisendab Androidi rakendused automaatselt iOS-i ja OSX-i rakendusteks

MechDome on uus arendaja tööriist, mis teisendab Androidi rakendused automaatselt iOS-i ning säilitab kõik kasutajaliidese elemendid ja enamiku natiivsetest funktsioonidest.

Platvormideülene arendus on enamiku sõltumatute arendajate jaoks olnud paljude aastate jooksul suur väljakutse. Üsna sageli on uue programmeerimiskeele õppimiseks lihtsalt liiga palju aega ja ressursse, et oma rakendust teisele platvormile üle kanda.

See ressursside eraldamise fakt on aastaid sundinud paljusid arendajaid keskenduma peamiselt iOS-ile, kuna tulus turg. Tänu projektidele nagu XamarinC#-ga tuttavad arendajad on aga suutnud oma projekte iOS-i, Androidi ja Windows Mobile'i kaudu edasi lükata. Kuid Androidi arendajad tunnevad kõige paremini Java-s kirjutamist, nii et Xamarini kasutamine eeldab, et arendaja peab end kurssi viima uue keelega ja koostama platvormi. Oleme käsitlenud ühte projekti, mille eesmärk on ületada lõhe mobiilsete operatsioonisüsteemide vahel, pakkudes Java arendajatele ristuvat arendusplatvormi –

Inteli mitme operatsioonisüsteemi mootor - aga pole teada, kuhu see projekt suundub. See on koht MechDome tuleb sisse.

MechDome on Californias asuv ja jaanuaris asutatud idufirma, mis on välja töötanud konversioonitööriista looge oma Androidi rakendusest automaatselt iOS-i ja OS X-i algrakendused. Pole vaja õppida uut IDE-d või API-d kasutama. Kõik, mida pead tegema, on saata MechDome'i APK-fail (pole vaja neile oma lähtekoodi saata) ja täielikult automatiseeritud tööriista koostab iOS-i ja OS X-i jaoks sekunditega eraldiseisva binaarfaili, mida arendaja saab seejärel Apple'i App Store'is levitada. Istusime intervjuus MechDome'i asutaja ja tegevjuhi Mario Kosmiskasega, et näha tööriista demonstratsiooni töös – ja see töötab. Kuigi iOS-i ja Androidi tööpõhimõtted on põhimõtteliste erinevuste tõttu teatud piirangud (mida me arutame allpool), on tööriist Apple App Store'is juba loonud mõned reaalajas rakendused, näiteks a avatud lähtekoodiga Redditi klient RedReader ja an avatud lähtekoodigaSudoku klient tõestab, et see töötab.


Androidi rakendused iOS-is koos MechDome'iga

MechDome'i eesmärk on võimaldada arendajatel teisendada muutmata Androidi rakendus iOS-i või OS X-i natiivseks rakenduseks. Võrreldes selliste tehnoloogiatega nagu Inteli Multi-OS Engine või Xamarin, ei pea Androidi arendaja teadma kuidas siduda Objective-C teeki sest tööriist teeb seda teie eest. Samuti pole vaja Androidi rakenduse muutmiseks kasutada kasutajaliidese koostajat, kuna MechDome tegeleb kõigi Androidi kasutajaliidese elementide teisendamisega. Jah, isegi Androidi tahvelarvutirakendused tõlgivad kenasti iPadile sobivasse vormingusse.

MechDome'i suurim lubadus on, et teisendatud Androidi rakendus töötab viisil, mida siht-OS-i kasutajad tunnevad. Näiteks Androidi jagamismenüü asendatakse iOS-is omajagamislehega ja see sisaldab võimalusel AirDropi kasutamist. Rakendused, mis postitavad teateid Androidis, kuvavad märguande iOS-i teavituskeskuses. Teatud kavatsused, nagu kaamera avamine Androidis, avavad tõepoolest iOS-i seadme kaamera ja Androidi URL-i kavatsused kutsuvad iOS-is Safari. Androidi sisupakkujad, kes pääsevad juurde kontaktidele või kalendrile, pääsevad selle teabe saamiseks juurde asjakohastele iOS-i või OS X-i andmebaasidele.

Üldiselt aga kaardistatakse kõik Androidi rakenduse kasutamiseks vajalikud riistvarafunktsioonid otse iOS-is vastava riistvara kasutamiseks. Tarkvarafunktsioonid saab aga jagada kolme erinevasse kategooriasse: 1) funktsioonid, mida iOS-is ei eksisteeri (nt röstsaiateade) rakendatakse otse, 2) nii iOS-is kui ka Androidis olemasolev funktsionaalsus asendatakse vastava iOS-i meetodiga ja 3) Funktsionaalsust, mis on iOS-is, kuid mitte Androidis (nt Apple'i 3D Touch teek), ei saa teisendada, kuid seda saab rakendada raamatukogu kasutamine. MechDome'i asutaja sõnul peaks enamik tegevusi, vaateid, teenuseid, tooste ja põhilisi sisupakkujaid olema Androidist iOS-i konverteeritav.

Kuid nagu varem mainitud, on sellel tööriistal tõepoolest mõned piirangud, mis tulenevad iOS-i toimimise olemusest. Üks suurimaid väljakutseid, millega Androidi arendaja, kes soovib oma rakendust iOS-i teisendada, on taustteenuse käsitlemine. iOS on palju rangem selle suhtes, millal ja milliseid taustteenuseid kolmandate osapoolte rakendused saavad käitada, olgu see hea või halvem. Veelgi enam, Androidis olev rikkalik kavatsuste süsteem, mis võimaldab rakendustevahelist suhtlust, iOS-is suuresti puudub. Lõpuks ei toetata praegu Google Play teenuste API-d, seega ei tööta ükski Google'i teenustele tuginev rakendus. Seega piirduvad arendajad enamasti funktsioonidega, millele pääseb juurde otse kasutaja käsitsi sisestamise teel, mis ei tohiks enamiku mängude või rakenduste jaoks olulist probleemi tekitada.

MechDome kasutusel

Privaatses demos näib tööriist tõepoolest toimivat nagu reklaamitud. Hr Kosmiskas demonstreeris mitme täisfunktsionaalse Androidi äpi koostamist töötavateks iOS ja OSX äppideks. Toast-märguanded, märguanded teavituskeskuses, veebivaade, juurdepääs asukohale, tekstisisestus ja kasutajaliidese elementide üldine funktsionaalsus töötasid demos. iOS-is töötav AOSP-kalkulaator nägi välja ja töötas täpselt samamoodi nagu mis tahes Android-seadmes.

Näidati ka rakenduse värskendamist ja iOS-i jaoks uuesti kompileerimist ning protsess on üsna lihtne. Arendaja, antud juhul hr Kosmiskas, demonstreeris tekstikasti muutmist, et kuvada Android Studios "XDA-Developers". Seejärel eksportis ta rakenduse, genereeris allkirjastatud APK ja kompileeris iOS-i ja OS X-i kahendfailid sekunditega MechDome'i serverist. Kui iOS-i rakendus käivitati emulaatori abil, olid Android Studios tehtud muudatused olemas.

Praegu läbib MechDome tasuta avalikku beetaprogrammi. Arendajad saavad registreerige oma rakendus MechDome'i veebisaidil, et saada kutse oma Androidi rakenduse teisendamise testimiseks. Kahjuks pole teenuse hinnainfot veel avaldatud. Sellegipoolest on see huvitav projekt, millele tähelepanu pöörata, kui olete Androidi arendaja, kes soovib lõpuks Apple'i ökosüsteemis laineid lüüa, ilma et peaksite ise palju vaeva nägema.