MechDome to narzędzie programistyczne, które automatycznie konwertuje aplikacje na Androida na aplikacje na iOS i OSX

MechDome to nowe narzędzie programistyczne, które automatycznie konwertuje aplikacje na Androida na iOS, zachowując wszystkie elementy interfejsu użytkownika i większość natywnych funkcjonalności.

Rozwój wieloplatformowy od wielu lat stanowi główne wyzwanie dla większości niezależnych programistów. Dość często nauka nowego języka programowania w celu przeniesienia aplikacji na inną platformę pochłania zbyt dużo czasu i zasobów.

Przez lata fakt alokacji zasobów był tym, co skłoniło wielu programistów do skupienia się przede wszystkim na systemie iOS ze względu na ich większą liczbę lukratywny rynek. Dzięki projektom takim jak XamarinJednak programiści znający język C# mogli przesyłać swoje projekty na systemy iOS, Android i Windows Mobile. Jednak programiści systemu Android najlepiej znają pisanie w języku Java, więc korzystanie z platformy Xamarin wymagałoby od programisty zapoznania się z nowym językiem i platformą do tworzenia. Omówiliśmy jeden projekt mający na celu wypełnienie luki między mobilnymi systemami operacyjnymi poprzez zapewnienie programistom Java platformy do wszechstronnego rozwoju —

Silnik wielosystemowy firmy Intel - ale nie wiadomo, w jakim kierunku zmierza ten projekt. To tam gdzie MechDome wchodzi.

MechDome to firma typu start-up z siedzibą w Kalifornii, założona w styczniu, która opracowała narzędzie do konwersji automatycznie twórz natywne aplikacje na iOS i OS X z aplikacji na Androida. Nie musisz uczyć się, jak korzystać z nowego IDE lub API. Wystarczy, że wyślesz plik APK do MechDome (nie musisz przesyłać im kodu źródłowego) i w pełni zautomatyzowane narzędzie w ciągu kilku sekund skompiluje samodzielny plik binarny dla systemów iOS i OS X, który programista będzie mógł następnie dystrybuować w sklepie Apple App Store. Usiedliśmy podczas wywiadu z założycielem i dyrektorem generalnym MechDome, Mario Kosmiskasem, aby zobaczyć demonstrację narzędzia w działaniu – i to Pracuje. Chociaż istnieją pewne ograniczenia wynikające z zasadniczych różnic między sposobem działania iOS i Androida (co omówimy poniżej), narzędzie wyprodukowało już kilka działających aplikacji w Apple App Store, takich jak the otwarte źródło Klient Reddita Czerwony Czytnik i otwarte źródłoSudoku klienta, aby udowodnić, że to działa.


Aplikacje na Androida na iOS z MechDome

Deklarowanym celem MechDome jest umożliwienie programistom konwersji niezmodyfikowanej aplikacji na Androida na natywną aplikację na iOS lub OS X. W porównaniu z technologiami takimi jak Intel Multi-OS Engine czy Xamarin, programista Androida nie musi się na tym znać jak powiązać bibliotekę Objective-C ponieważ narzędzie zajmie się tym za Ciebie. Nie ma też potrzeby używania kreatora interfejsu użytkownika do modyfikowania aplikacji na Androida, ponieważ MechDome obsługuje konwersję wszystkich elementów interfejsu użytkownika systemu Android. Tak, nawet aplikacje na tablety z Androidem ładnie tłumaczą się na format odpowiedni dla iPadów.

Największą obietnicą MechDome jest to, że przekonwertowana aplikacja na Androida będzie działać w sposób zrozumiały dla użytkowników docelowego systemu operacyjnego. Na przykład menu udostępniania w systemie Android zostanie zastąpione natywnym arkuszem udostępniania w systemie iOS i będzie zawierać możliwość korzystania z funkcji AirDrop, jeśli ma to zastosowanie. Aplikacje wysyłające powiadomienia na Androida będą zamiast tego wyświetlać powiadomienia w Centrum powiadomień iOS. Niektóre intencje, takie jak otwarcie kamery w systemie Android, rzeczywiście otworzą kamerę na urządzeniu z systemem iOS, a intencje adresu URL w systemie Android wywołają przeglądarkę Safari w systemie iOS. Dostawcy treści na Androidzie, którzy uzyskują dostęp do kontaktów lub kalendarza, będą zamiast tego uzyskiwać dostęp do odpowiednich baz danych iOS lub OS X w celu uzyskania tych informacji.

