Naukowcy z Uniwersytetu Columbia przenoszą aplikacje z iOS na Androida

Jeszcze kilka generacji urządzeń temu iOS firmy Apple miał wyraźną przewagę nad Androidem, zarówno pod względem jakości, jak i ilości aplikacji. Jednak ostatnio aplikacje na Androida nadrobiły zaległości i pod wieloma względami przekroczyły to, co jest dostępne, a nawet możliwe na iOS. W dużej mierze wynika to z faktu, że Android ma obecnie zdecydowaną większość udziału w rynku smartfonów, co z kolei budzi zainteresowanie zewnętrznych programistów. Jednak sporo wynika z tego, że Android zapewnia programistom zewnętrznym znacznie większą swobodę niż to, na co pozwala iOS.

Pomimo wzrostu jakości i ilości aplikacji, nierzadko zdarza się, że niektóre stosunkowo znaczące programy są specyficzne dla platformy. Na przykład, jeśli masz wielu znajomych korzystających z systemu iOS, niewątpliwie poczułeś się nieco opuszczony bez możliwości komunikowania się za pośrednictwem iMessage lub FaceTime. To tutaj wchodzą w grę projekty takie jak Cider.

Opracowana przez członków Wydziału Informatyki Uniwersytetu Columbia, Cider to architektura kompatybilności z systemem operacyjnym, która umożliwia uruchamianie aplikacji iOS na Androidzie. Zamiast używać ścisłej maszyny wirtualnej, odbywa się to przy użyciu nowatorskiego podejścia, obejmującego adaptację kodu w czasie kompilacji, a także funkcje dyplomatyczne. Pierwsza pozwala na adaptację istniejącego kodu źródłowego aplikacji bez modyfikacji do wykorzystania w nowej architekturze, natomiast druga umożliwia aplikacjom zagranicznym łączenie się z bibliotekami urządzeń hosta, w tym bibliotekami zastrzeżonych interfejsów oprogramowania i sprzętu, takich jak akceleracja 3D sprzęt komputerowy.

Film przedstawiający dowód koncepcji Cider można znaleźć poniżej. Jak widać na filmie, ogólna wydajność interfejsu użytkownika jest taka, jakiej można się spodziewać bez renderowania sprzętowego interfejsu użytkownika 2D. Demo zawiera jednak także klip przedstawiający Passmarka uruchamiającego test porównawczy 3D przy dobrej liczbie klatek na sekundę i przy pełnym dostępie do możliwości renderowania sprzętu hosta.

//www.youtube.com/embed/Uaple0Ec1Dg

Chociaż istnieje wiele przeszkód prawnych i technicznych, które stoją na drodze do urzeczywistnienia takiego projektu, ekscytujące jest to, że taki projekt jest w ogóle możliwy na Androidzie. Przecież to tylko kolejny dowód na potencjał Androida.

Mamy nadzieję, że kod źródłowy tego projektu zostanie kiedyś wydany, a inni programiści będą mogli na nim bazować i udoskonalać go. Do tego czasu jest to nadal dość godne uwagi. Więcej dowiesz się odwiedzając stronę strona projektu i przeczytanie opinii zespołu pełny artykuł badawczy (ostrzeżenie w formacie PDF).

Co byś zrobił, aby móc uruchamiać aplikacje i gry na iOS na swoim urządzeniu z Androidem? Daj nam znać w komentarzach poniżej.

[Wielkie podziękowania dla starszego moderatora XDA erant za wskazówkę!]