モバイルアプリのプログラミング言語、フレームワーク、SDKを検討するときは、フロントエンド(UI)開発環境を考慮する必要がありますが、バックエンド(サーバー側)開発環境にも注意する必要があります。 フロントエンドをコーディングしている開発者は、バックエンドをコーディングしている開発者ではないことがよくありますが、通常は互いに協力します(とにかく企業内にいます)。 この記事では、モバイルアプリとモバイルバックエンドを開発するための今日の人気のあるプログラミング言語と開発フレームワークを確認します。
モバイルアプリの種類
コーディングの観点から、開発者は3種類のモバイルアプリのいずれかを作成することを選択できます。
ネイティブモバイルアプリは、デバイスのOSベンダーによってネイティブにサポートされている言語で記述されたアプリです。基盤となるプラットフォームAPIはアプリコードで100%利用でき、OSはUIコンポーネントライブラリを提供します。ビルドプロセスは、このコードをOSのネイティブバイトコードを使用して実行可能なアプリに変換します。
クロスプラットフォームモバイルアプリは、1つの言語で記述され、すべてのプラットフォームで実行できるアプリです。クロスプラットフォームのモバイルアプリでは、アプリを記述する言語が、基盤となるデバイスOSのネイティブ言語ではない場合があります。これは、コードがいくつかのサポートライブラリの助けを借りてOSで直接実行できるバイトコードに含まれている、ブリッジされている、またはクロスコンパイルされている可能性があることを意味します。
モバイルWebアプリは、デバイスのブラウザーでURLを開くという軽量のパラダイムですが、見た目と感触は通常のモバイルアプリと同じです。モバイルWebサイトは、デバイスにインストールされたアプリとしては配信されませんが、モバイルデバイス用に構築する際に考慮すべき重要なパラダイムです。開発者は2つのWebサイトプログラミングパラダイムを使用して、モバイルWebアプリを作成できます。
レスポンシブウェブプログラミングは、ウェブサイトのレイアウトがデバイスのフォームファクターに合わせて編成されるスタイルのウェブサイトプログラミングです。したがって、コンテンツを水平方向に参照する代わりに、デバイスの幅に合わせてコンテンツを「スナップ」します。これらのWebサイトは、デスクトップからも使用できます。 IBM Developerで最新のレスポンシブデザインのアイデアについて学びます。
プログレッシブウェブプログラミングでは、モバイルデバイスのブラウザから移動したときに従来のモバイルアプリのように見える通常のウェブサイトであるプログレッシブウェブアプリを作成します。彼らはほとんどアプリのような体験を提供します。プログレッシブウェブアプリには、ホーム画面へのリンクを追加する機能(アプリアイコンが表示されるようにする機能)があり、インターネットに接続していないときにコンテンツをデバイスのローカルにキャッシュしてオフラインで実行する機能もあります。
iOSプラットフォーム用のモバイルアプリの開発
iOSプラットフォームは、Appleが作成した独自のプラットフォームです。 iOSプラットフォームは、電話デバイス(iPhone)とタブレットデバイス(iPad)で構成されています。 iOSプラットフォーム用のアプリを開発し、同じアプリをiPhoneとiPadの両方にターゲティングできます。アプリの開発中は、各デバイスで利用できる不動産の制約を考慮する必要があります。 iOSアプリは、AppleアプリストアからiPhoneまたはiPadにインストールできます。
iOS用のアプリを構築するには、MacコンピューターにApple開発者アカウントとXcode IDEが必要です。 Windowsマシンだけで効果的にビルドおよびデバッグすることはできません。 Xcodeには、SDK、コードエディター、コンパイル/ビルドツール、シミュレーター、デバッガーなど、必要なすべてのApple開発ツールキットが付属しています。サードパーティのSDKを取り込むか、作成したSDKを配信するには、パッケージマネージャーとしてCocoaPodsまたはCarthageを使用する必要があります。
アプリは、Objective-CとSwiftを備えたネイティブiOS SDKを使用するか、そのフレームワークのSDKに対して記述されているがiOSをターゲットとするさまざまなクロスプラットフォームテクノロジーを使用して、iOSデバイス用に構築できます。
Objective-C
AppleがSwiftを導入して以来、Objective-Cの人気は、新しいiOSモバイル開発では大幅に低下しています。
