フルスタック開発者になる方法:パート2

公開: 2017-12-02

これは、プログラミングとフルスタック開発を自分で学ぶことに関する一連の投稿の2番目です。 CSの基礎、アルゴリズム、設計原則、およびフロントエンド開発の学習に関する最初の部分をまだチェックしていない場合は、ここでチェックできます。

モチベーション

HTML、CSS、およびJavascriptを使用して静的Webサイトを構築する方法をマスターしました。 インターネットはもともと静的なWebページを共有するように設計されていましたが、最新のWebアプリの機能(および期待)は大幅に向上しています。 ほとんどすべてのアプリでは、ユーザーを認証し、ユーザーに応答して、実際のシナリオを可能な限り忠実に再現する必要があります。
上記を行うには、ユーザー(またはAPI)からデータを取得し、それを処理して出力を生成する必要があります。 また、このデータを保存し、ユーザーが次にアプリを使用するために戻ったときにユーザーを識別するメカニズムを用意する必要があります。 これらの機能を実行するには、現在のスタックでは不十分です。
Bizongoの共同創設者兼CTOであるAnkitTomarへのインタビュー

サーバーは、ユーザーデータの処理、ファイルの保存、HTML / CSS/JSへの変換を行う必要があります。 次に、これらのサーバーは、ユーザーに提示できる形式でブラウザーに提供します。 アプリにとって重要なデータを保存するには、データベースが必要です。 サーバーをプログラムするには、サーバー側のスクリプト言語が必要です。データベースには、データベース(duh)とそれと通信するための言語が必要です。 これはまさに次のステップで行うことです。 最初の7つについては、以前の投稿を参照してください。

目次

ステップ8:サーバーサイドスクリプト言語

前述のように、サーバーをプログラムして通信するには、サーバーが理解できる言語を知っている必要があります。 Javascriptが唯一の選択肢であるフロントエンドとは異なり、バックエンドでプログラミングできるオプションは多数あります。 最も人気のあるものは、Java、PHP、Python、JavaScript、Rubyです。
PHPには欠点がありますが、これまでに使用したすべての言語とフレームワークの中で最も穏やかな学習曲線があります。 そしてPHPは、迅速な(そして汚い)ソリューションのコーディングに関するものです。 したがって、非常に短い期間で、非常に誇りに思うWebアプリを構築できます。
フルスタックのWebソフトウェア開発者になる方法UpGradBlogフロントエンドバックエンド
Javaは汎用プログラミング言語であり、おそらくこれまでで最も人気のある言語です。 (Androidプラットフォームで)モバイルアプリを構築するために非常に人気があり、ほとんどの主要なテクノロジー企業で広く使用されています。 Head First Javaは、このユビキタス言語を学ぶのに最適な場所です。
Pythonを学ぶには、 ZedShawのLearnPython theHardWayを強くお勧めします。 そしてAlbertSweigartは退屈なものをPythonで自動化します。 PHPを使用することにした場合は、Codecademyで言語の基本を学ぶことができます。
NodeおよびバックエンドJSフレームワーク(Expressなど)で手を汚すのに十分なJavaScript構文をすでに知っています。 Rubyはスタンドアロン言語として使用されることはめったにないため、後でRailsと組み合わせて説明します。

ステップ9:SQLを学ぶ

次のステップでは、おそらく少しSQL(Structured Query Language)を選択する必要があります。 これは、データベースが通信する言語です。 また、フレームワークの使用に切り替えるときに直接使用しない場合もありますが、データベースと直接通信する方法を知っておくと役立ちます。 幸いなことに、SQLは非常に簡単に習得できます。 あなたは数時間のうちにそれをよく理解することができるはずです。 Head First SQLは、この目的のための優れたリソースです。
フルスタック開発者になる方法:パート1

ステップ10:「従来の」フルスタックWebフレームワークを学ぶ

