iPhone、iPod Touch、iPad(iOS)アプリケーションの開発に使用できるプログラミング言語は何ですか?


84

iPhone、iPod Touch、iPad(iOS)アプリケーションの開発に使用できるプログラミング言語は何ですか?

また、iOSがサポートするプログラミング言語の量を拡大する計画は将来ありますか?

回答:


46

Appleは、Objective以外のC / C / C ++アプリの制限を解除しました。アプリバンドルに含まれていないコードを読み込むことはできません。

MonoTouchでは.NET言語を使用できます-C#は直接サポートされていますが、Windowsを使用している場合は、任意の.NET言語でアセンブリを作成して使用できます。

Appleが他の言語を直接サポートするという噂があります-私はルビーを聞き続けていますが、それらは単なる噂です。

Luaは多くのアプリのゲームロジックに使用されていると思います。

編集(2018年):通常、iOS用にコンパイルしたり、言語インタープリターをインストールしたりできる任意の言語を使用できます。あなたができない主なことは、アプリバンドルに含まれていなかったインターネットからコードをロードすることです。

とにかく人々はこれを常に行います(サーバーからJavaScriptをロードするReact Nativeアプリを参照)が、技術的には許可されていません。アプリのようなもの全体をロードするある種のAppStoreを作成した場合に、Appleから注目を集める主なもの。

編集(2020年):@ Pylotからのコメント:これはかなり前のことですが、少なくとも技術的には、Webビューを使用してJavaScriptで記述できるため、アプリに埋め込まれていないコードを読み込むことができます。あなたの答えにとどまらないことは間違っているか何かです、私は間違いなくあなたに同意します。しかし、私は何かを探していて、途中でこの投稿を見つけました。誰かがこれを見ればそれは彼らを助けるかもしれないと考えました。


3
Objective-C ++はObjCとC ++の間の架け橋なので、問題ありません。
ルーフランコ

RubyMotionを使用すると、Rubyを使用してネイティブiOSアプリを構築できます。ただし、無料ではありません。
Uygar Y 2013

1
私はアプリ内のロジックにLuaを試してみましたが、luasqliteも使用しました(エンタープライズソリューションであるため、ストアの拒否が発生するかどうかに関係なく、関与することはできませんでした)。Luaのメモリフットプリントは非常に小さいため、実際にはMbのメモリを消費することなく、同時に数十のインタープリターを実行できます(これは私が実際に行ったことです...)。Swiftに関するgran.pancho.villaの回答も参照してください。
Rick77 2014年

1
これはかなり前のことですが、少なくとも技術的には、ウェブビューを使用してJavaScriptで記述できるため、アプリに埋め込まれていないコードを読み込むことができます。あなたの答えにとどまらないことは間違っているか何かです、私は間違いなくあなたに同意します。しかし、私は何かを探していて、途中でこの投稿を見つけました。誰かがこれを見ればそれは彼らを助けるかもしれないと考えました。
パイロット

@ pylot-私はあなたのコメントを答えに追加しました-ありがとう
Lou Franco

17

SDK契約とAppStoreガイドラインが変更されました(2010年9月頃)。

Xcodeが生成するのと同じ静的ARMオブジェクトファイル形式にコンパイルされ、Appleのフレームワークおよびライブラリ内のパブリックAPIに(のみ)リンクするコンパイル言語を使用できるようになりました。ただし、レビューのためにAppleに提出する前にすべてのオブジェクトコードを事前にコンパイルしない限り、JITコンパイル言語を使用することはできません。

インタープリターを埋め込んでいる限り、任意のインタープリター言語を使用できます。また、レビューのためにAppleに送信する前、またはソースコードを入力する前に、アプリバンドルに組み込まれているコード以外のインタープリターまたはアプリがインタープリターコードをダウンロードして実行することを許可しないでください。 -ユーザーによる入力。

Objective CとCは、AppleがiOSフレームワークを対象とし、ARMプロセッサチップセットを調整する言語であるため、高性能と最新のAPIサポート(*以下の更新を参照)を必要とするすべての言語に最適なプログラミング言語である可能性があります。Appleは、UIWebView内でのJavascript / HTML5の使用もサポートしています。これらは、Appleがサポートを発表した唯一の言語です。他の場所でサポートを見つける必要がある他のもの。

ただし、本当に必要な場合は、iOS App Storeで少なくとも半ダースのBASICインタープリターが利用できるようになったため、「石器時代」のプログラミング手法も許可されるようになりました。

追加:(*)2014年後半から、Appleの新しいSwiftプログラミング言語を使用してアプリを開発することもできます。2015年の初めの時点で、送信されたバイナリには64ビット(arm64)サポートが含まれている必要があります。


11

