Webアプリケーションとしてのスタートアップは、後にモバイルアプリケーションとして拡張されました。それを適切に行う方法は?

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/18176

質問

私はこの考えを持っています。ウェブアプリとしてアイデアを開始し、モバイルアプリと可能なデスクトップアプリケーションに移動したいと思います。

プロジェクトにはデータベース(主に文字列)が必要です。また、ユーザーはこれらのデータベースへのアカウントとアクセスを持っています。したがって、このプロジェクトは、インターネットを介してユーザーリソースへのアクセスを提供します。さまざまなプラットフォームからデータベースに簡単にアクセスできるようになりたいです。このプロジェクトは私のITを削ることでもあるので、簡単な道を望んでいませんが、より良い道を望んでいます。

  • フレームワーク/スキルの私の最良のオプションは何ですか?
  • プロジェクトを管理するための優れたツール?
  • Web-Appとしての開始は良い選択ですか、それとも最初にモバイルアプリとして構築する必要がありますか?

私にはいくつかの知識があります(ただし、多くの経験はありません):

C、C ++、Java、PHP、JavaScript、MySQL、HTML/CSS。

編集:私の質問はあまりにも一般的すぎることを知っています。私が望んでいたのは、いくつかのアイデアと良いスタートを切るために導くことだけです。

@Nathan Taylor、Web-Appに関して、私は何も選択肢を気にしません(この点でPythonを学ぶか、PHPに固執する必要がありますか)?

おそらくAndroid、そしておそらくiPhoneでプロジェクトを実装します。

役に立ちましたか?

解決

コードの共有部分は、サーバー側のコンポーネントになります。 Soap ServicesなどのWebサービスのセットを構築すると思います。さまざまなフロントエンドはすべて、この同じサービスAPIと通信します。すべてのターゲットプラットフォームとデバイスにどのようなAPIが対応できるかについて、長くて懸命に考えることは非常に重要です。デスクトップとモバイルアプリの間のさまざまなユーザーの期待と、これが基礎となるAPIにとって何を意味するかを考えてください。

異なるターゲットプラットフォーム(モバイル、Web、デスクトップ)に同じクライアント側のコードを使用しようとしないでください。そのようにしっかりとしたユーザーエクスペリエンスを得ることはできません。さまざまなフロントエンドの場合、目指したいすべてのプラットフォームに伸びることができる単一のテクノロジースタックに焦点を当てることが最善です。そうでなければ、あなたは学ぶべきことの量にownれます。 Webスタックを選択するのは安全な選択です。これは、モバイルデバイスやさまざまなソリューション(Adobe Air、Sencha Touchなど)を備えたデスクトップデバイスに適応できるためです。絶対に必要な場合は、ネイティブのiPhoneアプリを後で作成するためにObjective Cをピックアップできます。

それが私なら、私は次のテクノロジーの選択を使用します:

  • サーバー側:phpまたはnode.js
  • クライアントサイド(Web):Ext JS
  • クライアント側(モバイル):Sencha Touch
  • クライアント側(デスクトップ):Adobe Air

私はそれらがあなたにとって最良の選択だと言っているのではありません。彼らは私にとって最高の選択肢です。

ライセンス: CC-BY-SA帰属
所属していません softwareengineering.stackexchange
scroll top