これはよくある質問であり、当然のことです。プログラマーとして、なぜ私が Web アプリケーションの開発方法を知っていると思われなければならないのでしょうか?この質問に対する簡単な答えはなく、教育機関ですら明確な答えを持っていない可能性があります。私が通っていた大学ではこのテーマに関するコースが提供されていませんでした。したがって、この分野のほとんどの Web 開発者と同様に、私も実際にやって実験することでこれを学びました。誰も作り方を教えてくれなかったので、自分で何かを作ることから始め、Web アプリケーションの開発方法を学ぶのはそのプロセスの副産物でした。これはあらゆる言語を学ぶのに非常に効果的な方法です。
幸いなことに、ここでは Web アプリケーションを開発する方法の主なプロセスについて説明します。これがあなたのスタートに役立つことを願っています。 `
Web アプリケーションと Web サイトの違い
まず最初に、Web アプリケーションの開発は Web サイトの開発とは異なることを説明したいと思います。全体的には大きな類似点がありますが、開発にかかる時間には大きな違いがあります。では、Web アプリケーションと Web サイトの違いは何でしょうか?通常、ウィキペディアはこの問題の説明に役立ちます。ウィキペディアがアプリケーション ソフトウェアをどのように定義しているかを見てみましょう:
アプリケーション ソフトウェアは、アプリケーションとも呼ばれ、ユーザーが特定の目的で設計された 1 つ以上のコンピューター ソフトウェアを実行できるように特別に設計されたソフトウェアを指します。特定のタスク。エンタープライズ ソフトウェア、会計ソフトウェア、オフィス スイート、描画ソフトウェア、メディア プレーヤーなどはすべて、このカテゴリのソフトウェアに分類されます。
アプリケーション ソフトウェアとは対照的に、システム ソフトウェアとミドルウェアはコンピューターのパフォーマンスとコンピューターとの統合方法を管理しますが、通常、これらのタスクはユーザーに利益をもたらすタスクの実行に直接反映されません。たとえば、あまり適切ではない物理的な例えですが、アプリケーション ソフトウェアとシステム ソフトウェアの関係は、電球と発電所の関係に似ています。発電所 (システム ソフトウェア) は電気を生成するだけで、実際の電力は持ちません。ユーザーにサービスを提供するために電球などのアプリケーション ツールが使用される場合を除き、独自の目的。
内部から、Web アプリケーションの私自身の定義を要約しました:
Web アプリケーションは、ユーザーが特定のタスクを完了できるようにする Web サイトです。通常の Web サイトの主な目的は、ユーザーに情報 (ブログ、ニュース、ガイダンスなど) を提供することです。
Web アプリケーション開発プロセス
特性が明確になったので、Web アプリケーション開発のプロセス全体を定義し始めることができます。もちろん、プロジェクトの規模によっては、プロセスの一部のステップは頭の中で実行できるほど小さい場合もありますが、全体を見るのは常に良いことです。また、この記事では各手順の詳細な説明は行っていないことを理解することが重要です。
ステップ 1: 分析
Web アプリケーション開発の最初のステップは、ニーズを分析することです。ここで、アプリケーションが提供する機能のできるだけ包括的なリストを定義する必要があります。クライアントのためにこれを行う場合は、クライアントが何を望んでいるのかを理解する必要があります(そして、お互いが相手が何を話しているのかを確実に理解する必要があります)。議論から、要件とソフトウェア仕様を要約できます。自分で開発する場合でも、この Web アプリケーションに実行させたい機能を書き留めておくことをお勧めします。
ステップ 2: 設計
Web アプリケーションが何をする必要があるかを理解したら、設計を開始できます。通常、このステップはデザインが改良されるたびに何度も繰り返されます。最初に行う必要があるのは、ページ フロー図を描くことです (紙に書くか、ソフトウェア ツールを使用するか、お好みの方法を使用してください。私は変更をより迅速に行うことができるので、紙を使用するのが好きです)。ページ フロー図は、通常、実装する Web アプリケーションがどのように見えるかを示す非常に抽象的な白黒の図です (色を追加することもできますが、シンプルにするようにしてください)。
このステップにより、アプリケーションが最終的にどのようになるかがわかります。 37signals が主張していることとは反対に、いくつかの単語による説明を使用し、適度に詳しく説明することをお勧めします。良いアイデアを思いついたとき、または何かをどのように行うべきかを思いついたときは、それを紙にマークします(たとえば、このボタンをクリックすると、別の要素が変更または非表示になるはずです。これをプロセスの中で書き留めます)絵)。
作成したスケッチに満足したら、物理モデルの作成を開始できます。
物理モデルはまだパターンですが、色と詳細が付いています。最終的なモックアップは、実装する Web アプリケーションのスクリーンショットのようになります。クライアントのために開発を行う場合、クライアントはこれらの点を検討して承認を与えるでしょう。ただし、多くの人はこのステップをスキップすることを好み (主に非デザイナー)、Web プロトタイプに直接進みたいと考えています。
プロトタイプは HTML で開発され、CSS (場合によっては JavaScript) を使用してレンダリングされます。ページ レイアウトを作成し、リンクをクリックできるようにし、色、フォント、フォント サイズを設定する必要があります (物理モデルを作成すれば簡単です)。ここにあるものはすべて最終的なアプリケーションで使用できるため、このステップは非常に重要です。可能であれば、プロトタイプでユーザビリティ テストを実行すると、長期的には多くの間違いを防ぐことができます。
このステップの最後には、Web アプリケーションがどのように構成されているかが基本的にわかります。ログイン ページとは何ですか?ユーザーはどのようにホームページから各ページに移動しますか?
ステップ 3: 実装する
フレームワークを選択する
開発したいものがわかったので、それを作成する必要があります。この部分は大変な作業であり、ほとんどの時間を費やすことになります。最初に決定しなければならないのは、どのように開始するか、どのテクノロジーとどのフレームワークを使用するかです。選択肢はたくさんあり、自分に合ったものを選択する必要があります。最も一般的に使用されるフレームワークのリストは次のとおりです:
ASP.NET
PHP上の任意のプロセスフレームワーク
Djangoを使用したPython
Ruby on Rails
どのフレームワークが最適であるかを示す明確な基準はありません。それらはすべて異なり、それぞれに独自の強みがあります。知っておく必要がある最も重要なことは、それらのいずれでも便利な Web アプリケーションを開発できるということです。
開発
開発方法がわかったら、早速始めましょう。この開発作業には多くの部分があるように見えますが、結局のところ、これらは標準的なプログラミング作業です。バックグラウンドでクラス、オブジェクト、サービス、プロシージャ、永続化レイヤーを作成し、これらのオブジェクトをデータベースに保存します。バックグラウンドは、どのアプリケーションにとっても、通常のプログラミングと何ら変わりません。次に、フロント デスクの開発が始まります。ここで作成するコードは、ユーザーにとって実際の操作インターフェイスになります。バックグラウンド プログラムとプロトタイプ インターフェイスを統合し、システムのすべての部分を統合します。 JavaScript を使用して、開発プロセス中に思いついたいくつかの優れた小さな関数を実装することもできます。
繰り返しになりますが、バックグラウンド プログラムを実装するにはさまざまな方法があります。作業のこの部分を実装する方法を理解するには、選択したフレームワークに関連する情報を読むことをお勧めします。通常、この知識はオブジェクト指向プログラミングに関連しますが、一部のフレームワークは徐々にドメイン駆動設計に移行しています。
ステップ 4: 磨き
これでアプリケーションが開発され、独立したモジュールが統合されました。ステップ 1 で定義した要件とソフトウェア仕様が実装されていることを確認するためにテストする必要があります (この質問は開発プロセス全体を通じて念頭に置く必要があります)。愚かなユーザーがまだ実装していないことを実行しようとしてアプリケーションを破壊できないようにしたいと考えています。また、プログラムがさまざまなブラウザー (できれば IE6 ではない) で正しく実行できることを確認する必要もあります。
アプリの操作性を向上させ、完璧なものにするために、いくつかの小さな調整を加える時期でもあります。
ステップ 5: リリースとフォローアップ作業
この最後のステップ (ただし、終わりではありません) は、ユーザーが実際に使用できるようにアプリケーションをリリースすることです (このアプリケーションが公開開発されたアプリケーションの場合は、次のことを忘れないでください)プレスプロモーションを行います)。必要に応じて、最初にベータ版をリリースしてください。そうすれば、少数のユーザーだけがアプリケーションの大きな問題を見つけることができます (プログラムには間違いなくバグがあるため)。また、プログラムの品質を向上させるのに役立ちます。急いで機能を追加せず、現在のプログラムをしっかりとしたものにすることに集中してください。
ベータ段階を通過し、プログラムが非常に安定したら、ユーザーのフィードバックに耳を傾け、アプリケーションを自分で試して、アプリケーションをより良くする方法を考え始めることができます。不一致な領域を見つけて削除します。後続の各反復では、上記の 5 つのステップを実行しますが、最初に述べたように、これで動作するアプリケーションが完成したので、これらのステップを頭の中で直接完了して、次の反復のコードでの機能のテストに直接進むのは簡単です。 。
おめでとうございます。あなたは Web アプリケーションの作成者であることを誇りに思います。