Jakich języków programowania można używać do tworzenia aplikacji na iPhone'a, iPoda Touch i iPada (iOS)?
Czy są też plany, aby w przyszłości zwiększyć liczbę języków programowania obsługiwanych przez iOS?
Firma Apple zniosła ograniczenia dotyczące aplikacji innych niż Objective C / C / C ++ - po prostu nie można załadować kodu, którego nie ma w pakiecie aplikacji.
MonoTouch pozwala na używanie języków .NET - C # jest bezpośrednio obsługiwany, ale jeśli masz Windows, możesz tworzyć zestawy w dowolnym języku .NET i używać go.
Krążą plotki, że Apple będzie bezpośrednio wspierać inne języki - ciągle słyszę rubin, ale to tylko plotki.
Myślę, że Lua jest używany do logiki gier w wielu aplikacjach.
EDYCJA (w 2018 r.): Generalnie możesz użyć dowolnego języka, który możesz uzyskać, aby skompilować na iOS, a nawet zainstalować tłumacze języków. Najważniejsze, czego nie możesz zrobić, to załadować kod z Internetu, którego nie było w pakiecie aplikacji.
Ludzie i tak robią to cały czas (zobacz aplikacje React Native ładujące JavaScript z serwerów), ale technicznie jest to niedozwolone. Najważniejsze, co zwróci uwagę Apple, jeśli stworzysz jakiś App Store, który ładuje całe rzeczy podobne do aplikacji.
EDYCJA (w 2020 r.): Z @Pylot w komentarzach: Wiem, że to było dawno temu, ale teraz przynajmniej technicznie możesz załadować kod, który nie jest osadzony w aplikacji, jak możesz pisać w JavaScript używając webview. Brak odpowiedzi jest zła lub coś w tym stylu, zdecydowanie się z tobą zgadzam. ale szukałem czegoś i znalazłem ten post po drodze. Pomyślałem, że jeśli ktoś to zobaczy, może im to pomóc.
Umowa SDK i wytyczne dotyczące sklepu z aplikacjami zostały zmienione (około września 2010).
Prawdopodobnie możesz teraz użyć dowolnego skompilowanego języka, który będzie kompilował się do tego samego statycznego formatu pliku obiektu ARM, co Xcode i który będzie łączył się (tylko) z publicznymi interfejsami API w ramach i bibliotekach Apple. Nie możesz jednak używać języka skompilowanego w JIT, chyba że wstępnie skompilujesz cały kod wynikowy przed przesłaniem do firmy Apple do przeglądu.
Możesz używać dowolnego języka interpretowanego, o ile osadzasz interpreter i nie zezwalasz tłumaczowi ani aplikacji na pobieranie i uruchamianie jakiegokolwiek możliwego do interpretacji kodu innego niż kod wbudowany w pakiet aplikacji przed przesłaniem do firmy Apple do przeglądu lub wpisaniem kodu źródłowego -w przez użytkownika.
Cele C i C prawdopodobnie nadal będą najbardziej optymalnymi językami programowania dla wszystkiego, co wymaga wysokiej wydajności i najnowszej obsługi API (* patrz aktualizacja poniżej), ponieważ są to języki, dla których Apple celuje w swoje struktury iOS i dostraja chipsety procesorów ARM. Apple obsługuje również obsługę JavaScript / HTML5 w UIWebView. To jedyne języki, dla których Apple ogłosił wsparcie. Cokolwiek innego będziesz musiał znaleźć gdzie indziej wsparcie.
Ale jeśli naprawdę chcesz, w sklepie z aplikacjami na iOS jest teraz dostępnych co najmniej pół tuzina interpreterów języka BASIC, więc nawet metodologia programowania „Stone Age” jest teraz dozwolona.
Dodano: (*) Od końca 2014 r. Można również tworzyć aplikacje przy użyciu nowego języka programowania Swift firmy Apple. Od początku 2015 r. Przesłane pliki binarne muszą obejmować obsługę wersji 64-bitowej (arm64).
źródło
Mając plany powolnego wycofywania od dawna używanego Objective-C, Apple wprowadził nowy język programowania, zwany Swift, do projektowania aplikacji i aplikacji do uruchamiania na urządzeniach Apple iOS i komputerach Apple Macintosh.
Apple mówi: „ Swift to nowy język programowania dla aplikacji iOS i OS X, który opiera się na najlepszych rozwiązaniach C i Objective-C, bez ograniczeń kompatybilności z C. Swift przyjmuje bezpieczne wzorce programowania i dodaje nowoczesne funkcje ułatwiające programowanie, więcej elastyczny i przyjemniejszy. Czysta karta Swift, wspierana przez dojrzałe i lubiane frameworki Cocoa i Cocoa Touch, to okazja do ponownego wyobrażenia sobie, jak działa programowanie ”.
Przedstawiamy Swift
źródło
Ruby, Python, Lua, Scheme, Lisp, Smalltalk, C #, Haskell, ActionScript, JavaScript, Objective-C, C ++, C. To tylko te, które przychodzą mi teraz do głowy. Jestem pewien, że są ich setki, jeśli nie tysiące. (Np. Nie ma powodu, dla którego nie mógłbyś używać żadnego języka .NET z MonoTouch, tj. VB.NET, F #, Nemerle, Boo, Cobra, ...)
Pewnie. Prawie każda społeczność języków programowania na tej planecie pracuje obecnie nad uruchomieniem swojego języka na iOS.
Ponadto wiele osób pracuje nad językami programowania zaprojektowanymi specjalnie dla urządzeń dotykowych, takich jak iPod touch, iPhone i iPad, np . Język Thyrd Phila Mercurio .
źródło
Językiem programowania iOS (i Mac OS) jest Objective-C i C. Musisz używać platformy Xcode do tworzenia aplikacji na iOS, w następnej wersji, która jest już dostępna w wersji beta, Xcode 4 obsługuje również C ++.
źródło
Obecnie można również używać OCaml do tworzenia aplikacji na iOS. Nie jest częścią standardowej dystrybucji i wymaga modyfikacji zapewnianych przez firmę Psellos. Więcej informacji można znaleźć tutaj: http://psellos.com/ocaml/ .
źródło
To może być stary wątek, ale chciałbym wspomnieć o Appceleratorze Titanium , który umożliwia każdemu znającemu HTML5 / JavaScript / CSS tworzenie aplikacji na iOS.
źródło
Obecnie dozwolone jest tylko Objective-C ... ale od kilku miesięcy możesz pisać skrypty, które będą interpretowane w Twojej aplikacji.
Więc możesz być w stanie napisać interpreter LUA lub interpreter Pythona, a następnie napisać jakąś część swojej aplikacji w tym języku skryptowym. Jeśli chcesz, aby Twoja aplikacja została zaakceptowana w App Store, te skrypty muszą być dołączone do aplikacji (Twoja aplikacja nie może jej pobrać na przykład z Internetu)
zobacz nowe zasady sklepu z aplikacjami
źródło
Celem-c jest podstawowym używanym językiem.
Uważam, że istnieje framework mono touch, którego można używać w języku C #
Adobe również pracuje nad niektórymi narzędziami, jednym z nich jest ten iPhone Packager, który może wykorzystywać kod ActionScript
źródło
Możesz użyć języka programowania „smart BASIC”. Jest to prawdziwy, ale bardzo zaawansowany język BASIC z całą jego mocą i prostotą. Korzystając z bezpłatnego SDK, kod BASIC można łatwo opublikować jako samodzielną aplikację App Store. W App Store jest wiele aplikacji napisanych w języku programowania „smart BASIC”.
źródło