モバイルアプリのブームに関して、サーバーサイドテクノロジーの世界で何が起こっていますか?


12

モバイルテクノロジーの人気が高まるにつれて、これらのアプリのほとんどがバックエンドと通信する必要があるときにサーバー側で何が起きているのでしょうか?

私は、10年前にテクノロジーの世界に慣れていました。ほとんどのリソースにアクセスする際、サーバー側の言語を使用してリレーショナルデータベースから必要な情報を取得する動的なWebページを要求していました。

これはまだ当てはまりますか?もしそうでなければ、大きな変化は何ですか?


多くの小さなアプリはGoogle App Engineに依存しています:)。
-MrFox

回答:


7

私の頭の上から:

  1. クライアントからDBに直接アクセスする代わりに、Webサービスを使用します。
  2. SOAPの代わりにREST。SOAPは、バックエンドとのモバイル通信には重すぎるようです。JSONを使用したRESTは、セットアップと使用がはるかに簡単です。特に、クライアントとサーバーで異なるテクノロジーを使用している場合。
  3. Webページの複数のビューに焦点を当てます。1つはデスクトップ用、もう1つはモバイル用です。誰かがMVCを使用すれば簡単ですが、それでもかなり問題があります。

おそらくもっとあります。モバイルアプリは、通常、データを消費して表示する通常のクライアントと見なされます。


6

テクノロジーズ

  • JSONをシリアル化として使用するRESTful API —ネイティブアプリ、ハイブリッドアプリ、モバイルWebアプリで同じAPIが使用されます。前者の場合でも、クライアント側のテンプレートがよく使用されます(「JSPをそのままにする:LinkedInをdust.jsクライアント側のテンプレートに移動する」の優れた例を参照)

  • 軽量の非同期(イベント駆動型)サーバー — Apacheの事前フォークは不要です。Nginx、node.js、Twisted、Tornadoなどが現在使用されています。

  • OAuth /ソーシャルログイン —ユーザーは、個々のアプリごとにアカウントを登録する必要がないことを期待しています。したがって、ほとんどのアプリはFB、TW、その他のプロバイダーでのログインを許可します。FBでは、AndroidとiOSの両方でシングルサインオンオプションが提供されます。

考慮事項

  • モバイルネットワークの待ち時間は非常に長くなります。
  • クライアントが接続を失うことは正常です。
  • クライアントがセッション中にIPを変更するのは正常です。
  • モバイルはデスクトップ/ラップトップほど強力ではありません。

4

RESTはストーリーの半分です。ワイヤ上のより軽量なプロトコルよりも興味深いのは、より軽量なWebアプリサーバーとスタックです。小さなデータグラムと比較的太いレンダリングされたHTMLに対する大規模な要求は、異なる要件があることを意味します。いくつかの例:

  • node.jsはおそらくこの典型的な例でしょう。ほとんどの人はjavascript-on-the-server機能に夢中になりますが、それは赤いニシンです。jsを超えて進歩することはできませんが、それは問題ではありません。本当に気の利いた部分は非同期の性質であり、特に小さくて鋭いRESTfulサービスを提供している間、それを異常に拡張します。似ている他のいくつかのスタックは、Pythonではツイスト、.NETではマノスデモノです。

  • nginxは、node.jsと同じイベントIO(libuv)を多数使用し、一部のサークルではサーバー市場をクリーンアップしています。Apacheよりもはるかに集中しており、非常に高速です。

  • シンサーバースタックは、従来多くの推測を行っていた厚いフレームワークがあった環境に出現しています。IE、ルビーでは、レールを相殺するシナトラがあります。pythonには、djangoを相殺するためのフラスコ(およびその他)があります。.NETには、MVCとWebFormsのバランスをとるためのWebAPIがあります。私が述べたスタックはすべて非常に薄く、Webページではなくデータグラムの提供に(または完全に)焦点を合わせています。私が言及するものはどれも、最近の典型的なWebスタックから期待されるテンプレートとORMの種類を特色としません。

そうは言っても、多くの場合、誰かが既存の10年前のサーバーサイドWebアプリをハッキングして別のHTTPエンドポイントでjsonを提供することでモバイルアプリを提供しています。世界はそれほど変わっていません-彼らがそれで逃げることができると思うならば、管理はまだ2つの車輪とドーナツに沿ってぐったりします。


1

これはまだ当てはまりますか?もしそうでなければ、大きな変化は何ですか?

前述のサーバー側またはクライアントサーバーアーキテクチャを使用するアプリケーションがまだあると思います。ただし、近年ではSOA(サービス指向アーキテクチャ)への大きな動きがあります。したがって、安全なサービスを介した通信は、すべてのクライアントアプリケーションに新しい機能を提供し、同時にバックエンドビジネスサービスへのアクセス/再利用を可能にします。

モバイルおよびタブレットの新興市場では、HTTPサービスを重要な通信チャネルとして使用して、クライアントアプリケーションに拡張サービスを提供することがさらに重要になっています。


1

ほとんどのバックエンドは、SOAPだけでなくJSONとRESTをサポートするようになりました。それ以外は、Webフロントエンドとモバイルアプリの間に大きな違いはありません。モバイルアプリの課題のほとんどはフロントエンド(小さな画面に情報を収める最適な方法)にあると思います。一部のアプリはモバイル機能(位置情報レポートなど)を活用し始めていますが、それは両端にあります。

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