ITで遊ぶ

Reactのお勉強方法

技術の廃り流行り

ReactとはJavascriptのフレームワークです。

「ああ、勉強しなきゃ」と思った理由は、若干説明が必要です。
公開していたソフトウェアがちゃんと動作しなくなったのです。このソフトはJQuery Mobileというフレームワークを使って開発してありました。そのパッケージはgoogleのサイトを参照していたのですが、「古い」という理由で削除されてしまいました。
JQuery自体はとても便利で、今でもおそらく多くの商用ウェブサイトで使われていると思います。(パッケージは多くの場合、自社サーバーにコピーしてあるはずですから私のような問題は表面化しないでしょう)
しかし、ReactやVue.jsといった新しいフレームワークが出現し、JQueryはもはや有志による開発が数年前に止まっているのです。

私がことあるごとに「ITエンジニアは勉強を辞めたら終わりだ」というのはこういう点にあります。一世を風靡した技術でも消え去っていくのです。

デスクトップアプリの衰退

ブログなので話は脱線します。天下のマイクロソフトはWindows上で動作するアプリケーションを作成する道具として、Visual Basic, Visual C++, Visual C#などを提供していました。ちょっとしたプログラムを作るくらいなら無償で道具を利用できました。

オフィスワーカーの人はなんとなく感じているかと思いますが、パソコンの主要デスクトップアプリのMS Officeもここ数年でメチャクチャに変化しました。Office 365などはブラウザーが動作するメインの環境です。それでデスクトップとの共存ができています。
ドキュメントを共用して編集できるようになりました。
Teams, Sharepointとすごい融合をしています。
じんわりとブラウザーベースに移行し、オフィスワーカーの環境提供会社に変化しつつあるようです。

デスクトップアプリの開発ツール

開発ツールももはやデスクトップアプリ対象ではありません。マイクロソフトはVS Codeという便利なプログラミング言語に依存しないツールを無償で公開してくれています。
なによりも、プログラマーの聖地であるGithubのスポンサーです。
過去のマイクロソフトからすると、ずいぶんと方針が変わりました。

一昔前は、アマチュアのプログラムもWindowsアプリはフリーならばベクターや窓の杜といったところを参照し、有料ならばソースネクストなどを利用したでしょうけれども、それも遠い過去であり、今はスマホアプリを探すかオンラインサービスを探すのが普通となりました。

今どき、それなりの理由がないとデスクトップアプリケーションを作る人はいません。
ダラダラ残すとどうなるかという悪い例としては、バドミントンの試合管理ソフトではないでしょうか。
有料で提供されているにもかかわらず、デスクトップアプリだということを私が知った時には、制作者にちょっと怒りと軽蔑を覚えました。
そんなんじゃ、インターネットにも接続できず、出番をスマホで選手に知らせることもできないわけです。
既得権益に乗っかって、今の技術を取り入れないというのは料金を払っているユーザーへの裏切りでしょう。
さっさと引退すれば、新しい人が新しいシステムを作ると私は思います。

React

というわけでJQueryを捨て新しいフレームワークのReactを勉強して、新しいアプリを書くことにします。
これはJavascriptのフレームワークです。Pythonのかげに隠れていますが、Javascriptはウェブの世界において主要言語です。すべてのブラウザーはJavascriptで背後からコントロール可能であること、Node.jsが出て以来、サーバーサイドもJavascriptで済むようになったことが大きいと思います。
個人的にはPythonよりも相当に難しい言語だと思います。シングルスレッドであることは死守しているし、ブラウザーならではの言語仕様もあります。

エラソーに言ってますが、フレームワークを選ぶ時に「勉強量が少なくてすむ」というのは私が選択する時の重要なポイントではあります。

ReactはFacebookのメタにより開発されました。CSSフレームワークのBootStrapもメタです。天から降ってきたものではありません。
このようにメタはウェブの業界への貢献も大きいです。オープンソースを利用ばかりしてあまり貢献しない日本の自称IT企業に爪の垢を煎じて飲ませたいものです。

新技術の学習方法

普通のサラリーマンや出来の悪いエンジニアの一部は「会社が知識を教えてくれるもの」と信じて疑わないようです。
それは業務上必要だから、というものであれば理解できますが、たいていの仕事はその知識だけでは済まないわけです。

とくにIT技術は英語圏で考えだされ、流行ったり流行らなかったりしているうちに、嗅覚の鋭いエンジニアが日本語に翻訳したりして、およそ一年後に英語を理解できないエンジニアに噂が広まります。
それでも多くのIT系企業は新しい技術の採用については極めて保守的で、数年が経過してしまいます。
某通信会社の社内で流行っていた「目利き」などソフトウェアを制作する人をバカにしたような評論をします。

さらに研修用資料ができるまで1年ほどかかり、すでに3,4年遅れの「新技術」が日本に広まることになります。
一方でUdemyのような教材を作る人と受講者をつなげるようなサービスもありますが、いくつか身銭を切って受けてみたことがありますが、質がいいとはとうてい言えません。
Udemyを使うくらいならドットインストールに毎月千数百円を払ったほうが質の良い教材を得られます。

そんなものよりもYoutubeもあなどれません。Youtubeはコメントがありますから、どの程度かはだいたいわかります。
例えばReactだと

なんていうものが結構、人気です。

Youtubeは学習の世界を大きく変えましたが、まだまだ評価されていないように思います。

専門書はどちらかというと、このようなオンライン講座を受けた後、辞書的な使い方をしたほうがよいように思えます。
専門書の場合、たいていサンプルコードを写経して、試して理解、というパターンなのですが、いろいろとミスをしたり環境の違いがあったり、間違いがあったり、さらには本の分厚さに閉口してしまったりします。

関連記事

  1. Mac環境でPHP使ってウェブアプリの開発

  2. web APIサーバーで語られないこと

  3. CodeIgniter 別のViewの書き方

  4. 多くのテキストファイルをWordPressの投稿に書き込む

  5. 製品を作るおじさんの独り言

  6. カラーミーAPIを使う(発送データ作成)

  7. 思想をあらわすプログラミング

  8. 新世代コンピューターシンセサイザー