2011-12-25 11 views
5

znalazłem powiązanych odpowiedź tutaj: How do cross-platform mobile app development frameworks work?W jaki sposób mobilne pakiety C++ dla platformy międzyplatformowej działają ogólnie pod maską?

ale myślałem bardziej o C++ cross-platformowej pracy SDK (np Corona, Marmolada, EdgeLib, itd.). Zapewniają możliwość eksportu plików binarnych dla systemów iOS i Android, a jednocześnie umożliwiają programistom korzystanie z kodu C++. Moje założenie jest wymienione poniżej, ale popraw go, jeśli nigdzie się nie mylę:

  1. Użytkownik pisze kod w C++.
  2. SDK ma warstwę interfejsową z funkcjami C++ wywoływanymi w kodzie użytkownika, wymagającym specyficznej funkcjonalności mobilnego systemu operacyjnego. Ta warstwa interfejsu jest zbudowana z kodu wymaganego do implementacji tej funkcji SDK w specyficznym mobilnym systemie operacyjnym (napisanym w Javie dla Androida i Obj-C dla iOS).
  3. Część Jestem bardzo zdezorientowana, ponieważ nie mam zbyt wielu punktów doświadczenia dla urządzeń mobilnych: Czy iOS i Android mają kompilatory krzyżowe C++, które mogą skompilować ogólny kod logiczny napisany w C++ w aplikacji użytkownika?

Odpowiedz

5

MoSync jest przykład C++ w oparciu krzyż platformy mobilnej toolkit - ten rozpoczyna się za pomocą open source kompilator gcc do kompilacji kodu C++ swojej aplikacji w formacie montażowej podobny. Niestandardowe narzędzie MoSync (zwane "PipeTool") następnie łączy ten format złożenia z ich wstępnie skompilowanymi bibliotekami w różnych formatach docelowych, w tym kod bajtowy Java (dla systemu Android) lub źródło Objective-C (dla systemu iOS). Więcej szczegółów na temat tego procesu: here.

Ostateczna kompilacja na platformie docelowej (Android lub iOS) pozostawiamy Tobie, używając natywnego IDE (Xcode dla iOS i Eclipse IDE z Androidem SDK dla Androida). Aby utworzyć aplikację na iOS, musisz być na przykład członkiem programu deweloperskiego Apple iOS (99 USD rocznie), podczas gdy Eclipse IDE i Android SDK są bezpłatne.

Twój przykład Corona SDK nie jest w pełni adekwatny, ponieważ Corona tworzy natywny format binarny za pomocą swoich niestandardowych serwerów kompilacji w chmurze - to, co się tam dzieje, nie jest w pełni udokumentowane jako zamknięty zestaw narzędzi źródłowych. Płacisz roczną opłatę za subskrypcję Corona, aby móc tworzyć aplikacje. Nie jestem pewien co do innych, o których wspomniałeś (Marmalade, EdgeLib itp.), Ale zakładam, że są podobne do MoSync.

4

Sprawdź kodową nazwę domeny - używają Javy, ale ostatecznie kompilują się w C++ dla iOS i Java dla Androida.

Różnica polega na tym, że ich środowisko zawiera całą grafikę i tworzą same formanty, dzięki czemu można uzyskać rzeczywistą aplikację natywną z tylko jednym kodem źródłowym.

Powiązane problemy