今こそ、低レベルの作業のほとんどを実行できるWebフレームワークを試す良い機会です。
考えられるあらゆる目的に対応できる優れたフレームワークが不足することはありません。 Rails(Rubyで書かれている)、Spring(Javaで書かれている)、Django(Pythonで書かれている)は、今日広く使われているフレームワークの1つです。 無料で入手できるMichaelHartlのTheRailsチュートリアルをご覧ください。
Djangoに関する限り、公式Webサイトのチュートリアルから始めるのがよいでしょう。 フレームワークの基本に慣れたら、 Two ScoopsofDjangoを読んでください。 これは、これまでで最高のテクノロジーブックの1つです。
春のルートに行くことにした場合は、 UpGrad&IIIT-Bのソフトウェア開発プログラムにサインアップすることを強くお勧めします。 このプログラムは、フレームワークの非常に全体的な概要を提供し、堅牢でスケーラブルなバックエンドを構築するのに役立ちます。

ステップ11:JavascriptフルスタックフレームワークとMEANスタック

少し前まで、バックエンド開発は要求/応答サイクルの概念に基づいていました。 たとえば、ブラウザがリクエストを送信し、サーバーがHTMLのWebページを吐き出すことで応答しました。 ただし、2010年の初め以降、ますます多くのアプリケーションがリアルタイムになっています。
Webページ全体の構造は更新されずに変更され、ユーザーの入力と操作(チャット、いいね、コメント、ライブビデオ、反応など)に基づいて動的に動作します。
フルスタックのWebソフトウェア開発者になる方法バックエンドUpGradブログ
このようなシナリオでは、単純な要求/応答サイクルだけでは不十分です。 そのため、最近、非同期プログラミングとAJAXリクエストを標準にすることに関心が高まっています。 Javascriptフレームワークはこれに優れている傾向があります。 したがって、市場で入手可能な主要なJSフレームワークの1つに精通することは理にかなっています。 最も人気のある2つは、MEANStackとMeteorJSです。
Fyndの共同創設者であるFarooqAdamへのインタビュー

MEANの学習は、その非同期性のために少し複雑であり、コールバック地獄ノードは通常、解き放たれる傾向があります。 しかし、あなたはベテランの開発者になったので、その特異性に対処するのに十分成熟しています。
Meteorは、私が現在実験しているフルスタックのJSフレームワークです。 Meteorの概念は、非常に楽しいものです。アプリケーションのすべてのコンポーネント(フロントエンド、バックエンド、およびデータベース)を処理する1つの言語の1つのフレームワークです。 ただし、これにはカスタマイズの自由が犠牲になります。 Meteorで何かを構築した後は、データベースまたはバックエンドフレームワークを変更することを選択した場合、それを変更することは事実上不可能です。 それでも、これは学ぶ価値のある技術だと思います。 Meteorは非常に強力であることが知られています。 他の従来のフレームワークでは数千行が必要だった数百行のコードで処理を実行できます。

結論

これでパート2は終了です。この投稿では、バックエンド開発と利用可能なさまざまなフルスタックテクノロジーに関するリソースについて説明しました。 これで、自分をフルスタック開発者と誇らしげに呼ぶことができます。 おめでとう!
しかし、フルスタックWeb開発の話はここで終わりではありません。 iPhoneの登場により、世界中でスマートフォンに革命が起こりました。 ますます多くの人々がデスクトップの代わりにスマートフォンを使用する方向にシフトしています。 このようなシナリオでは、AndroidとiOSという最も人気のある2つのプラットフォーム用のアプリを作成する方法を学ぶことが不可欠です。 これについては、このシリーズの次の最後のパートで取り上げます。 さらに、Javascript(Ionic、React Nativeなど)を使用してネイティブアプリを構築できるフレームワークについても検討します。
それまではさようならです。
あなたのコメントや提案は大歓迎です!

フルスタック開発者になる

UpGradとIIIT-ソフトウェア開発におけるバンガロアのPGディプロマ
もっと詳しく知る