アメリカの大学で奮闘中

アメリカの大学でプログラミングを学ぶべくコンピューターサイエンス学部に留学したものの挫折し数学科に転部した著者が、自分の挫折ポイントを踏まえて数学、プログラミング、アルゴリズムついてできる限り分かりやすく解説してみるブログ。*できる限り記事の内容は技術的な間違いをしないように気をつけていますが、もし間違いがあれば教えていただけると助かります。

Web開発かアプリ開発かまだ決め切れていないエンジニアはJavaScriptを学びなさい

少し攻めたタイトルになってしまったのですが、今回の記事ではプログラミングを学び始めたor就活でエンジニア就職をする予定だけど何を勉強すればいいか分からない人で、特にWEB開発とアプリ開発で迷っている人をターゲットにしています。

 

結論から言うと、迷っている人はJavaScriptを勉強すると良いと思います。理由はweb開発にもアプリ開発もJavaScriptで作ることができるからです。

 

そもそもJavaScriptとは

1995年にネットスケープコミュニケーションズのプログラマーだったブレンダン・アイク氏が開発した言語です。

 

HTML、CSS(WEBサイトの見た目を作る言語)で書かれた画面に動きをつけたりできます。例えばwebサイトのトップの画像が時間が経てば横にスライドして画像が変わるものとかありますよね。あのようなものはJavaScriptで実装できます。

 

また、3Dに動きをつけることもできることから、VRなどにも使われたりもあるようです。(ただもしVRの開発者などを目指す場合はJavaScriptより先に学ぶ優先度の高い技術があるとは思いますが)

 

WEB開発とJavaScript

上述した通りJavaScriptは画面に動きをつけるためのものだったのですが、今はサーバーサイドも書けるようなったため必要性がさらに増しています。

 

サーバーサイドのプログラムとは、サーバ側から行う処理に対して必要なプログラムのことですが、具体例としては、検索単語を入れたらその結果を返すとか、データーベース(データを保存するところ)に問い合わせデータを入れるとか、同じドメインの別のwebページに飛ばす(ルーティング)などになります。

 

なのでJavaScriptと、Node.jsやReactなどのライブラリー、フレームワークさえできればweb開発が可能です。

 

アプリ開発とJavaScript

ここでいうアプリはモバイルアプリを想定しています。

 

元々iosのアプリはObjective-C(現在はSwift)、AndroidはJavaで別々で書かなくてはいけなかったのですが、最近は1つの言語でios用、Android用の両方を開発できるようになりました。

 

その言語がJavaScriptである開発ツールをここでシェアできればと思います。

 

Expo

ExpoはFacebookが開発したReactNativeやその開発ツールです。JavaScriptでios、Androidのモバイルアプリの開発を行えます。

 

expo.dev

 

Monaca

Monacaは日本の会社が提供している開発ツールで、web上のエディタで開発ができることと、公式サイトが日本語であることからお手軽なところがメリットです。

 

ja.monaca.io

 

最後に

実は僕もモバイル開発にJavaScriptが使えることをここ最近知った身で、もっと早く知っていたら身を引き締めてJavaScriptの勉強ができたのにと感じていました。もし読者がJavaScript勉強中の方でしたらより一層モチベーションを上げて勉強していただけたら幸いです。またどの言語を学ぶか検討中の方は判断材料として参考にしていただければと思います。僕もまだまだ学習中の身ですが、需要がありそうでしたら普段のアルゴリズムや数学に加えてこのような実践的な開発についても書いていこうと思います。

 

Pythonの文法が分かって、新たにJavaScriptを勉強したい方向けの記事

 

astrostory.hatenablog.com

 

 

参考文献

 

JavaScriptの歴史【紆余曲折を経たプログラミング言語】 – 株式会社ライトコード

 

【2020年版】人気のNode.jsライブラリ・フレームワーク厳選まとめ | あしたのチームTechBlog