İPhone, iPod Touch ve iPad (iOS) uygulamaları geliştirmek için hangi programlama dilleri kullanılabilir?


84

İPhone, iPod Touch ve iPad (iOS) uygulamaları geliştirmek için hangi programlama dilleri kullanılabilir?

Ayrıca gelecekte iOS'un destekleyeceği programlama dillerinin miktarını artırma planları var mı?

Yanıtlar:


46

Apple, Objective olmayan C / C / C ++ uygulamalarındaki kısıtlamaları kaldırdı - uygulama paketinde olmayan kodu yükleyemezsiniz.

MonoTouch, .NET dillerini kullanmanıza izin verir - C # doğrudan desteklenir, ancak Windows'unuz varsa, herhangi bir .NET dilinde derlemeler yapabilir ve kullanabilirsiniz.

Apple'ın diğer dilleri doğrudan destekleyeceğine dair söylentiler var - Ruby'yi duymaya devam ediyorum, ancak bunlar sadece söylenti.

Lua'nın birçok uygulamada oyun mantığı için kullanıldığını düşünüyorum.

DÜZENLEME (2018'de): Genellikle, iOS için derleyebileceğiniz herhangi bir dili kullanabilir veya hatta dil çevirmenleri yükleyebilirsiniz. Yapamayacağınız en önemli şey, uygulama paketinde olmayan internetten kod yüklemektir.

İnsanlar bunu zaten her zaman yapıyor (bkz. Sunuculardan JavaScript yükleyen React Native uygulamaları), ancak teknik olarak buna izin verilmiyor. Tüm Uygulama benzeri şeyleri yükleyen bir tür App Store yaparsanız, Apple'dan dikkatinizi çekecek ana şey.

DÜZENLEME (2020'de): yorumlarda @Pylot'tan: Bunun uzun zaman önce olduğunu biliyorum, ancak şimdi en azından teknik olarak, web görünümünü kullanarak JavaScript ile yazabileceğiniz gibi uygulamaya gömülü olmayan kodu yükleyebilirsiniz. Cevabınızın kalmaması yanlış veya herhangi bir şey, kesinlikle size katılıyorum. ama bir şey arıyordum ve bu yazıyı yolda buldum. Bunu gören olursa onlara yardımcı olabilir diye düşündüm.


3
Objective-C ++, ObjC ve C ++ arasındaki köprüdür, bu yüzden sorun değil.
Lou Franco

RubyMotion, Ruby kullanarak yerel iOS uygulamaları oluşturmanıza olanak tanır. Yine de ücretsiz değil.
Uygar Y

1
Lua'yı uygulamamdaki mantık için luasqlite ile de denedim (kurumsal çözüm, bu nedenle gerçekleşse de olmasa da hiçbir mağaza reddi söz konusu olamaz) ve harika çalıştığına tanıklık edebilirim. Lua'nın çok düşük bellek ayak izine sahip olduğunu unutmayın, bu nedenle bir Mb bellek tüketmeden aynı anda düzinelerce tercümanı çalıştırabilirsiniz (aslında yaptığım şey buydu ...). Swift hakkında gran.pancho.villa yanıtına da bakın.
Rick77

1
Bunun uzun zaman önce olduğunu biliyorum, ancak şimdi en azından teknik olarak, web görünümünü kullanarak JavaScript ile yazabileceğiniz gibi uygulamaya gömülü olmayan kodu yükleyebilirsiniz. Cevabınızın kalmaması yanlış veya herhangi bir şey, kesinlikle size katılıyorum. ama bir şey arıyordum ve bu yazıyı yolda buldum. Bunu gören olursa onlara yardımcı olabilir diye düşündüm.
Pylot

@pylot - teşekkürler - Ben cevabınıza yorum ekledi
Lou Franco

17

SDK sözleşmesi ve App store yönergeleri değiştirildi (Eylül 2010 dolaylarında).

Artık muhtemelen Xcode'un ürettiği aynı statik ARM nesne dosyası formatına derlenecek ve (yalnızca) Apple'ın çerçeveleri ve kütüphaneleri içindeki genel API'lere bağlanacak herhangi bir derlenmiş dil kullanabilirsiniz. Ancak, gözden geçirilmek üzere Apple'a gönderilmeden önce tüm nesne kodunu önceden derlemediğiniz sürece JIT derlenmiş dilini kullanamazsınız.

Yorumlayıcıyı yerleştirdiğiniz sürece herhangi bir tercüme edilmiş dili kullanabilirsiniz ve yorumlayıcı veya uygulamanın, gözden geçirilmek üzere Apple'a gönderilmeden önce uygulama paketinde yerleşik kod dışında herhangi bir yorumlanabilir kodu indirmesine ve çalıştırmasına izin vermeyin veya kaynak kod yazılır. -kullanıcı tarafından.

Objective C ve C, Apple'ın iOS çerçevelerini hedeflediği ve ARM işlemci yonga setlerini ayarladığı diller olduğu için, yüksek performans ve en son API desteği gerektiren her şey için muhtemelen en uygun programlama dili olacaktır (* aşağıdaki güncellemeye bakın). Apple ayrıca bir UIWebView içinde Javascript / HTML5 kullanımını destekler. Apple'ın destek verdiğini açıkladığı tek diller bunlar. Başka herhangi bir şey, başka bir yerde destek bulmanız gerekecek.

Ancak, gerçekten isterseniz, iOS App Store'da şu anda en az yarım düzine BASIC tercümanı mevcuttur, bu nedenle artık "Taş Devri" programlama metodolojisine bile izin verilmektedir.

Eklendi: (*) 2014'ün sonlarından itibaren, Apple'ın yeni Swift programlama dilini kullanarak uygulamalar da geliştirilebilir. 2015'in başlarından itibaren, gönderilen ikili dosyalar 64 bit (arm64) desteği içermelidir.


11

Apple, uzun süredir kullanılan Objective-C'yi yavaş yavaş kullanımdan kaldırma planlarıyla, Apple iOS aygıtlarında ve Apple Macintosh bilgisayarlarda çalışacak uygulamalar ve uygulamalar tasarlamak için Swift adlı yeni bir programlama dili tanıttı.

Apple şöyle diyor: " Swift, C uyumluluğunun kısıtlamaları olmadan en iyi C ve Objective-C'yi temel alan iOS ve OS X uygulamaları için yeni bir programlama dilidir. Swift, güvenli programlama kalıplarını benimser ve programlamayı kolaylaştırmak için modern özellikler ekler, daha fazlasını esnek ve daha eğlenceli. Swift'in olgun ve çok sevilen Cocoa ve Cocoa Touch çerçeveleriyle desteklenen temiz listesi, yazılım geliştirmenin nasıl çalıştığını yeniden hayal etmek için bir fırsat. "

Swift ile tanışın

görüntü açıklamasını buraya girin


6

İPhone, iPod Touch ve iPad (iOs) uygulamaları geliştirmek için hangi programlama dilleri kullanılabilir?

Ruby, Python, Lua, Scheme, Lisp, Smalltalk, C #, Haskell, ActionScript, JavaScript, Objective-C, C ++, C. Bunlar şu anda aklıma gelenler. Eminim binlerce olmasa da yüzlercesi vardır. (Örneğin , MonoTouch ile herhangi bir .NET dilini kullanamamanız için hiçbir neden yok , yani VB.NET, F #, Nemerle, Boo, Cobra, ...)

Ayrıca gelecekte iO'ların destekleyeceği programlama dillerinin miktarını artırma planları var mı?

Elbette. Bu gezegendeki hemen hemen her programlama dili topluluğu şu anda dillerinin iOS'ta çalıştırılması için çalışıyor.

Ayrıca, pek çok kişi iPod touch, iPhone ve iPad gibi dokunmatik cihazlar için özel olarak tasarlanmış programlama dilleri üzerinde çalışıyor, örneğin Phil Mercurio'nun Thyrd dili.


4
-1. Ruby, Python ve ActionScript henüz iOS'ta çalışmıyor. Geçmişte, CL ve Scheme'i çalıştırma girişimleri vardı, ancak bunların güncel olduğunu sanmıyorum. Haskell ile aynı anlaşma. JavaScriptCore şu anda özel bir çerçevedir; Bir web görünümünde JS kullanarak Objective-C komut dosyası oluşturabilirsiniz, ancak bu gerçekten hantal.
Jonathan Sterling

4
@Jonathan Sterling: Bunu bir yıldan fazla bir süredir App Store üzerinden Ruby uygulamaları satan geliştiricilere söylemelisiniz. Eminim uygulamalarının var olmadığını öğrenmekle çok ilgileneceklerdir.
Jörg W Mittag

4
Rhomobile sayılmaz. Bunlar gerçek yerel uygulamalar değil. Sadece bir web görünümünde sıkışmışlar.
Jonathan Sterling

@Jonathan Sterling: Buradaki partiye biraz geç kalmış olabilirim, ancak Actionscript iOS'ta AIR for iOS aracılığıyla destekleniyor. (Ve Ekim-10'daki orijinal yorumun yapıldığı zamandı). Hatta oldukça harika bir performans da alıyor ...
Marty Pitt

5

İOS (ve Mac OS) programlama dili Objective-C ve C'dir. İOS uygulamaları geliştirmek için Xcode platformunu kullanmanız gerekir, şimdi beta sürümünde mevcut olan bir sonraki sürümde Xcode 4 ayrıca C ++ 'yı da destekler.


İOS uygulamaları veya Objective C veya C ++ geliştirmek için Xcode kullanmanız gerekmez. Örneğin, komut satırı araçlarını kullanan RubyMotion'ı kullanabilirsiniz. Ayrıca, iOS ve Android'de çalıştırabilirsiniz bir uygulama geliştirmek için üçüncü parti geliştirme çözümleri vardır
Martin Lockett

4

Artık iOS uygulamaları geliştirmek için OCaml kullanmak da mümkün. Standart dağıtımın bir parçası değildir ve Psellos şirketi tarafından sağlanan değişiklikleri gerektirir. Daha fazla bilgi için buraya bakın: http://psellos.com/ocaml/ .


2

Bu eski bir konu olabilir, ancak HTML5 / JavaScript / CSS konusunda deneyimli herkesin iOS uygulamaları geliştirmesine izin veren Appcelerator Titanium'dan bahsetmek istiyorum .


Titanium kullanırken yanılmıyorsam JavaScript'i Ruby veya Python ile değiştirebilirsiniz.
Torbjørn

2

Şimdiye kadar sadece Objective-C'ye izin verilmektedir ... ancak birkaç ay önce uygulamanızda yorumlanacak komut dosyaları yazmanıza izin verilmektedir.

Böylece bir LUA tercümanı veya bir Python tercümanı yazabilir, ardından uygulamanızın bir kısmını bu komut dosyası dilinde yazabilirsiniz. Uygulamanızın App Store'da kabul edilmesini istiyorsanız, bu komut dosyalarının uygulama ile birlikte paketlenmesi gerekir (örneğin uygulamanız İnternet'ten indiremez)

bkz Yeni uygulama mağazası kuralları



1

"Smart BASIC" programlama dilini kullanabilirsiniz. Tüm gücü ve sadeliği ile gerçek ama çok gelişmiş bir BASIC dilidir. Ücretsiz SDK'yı kullanarak BASIC kodu, bağımsız bir App Store uygulaması olarak kolayca yayınlanabilir. App Store'da "smart BASIC" programlama dilinde yazılmış birçok uygulama bulunmaktadır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.