Ogólnie rzecz biorąc, cała funkcjonalność sprzętu wymagana do korzystania z aplikacji na Androida zostanie bezpośrednio zmapowana w celu korzystania z odpowiedniego sprzętu w systemie iOS. Funkcje oprogramowania można jednak podzielić na 3 odrębne kategorie: 1) funkcje, które nie istnieją w systemie iOS (takie jak wiadomość wyskakująca) zostaną zaimplementowane bezpośrednio, 2) funkcjonalności istniejące zarówno w systemie iOS, jak i Android zostaną zastąpione odpowiednią metodą iOS, oraz 3) funkcjonalności, które istnieją w systemie iOS, ale nie w systemie Android (takie jak biblioteka 3D Touch firmy Apple), nie można konwertować, ale można je wdrożyć za pomocą korzystanie z biblioteki. Według założyciela MechDome większość działań, widoków, usług, tostów i dostawców podstawowych treści powinna umożliwiać konwersję z Androida na iOS.

Jednak jak wspomniano wcześniej, rzeczywiście istnieją pewne ograniczenia tego narzędzia, które wynikają z charakteru działania systemu iOS. Jednym z największych wyzwań stojących przed programistą Androida chcącym przekonwertować swoją aplikację na iOS jest obsługa usługi działającej w tle. iOS znacznie bardziej rygorystycznie określa, kiedy i jakiego rodzaju usługi w tle mogą uruchamiać aplikacje innych firm, niezależnie od tego, czy są one lepsze, czy gorsze. Co więcej, bogaty system intencji obecny w Androidzie, który umożliwia komunikację między aplikacjami, jest w dużej mierze nieobecny na iOS. Wreszcie interfejs API Usług Google Play nie jest obecnie obsługiwany, więc żadna aplikacja korzystająca z usług Google nie będzie działać. Dlatego programiści będą głównie ograniczeni do funkcjonalności, do której dostęp można uzyskać bezpośrednio poprzez ręczne wprowadzanie danych przez użytkownika, co nie powinno stanowić większego problemu w przypadku większości gier i aplikacji.

MechDome w użyciu

W prywatnej wersji demonstracyjnej narzędzie rzeczywiście wydaje się działać zgodnie z reklamą. Pan Kosmiskas zademonstrował kompilację kilku w pełni funkcjonalnych aplikacji na Androida w działające aplikacje na iOS i OSX. Powiadomienia tostowe, powiadomienia w Centrum powiadomień, przeglądanie stron internetowych, dostęp do lokalizacji, wprowadzanie tekstu i ogólna funkcjonalność elementów interfejsu użytkownika – wszystko to działało w wersji demonstracyjnej. Kalkulator AOSP działający na iOS wyglądał i działał dokładnie tak samo, jak na każdym urządzeniu z Androidem.

Pokazano także aktualizację aplikacji i jej ponowną kompilację na iOS, a proces jest dość prosty. Deweloper, w tym przypadku Pan Kosmiskas, zademonstrował zmianę pola tekstowego tak, aby wyświetlało „XDA-Developers” w Android Studio. Następnie wyeksportował aplikację, wygenerował podpisany plik APK i w ciągu kilku sekund skompilował pliki binarne iOS i OS X z serwera MechDome. Kiedy aplikacja na iOS została uruchomiona przy użyciu emulatora, zmiany wprowadzone w Android Studio były obecne.

Obecnie MechDome przechodzi program bezpłatnej publicznej wersji beta. Deweloperzy mogą zarejestruj swoją aplikację na stronie MechDome, aby otrzymać zaproszenie do przetestowania konwersji aplikacji na Androida. Niestety, nie ujawniono jeszcze żadnych informacji o cenach usługi. Mimo to jest to interesujący projekt, na który warto zwrócić uwagę, jeśli jesteś programistą Androida, który chce w końcu zaistnieć w ekosystemie Apple bez konieczności poświęcania dużego wysiłku.