こんにちは、てぃさんです。
今回はWebアプリケーションエンジニアになりたい!という方にとって、まずは、何をすればいいかよいかわからないのではないでしょうか。
プログラミングというのは必要ということはなんとなくわかっているけれど、普段よく使うWebアプリケーションはどのような技術で成り立っているのかわからないのが正直なところだと思います。
そのような方に、Webアプリケーションのエンジニアになるには、まずは、これをやってみてほしいというプログラミング5選を記事にしましたので、よければ参考にしてみてください。
HTML/CSS
- 基本的なWebページの構造(HTML)とデザイン(CSS)となります。
- メモ帳とブラウザがあれば始められる為、初心者が始めるのによいでしょう。
- また、Web開発の基礎や実際の業務上でも欠かせない知識となります。
JavaScript
- クライアントサイドでの動的な動作を実現するための言語です。
- 主要なフロントエンドフレームワーク (React, Angular, Vue.js) の基盤言語となります。
- サーバーサイド開発にも利用可能 (Node.js)です。
PHP
- Web開発に特化した言語となります。
- WordPressなどのCMSで広く利用されている言語となります。
- 初学者にも扱いやすい言語という特徴があります。
- 最新バージョン: PHP 8.1.11 (2023年5月時点)
- 代表的なフレームワークとその特徴:
- Laravel: 現代的でエレガントなWebアプリケーションフレームワーク。MVCベースの設計で、Eloquent ORMを使用したデータベース管理、Bladeテンプレートエンジン、認証やキャッシュなどの機能が充実している。
- Symfony: 高度な機能と拡張性を持つWebアプリケーションフレームワーク。コンポーネントベースのアーキテクチャで、再利用可能なコードの開発を促進する。データベース管理、フォーム処理、認証、キャッシュなどの機能が充実しているのが特徴です。
Ruby
- 読みやすく書きやすい文法です。
- Rubyは、特にRuby on RailsというWeb開発フレームワークのおかげでアメリカで一定の人気があります。Ruby on Railsを使うことで迅速なWebアプリケーション開発が可能となる言語です。
- 日本発の言語でサポート情報も充実しています。(PHP、Pythonも十分情報量としてはあります)
- 最新バージョン: Ruby 3.2.2 (2023年5月時点)
- 代表的なフレームワークとその特徴:
- Ruby on Rails (Rails): 実用的で迅速なWebアプリケーション開発が可能なフレームワーク。MVCベースの設計で、慣例に従うことで簡単に開発を進めることができます。データベース管理やフォーム処理、認証などの機能が充実しているという特徴もあります。
- Sinatra: 軽量でシンプルなWebアプリケーションフレームワーク。初心者にも扱いやすく、必要最低限の機能を提供する。
Python
- インデント(プログラムの空白)が強制される為、シンプルで読みやすい文法となる
- Webフレームワーク (Django, Flask) が有名。
- AIやデータ解析分野でも幅広く利用される言語となっているため、将来的に活用の幅は広がる。
Pythonはアメリカをはじめとする世界中で非常に人気があります。
- 最新バージョン: Python 3.11 (2023年5月時点)
- 新機能の特徴:
- トレースバックの詳細エラー表示
- Faster CPython:前のVersionより平均 25% 高速になった。
- 代表的なフレームワークとその特徴は以下になります。
- Django: 完全な機能を備えた、強力で柔軟なWebアプリケーションフレームワーク。MVCベースの設計で、データベース管理やフォーム処理、認証などの機能が充実しています。
- Flask: 軽量でシンプルなWebアプリケーションフレームワーク。初心者にも扱いやすく、プラグインを利用して機能を追加できます。
番外編:Java
Javaをリストから外した理由は、初心者向けの記事の観点から選択しました。
ただし、JavaはWebアプリケーション開発において非常に重要な言語であり、多くの企業で利用されています。
まとめ
効率的な習得の順番ですが、
- HTML / CSS
- JavaScript
- PHP ( か RubyかPython)
- PHPのフレームワーク「Laravel」
になります。
個人的にはPHPは仕事の案件数としても多いことが理由に挙げられます。
案件数が多いということは、その分働ける確率も高くなり、1年でも実績を積めるチャンスがあるためです。
プログラミングスクールではRubyやPythonを学習した後に就職支援があったりしますので、それを活かしても良いと思います。
それぞれの言語が持つ特徴と用途を理解し、自分の目標や興味に合わせて最適な言語を選択する必要があります。
複数の言語を習得することでスキルセットを広げ、市場価値を上げていくとよいですが、あれもこれも手を広げて、器用貧乏にならないようにしましょう。一つの言語と採用数の多いフレームワークを習得すると別の言語、フレームワークにもある程度応用できる部分もあるため、まずは、一つの軸を太くすることを意識してください。
過去にWebアプリケーション開発エンジニアになる為の書籍8選を記事にしてますので、こちらも参考にしてみてください。