2012-03-28 15 views
10

Ktoś wie, w jaki sposób aplikacja Adobe AIR jest konwertowana na aplikacje na iPhone'a? Widzę dwa sposoby - albo wirtualna maszyna Adobe AIR musi być częścią każdej aplikacji, albo musi w jakiś sposób przekonwertować wszystkie wywołania ActionScript na połączenia Cocoa Touch albo mieć bliźniak Objective-C dla każdej klasy ActionScript, a następnie skompilować ją do asemblera ARM.Adobe AIR i iPhone - jak to działa?

Jestem ciekawy, jak to jest technicznie wykonane.

BR Sten

Odpowiedz

11

przeciwieństwie do innych platform, Adobe Air jest kompilowany do kodu natywnego podczas budowania aplikacji na iOS.

Oto częścią blog post firmy Adobe:

Stworzyliśmy nową końcówkę kompilator przedni, który pozwalał LLVM zrozumieć ActionScript 3 i wykorzystał istniejący ARM z powrotem kończą się wyjściowego rodzimy ARM kodu montażowej. Nazywamy to kompilacją Ahead of Time (AOT) - w przeciwieństwie do sposobu, w jaki Adobe Flash Player i funkcja Adobe AIR działają na pulpicie przy użyciu kompilacji Just in Time (JIT). Ponieważ jesteśmy w stanie skompilować ActionScript do ARM z wyprzedzeniem, aplikacja uzyskuje wszystkie korzyści związane z wydajnością oferowane przez JIT, a zgodność z licencją niewymagająca środowiska wykonawczego w ostatecznej aplikacji.

Oznacza to, że:

  1. czas przebiegu powietrza nie jest zapakowana w aplikacji.

  2. Kod AS3 nie jest zamieniany na kod Objective-C, ale jest kompilowany bezpośrednio do natywnego kodu zespołu.

+0

Witam, zobacz post Adrian Pirvulescu - sugerujemy, że istnieje część aplikacji, dokładnie przeciwnie, mówiąc: ":) – STeN

+0

@STeN - Niestety to nie jest prawdą w przypadku iOS ze względu na ograniczenia Apple. I to nie ja mówiąc, że to jest Adobe: ** "nie wymaga runtime w ostatecznej aplikacji" **. – sch

+0

Czy oznacza to, że składniki interfejsu użytkownika, których użyję w Adobe AIR, mają swoje "odbicie" w bibliotece Adobe Objective-C, która będzie być dodane do mojej aplikacji? Zakładam, że nie mogą używać składników interfejsu iOS interfejsu Cocoa Touch – STeN

1

wzięty ze strony internetowej Adobe: http://www.adobe.com/devnet/air/articles/air3-install-and-deployment-options.edu.html

Należy zauważyć, że w niewoli Runtime jest jedyną opcją, która jest dostępna podczas korzystania AIR kierować iOS. Ponieważ iOS nie obsługuje wspólnego modelu środowiska wykonawczego, model captive pozostaje jedyną opcją na tej platformie.

Każdy pomocą uwięzi czas pracy powinien być świadomy, że ma dwie wady:

większy rozmiar aplikacji. Ponieważ cała aplikacja środowiska wykonawczego jest zawarta w aplikacji, rozmiar pakietu aplikacji jest koniecznie zwiększony.

Zwiększone obciążenie bezpieczeństwa.