Web開発は単なる1つのことではありません。 それには複数のスキルセットが含まれており、Web開発スペースにはさまざまな種類のキャリアがあります。 「フロントエンド」、「バックエンド」、「フルスタック」の3つの用語がよく使用されます.3つの主な違いがあります。
フロントエンドWeb開発
フロントエンドの開発は、コンポーネントが常に変化している間は、基本的にWebサイトやWebアプリケーションの外側に面する部分を扱います。
その核となるのは、HTML、CSS、JavaScriptです。
- HTML :HyperText Markup Language(HTML)は、インターネット上のすべてのWebサイトの主要な構成要素です。 それがなければ、Webページは存在できません。
- CSS :CSSはHTMLにスタイルを追加します。 私は、HTMLは顔のようであり、CSSはメークアップのようなものであるというアナロジーを使いたい。
- JavaScript :JavaScript、またはJSは、ここ数年で進化し続けています。 フロントエンドの開発に関しては、WebページをインタラクティブにするためにJSが重要です。
一般に、フロントエンドはレイアウトとデザインの原則に関連付けられています。 しかし、フロントエンドの開発者は必ずしもデザイナーではありません。
基本的に、フロントエンドの開発者は外見を構築します - ユーザが見るウェブサイトのページ。 つまり、フロントエンドの開発者は、サイトやアプリケーションの可読性と可用性を考慮する必要があります。
さらに、フロントエンドはクライアント上で動作します。つまり、ユーザーのローカルコンピュータを意味します。ほとんどの場合、Webブラウザです。
情報はクライアント側には格納されません。
バックエンドWeb開発
バックエンドのWeb開発は、舞台裏で進んでいます。 バックエンドはフロントエンドの操作を可能にします。
物事を簡単にするために、フロントエンドを水上の氷山の一部として考える。 これは、ユーザーが見るものです - 洗練された見た目のサイト。
バックエンドは氷の残りの部分です。 エンドユーザーは見ることはできませんが、Webアプリケーションの最も基本的な要素です。 バックエンドはサーバー上で実行されるか、しばしば「サーバー側」と呼ばれます。
バックエンドWeb開発は、フロントエンド開発(主にHTML、CSS、およびJavaScriptを使用)とは異なり、さまざまな言語とフレームワークに依存しています。
バックエンドで使用されるいくつかの一般的な言語は次のとおりです。
- Ruby (Railsフレームワーク、AKA Ruby on Railsと併用されることが多い)
- Python (バックエンドのDjangoフレームワークでよく使用される)
- PHP (一般的なWordPress CMSはバックエンドでPHPを使用しています - PHPにはLaravelという人気のあるフレームワークがあります)
- Node.js (普及している - これはJavaScriptで構築されたWebアプリケーションのバックエンド環境です)
しかし、大規模なWebサイトやWebアプリケーションが動作するためには、バックエンドの言語とフレームワーク以上のものです。 ウェブサイトやアプリケーションに関するすべての情報は、どこかに保存する必要があります。
これがデータベースの入り口です。バックエンドの開発者もこれを処理します。
( 注 :HTMLやCSSだけでデータベースなしでWebサイトを構築することができます。これは静的なサイトであり、柔軟性に欠けるかもしれませんが、動的に生成される情報に依存するサイト - Facebook、Yelp、any電子商取引サイト - データベースが必要です。)
人気のあるデータベースは次のとおりです。
- MySQL
- PostgreSQL
- MongoDB
- その他
通常、特定のバックエンド言語/フレームワークには特定のデータベースが必要です。 たとえば、MEANのフルスタックフレームワークにはMongoDBが必要です。
バックエンドの開発者は、バックエンドの言語/フレームワークを認識し、データベースを実行すること以外にも、サーバーのアーキテクチャを理解している必要があります。
サーバーを適切に設定することで、サイトが高速で実行され、クラッシュしたり、ユーザーにエラーが発生することはありません。 ほとんどのエラーはフロントエンドではなくバックエンドで発生するため、これはバックエンド開発者のドメインに該当します。
完全なスタック
はい、あなたはそれを推測しました:フルスタックは、フロントエンドとバックエンドの両方の組み合わせです。
フルスタックの開発者は、全面的な取引である。 サーバーの設定方法からデザインに関連するCSSまで、すべての開発レベルを担当しています。
最近、Web開発には多くのことがあり、両者を処理することはほとんど不可能です。 多くの人が完全なスタックであると主張することができますが、実際には依然としてクライアントやサーバーのどちらか一方に重点を置いています。 (AKAフロントエンドまたはバックエンド)
小規模の企業/新興企業では、Web開発のあらゆる側面に一人の責任があります。 しかし、大企業では、チームで作業し、特殊な役割を果たします.1つはサーバーのアーキテクチャに、もう1つはフロントエンドの他の人(または少数の人)に集中します。
結論
Web開発には多くの面があり、毎日進化しています。 学ぶことはたくさんありますが、一度にすべてを学ぶように圧力を感じることはありません。 職場環境では、通常、他のチームと一緒にいることを覚えておいてください。 Web開発の一面であなたのスキルを磨くことに焦点を合わせます。 あなたがそれを知る前に、あなたは圧倒されず、あなたはプロになるでしょう。