長年使用されてきたObjective-Cを徐々に廃止する計画で、AppleはSwiftと呼ばれる新しいプログラミング言語を導入し、AppleiOSデバイスとAppleMacintoshコンピューターで実行するアプリとアプリケーションを設計しました。

Appleは次のように述べています。「SwiftはiOSおよびOSXアプリ向けの新しいプログラミング言語であり、C互換性の制約を受けることなく、CおよびObjective-Cの最高のものに基づいて構築されています。柔軟で、より楽しい。成熟した、非常に愛されているCocoaおよびCocoa Touchフレームワークに裏打ちされた、Swiftのクリーンなスレートは、ソフトウェア開発の仕組みを再考する機会です。

迅速なご紹介

ここに画像の説明を入力してください


6

iPhone、iPod Touch、iPad(iO)アプリケーションの開発に使用できるプログラミング言語は何ですか?

Ruby、Python、Lua、Scheme、Lisp、Smalltalk、C#、Haskell、ActionScript、JavaScript、Objective-C、C ++、C。それが今私の頭に浮かぶものです。数千とは言わないまでも数百の人がいると確信しています。(例:あなたが使用できない理由がない任意のMonoTouchででの.NET言語は、すなわちVB.NET、F#、Nemerle、ブー、コブラ、...)

また、iOSがサポートするプログラミング言語の量を拡大する計画は将来ありますか?

承知しました。この地球上のほとんどすべてのプログラミング言語コミュニティは、現在、iOSで言語を実行するために取り組んでいます。

また、多くの人がiPod touch、iPhone、iPadなどのタッチデバイス用に特別に設計されたプログラミング言語、たとえばPhilMercurioThyrd言語に取り組んでいます。


4
-1。Ruby、Python、およびActionScriptはiOSではまだ機能しません。過去にCLとSchemeを実行する試みがありましたが、それらは最新ではないと思います。Haskellと同じ取引。JavaScriptCoreは現在プライベートフレームワークです。WebビューでJSを使用してObjective-Cのスクリプトを作成できますが、それは本当に不格好です。
ジョナサンスターリング

4
@Jonathan Sterling:AppStoreを通じてRubyアプリを1年以上販売している開発者にそのことを伝えてください。彼らは自分たちのアプリが存在しないことを知りたいと思っていると思います。
イェルクWミッターク

4
Rhomobileはカウントされません。これらは実際のネイティブアプリではありません。彼らはただウェブビューで立ち往生しています。
ジョナサンスターリング

@Jonathan Sterling:ここでのパーティーには少し遅れるかもしれませんが、ActionscriptはiOS用のAIRを介してiOSでサポートされています。(そしてそれは元のコメント10月10日の時でした)。それもかなり素晴らしいパフォーマンスを得る
マーティピット

5

iOS(およびMac OS)のプログラミング言語はObjective-CおよびCです。iOSアプリを開発するにはXcodeプラットフォームを使用する必要があります。ベータリリースで利用可能になった次のバージョンでは、Xcode4はC ++もサポートします。


iOSアプリやObjectiveCまたはC ++の開発にXcodeを使用する必要はありません。たとえば、コマンドラインツールを利用するRubyMotionを使用できます。また、iOSとAndroidで実行できるアプリを開発するためのサードパーティの開発ソリューションがいくつかあります
Martin Lockett 2014年

4

iOSアプリケーションの開発にOCamlを使用することも可能になりました。これは標準配布の一部ではなく、Psellos社が提供する変更が必要です。詳細については、http//psellos.com/ocaml/を参照してください。


2

これは古いスレッドかもしれませんが、HTML5 / JavaScript / CSSに精通している人なら誰でもiOSアプリケーションを開発できるAppceleratorTitaniumについて言及したいと思います。


私が間違っていなければ、Titaniumを使用するときにJavaScriptをRubyまたはPythonのいずれかと交換できます。
Torbjørn

2

現在はObjective-Cのみが許可されています...しかし、数か月前から、アプリケーションで解釈されるスクリプトを作成することが許可されています。

そのため、LUAインタープリターまたはPythonインタープリターを作成してから、アプリケーションの一部をこのスクリプト言語で作成できる場合があります。アプリケーションをAppStoreで承認する場合は、これらのスクリプトをアプリケーションにバンドルする必要があります(たとえば、アプリケーションはインターネットからダウンロードできません)。

新しいアプリストアのルールを見る



1

「smartBASIC」プログラミング言語を使用できます。それは本物ですが、そのすべての力とシンプルさを備えた非常に高度なBASIC言語です。無料のSDKを使用すると、BASICコードをスタンドアロンのAppStoreアプリケーションとして簡単に公開できます。App Storeには、「smartBASIC」プログラミング言語で書かれたアプリがたくさんあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.