Zacznijmy podstawy.
Witryna mobilna to strona internetowa, do której można uzyskać dostęp za pomocą przeglądarki telefonu. Strony HTML są podawane z serwera WWW (a interfejs jest zoptymalizowany pod kątem układu telefonu).
Aplikacja natywna (często określana jako "aplikacja") jest zasadniczo aplikacją wykonywalną, która jest pobierana do telefonu. W przypadku iPhone'a są one napisane w Objective-C. W przypadku Androida są napisane w Javie. Dla Windows Mobile są one napisane w języku C# itp
Oto zła wiadomość stoją:
-W zamówienie dla danej aplikacji, aby uruchomić z „ekranie głównym” iPhone musi być skompilowany przy użyciu Objective C. To samo z Androidem/Javą.
- Aby uzyskać dostęp do kamery, należy ją skompilować przy użyciu funkcji C (lub Java dla systemu Android).
Więc oto kilka dobrych wiadomości dla Ciebie:
-Można łatwo napisać natywną aplikację być czysto UI front-end i zadzwonić do istniejącego kodu po stronie serwera przy użyciu modelu REST API dla logiki biznesowej. Musisz tylko ujawnić funkcjonalność, której potrzebujesz, aby narazić się na działanie aplikacji. Jest to 1 sposób na ponowne wykorzystanie istniejącej podstawy kodu i uproszczenie aplikacji. Istnieją dobre frameworki Objective C, takie jak RESTKit, które sprawiają, że jest to łatwe.
-Możesz sprawić, że twoja aplikacja będzie naprawdę kiepska i zasadniczo sprawi, że będzie to przeglądarka internetowa dla Twojej witryny, ale to może nie zostać zatwierdzone przez Apple, jeśli nie dostosujesz go do iPhone'a w pewien sposób. Będzie to niekorzystne dla użytkowników iPhone'a, którzy oczekują, że aplikacja będzie działać jak aplikacja. Nie polecałbym tego.
-Jeśli planujesz udostępnić na wielu platformach lub naprawdę nie chcesz, aby utrzymywał projekt Celu C (i projekt Java w przyszłości), możesz użyć czegoś takiego jak PhoneGap, Appcelerator Titanium lub Sencha Touch . Są to owijki, które przyjmą aplikację napisaną w technologiach internetowych (HTML 5) i skompilują je do natywnych aplikacji. Te aplikacje HTML5 mogą uzyskać dostęp do kamery itp. Twoi istniejący deweloperzy nie muszą uczyć się Objective-C i mogą używać swoich umiejętności HTML/JavaScript, które już posiadają. Istnieje wiele zalet tych technologii. Minusem jest to, że Twoja aplikacja nie wygląda/czuje się tak dobrze, jak natywna aplikacja lub nie korzysta z "fajnych" funkcji telefonu. Będzie działał jak dobra witryna mobilna. Jeśli masz dobrych użytkowników interfejsów/projektantów, możesz stworzyć coś całkiem dobrego za pomocą tych technologii internetowych. Ale jeśli chcesz tylko emulować stronę internetową w natywną aplikację (a nie tworzyć następnej gry typu killer), to prawdopodobnie jest to Twój najlepszy wybór z wielu powodów.
Jeśli używasz aplikacji natywnej google zamiast phonegap (lub sencha touch), masz mnóstwo informacji o zaletach i wadach. To prawdopodobnie dobre miejsce do rozpoczęcia nauki.
Jak dobrze znasz cel c? –
Niewiele, mam dobre tło w C++ i mam ogólne pojęcie o tym, gdzie Ob-C się różni, itd. –