プログラミングがさっぱり分からない状態からWEBアプリを開発して公開出来るようになるまで②
※この記事は最後まで無料でご閲覧頂けます。
皆様こんにちは。ご閲覧頂きまして誠にありがとうございます。
今回の記事は前回の「プログラミングがさっぱり分からない状態からWEBアプリを開発して公開出来るようになるまで①」の続きとなります。
まだ①を読んでおられない方は是非ご閲覧下さい。下にリンクを貼らせて頂きます。
今回は私が職業訓練校のICTエンジニア科に行ってプログラミングを再度勉強し直し、WEBアプリを公開出来るようになるまでを綴っております。
少しでもプログラミングに興味を持って頂ければ幸いです。是非最後までご閲覧下さい。
1.職業訓練が始まる
いよいよ訓練が始まり書籍もいくつか購入しました。訓練校指定の書籍と独自テキストで授業をしていきます。
まずは「スッキリわかるJava入門」という書籍を1ヶ月程度かけて授業をしていきます。ただ私はこの本を1週間で読み終わり追加で「スッキリ分かるJava入門実践編」という書籍も購入しました。
同じクラスには全くの初心者から実務経験者もいました。授業スピードは初心者に合わせる事になるので、分かる人は先々進めて分からないところは質問していきました。
もちろん授業中の課題はちゃんとやらないといけません。時間は9時10分〜15時までだったので、訓練が終わってから喫茶店やショッピングモールのフードコートなどで自主学習をしていました。
過去に独学で勉強した時はとりあえずサンプルコードを真似てAndroidアプリを作成しましたが、基礎的な部分を理解していませんでした。
書籍が分かりやすかった事もありますし、分からない事を聞ける先生もいた為理解が進みました。
しかし理解を深める事が出来たのは次の事があったからだと私は考えています。
2.プログラミングを楽しむ為に①
プログラミングを勉強した事がある方は少なからず感じた事がある方もいるのではと思いますが、プログラミングの勉強を始めたばかりの頃はプログラミングがどこでどう使われるのかイメージしにくいのではないかと思っています。
例えばどんなプログラミング言語でも最初に出てくる「hello world」を表示するとか、1+1の結果を表示するとか。最初はコンソールログに表示するだけ等が多いように思います。
でも黒い画面に文字や計算結果が出たから何?という感じになって、楽しくも何ともないです。
もちろん基礎を勉強する為に最初は仕方ないですが、なるべく早めにスマホ画面(実際のアプリ画面)やWEBブラウザ(出来ればレンタルサーバーを借りて公開)で表示出来るようにした方が良いと思います。
何故なら実践を交えながら学習する方が覚えやすいですし、何よりも楽しいと思えるからです。
実践と言っても何もアプリとしてちゃんとしたものを作る必要はありません。
それこそHello Worldが表示され、ボタンを押したら文字が変化するだけみたいな簡単なものでも何でも良いので実際にアプリを使用する環境で動かす事が大事だと思っています。
私はJavaの勉強から始めていて、Androidタブレットがあったので、このタブレット上で動かす事を最初の目標にしました。
訓練内容にAndroidアプリ開発が含まれていた事も理由です。Androidアプリ開発は現在Kotlinが主流になってきていると思いますが、この時はJavaで進めていました。
Androidアプリを実機(スマホやタブレット)で動かすにはパソコンと接続すれば可能です。
Google playで公開しようと思うとデベロッパー登録をしてアプリの申請をするのですが、現在は審査が厳しくなっているようです(10年前は審査が緩かったのですが)。
JavaScriptやPHPならWEBブラウザさえあれば簡単に実行環境を用意出来るでしょう。
出来れば無料のレンタルサーバを借りて、そこで公開すればスマホのブラウザでも見れるようになります。
PythonでMinecraftを操作するのも良いと思います。
今勉強しているプログラミング言語にあった実行環境を用意すれば良いでしょう。
3.プログラミングを楽しむ為に②
私はJavaを使ってAndroidアプリを開発し、Androidタブレットで動かす事を最初の目標にしました。ではどんなアプリを作っていけばいいのか。
開発アプリのテーマは身近な事から始めるのが良いと思っています。
私の場合、当時小学1年生の娘がいて毎日算数の宿題で計算カードをやっていました。これは昔からある暗記カードの表に計算式(1+1=等)、裏に答えが載っているというものです。これをアプリ化しようと思いました。
アプリユーザーは小学1年生の自分の娘1人だけですが、使ってみた感想を直接聞けるのは良い学習方法だと思っています。
どんなアプリにしたかと言うと、足し算、引き算、掛け算、割り算の四則演算を選択、レベル1〜5を指定すると順番に計算式が表示され、答えを入力していくというものでした。
正解すれば音と共に○が表示され、不正解だと×が表示される。間違えた問題は記録しておき、後から再出題される。
解答結果データを保存しておき、どれくらい学習しているかや、間違いやすい問題はどんなものか後から確認出来るようにしました。
こんな内容のものでも何度もエラーが出ては修正してを繰り返し、ある程度使えるものなるまでに1ヶ月くらいはかかりました。
完成したものを子供に使ってもらうと「使いにくい」「ボタンが押しにくい」「文字が読みにくい」など忖度なしに言ってきます。でまた修正。
このアプリは結局Google playに登録もしていませんのでユーザーは自分の子供1人だけでしたがフィードバックをもらいながら開発するという経験は実践に近いものがあり学習はかなり進んだと思います。
(このアプリのおかげかは分かりませんが、子供も小学1年生で掛け算割り算まである程度出来るようになっていました)。
このようにどんな内容でも良いので実践を交えながら学習をしていく事がプログラミングを楽しみながら学習出来ると思います。
何の勉強でも同じだと思いますが楽しいと思えるかどうかで学習意欲は何倍にもなると思います。
まずは楽しむ方法を考えてみてはどうでしょうか。
4.職業訓練も終盤
訓練ではプログラミング以外にもネットワーク、Linuxサーバ、データベースについての授業もありました。
訓練の中で1番実践に近かったものはチームでのアプリ開発です。PHPのフレームワークであるlaravelを使って書籍管理アプリを開発するというもの。
チームは4人1組で、全体を纏めるリーダー、データベース担当、画面構成担当、PHPでのプログラミング担当に別れました。
私はリーダーをする事になったのですが、PHPプログラミング担当が急に辞めてしまったので、そこも兼務する事になりました。
期間は2週間程度で、完成してもしなくても出来たところまでを発表しなければなりませんでした。
発表しなければならないし、自分1人ではなくチーム開発なので何とか完成したいと思っていた私は夜中まで作業した日もありました。
あくまで訓練課題なのでそこまでしなくても良いのかもしれませんが、決められた期日内に決められた仕様を完成させる事は今後絶対に求められる事です。
その為の訓練と思っていたので妥協はしたくありませんでした。
他の2名も一生懸命取り組んでくれたおかげで何とか形には出来たと思います。
実際実務で2週間という短い期間での開発はあまりないと思います。打ち合わせで要求定義や要件定義を決定し、フローチャートやテストパターンの作成、コーディング作業後も何度もテストを繰り返したりととても時間がかかります。
短い期間でも2、3ヶ月くらいではないでしょうか。長いものだと1年以上かけて開発するものもあります。
今回の訓練では2週間でしたが、完成させる事が目的というより個人ではなくチーム開発の難しさや、プログラミングのスピード感、また発表がある事で自分の書いたコードの説明、つまりコードレビューをする事で自分のコードを客観視出来る事。
こういったあたりが本当の目的だったと考えています。
5.最後に
職業訓練校を卒業後は某メーカーで社内SEとして基幹システム開発や保守をする事になりました。
以前から社内SEはやってはいたものの、訓練後は明らかにプログラミングの理解が以前とは違っている事を実感しています。
私の場合は職業訓練という選択をしましたが、プログラミングは独学でも十分習得可能と思います。
別に高いお金を払ってスクールに行く必要もないでしょう。書籍や学習サイトだけでも習得出来ると思います。
ただ、独学で学習する場合は以下の事を意識する事が大事だと思います。
1、何でも良いので実際の使用環境で開発する事。
2、身近なテーマにする事。
3、ユーザーからフィードバックをもらう事。
4、出来ればメンターを探す事。
5、楽しむ事。
4に関しては周りにいなければネット上で質問するのもいいです。
実際私も分からない事はまずGoogleで検索するようにしています。自分が悩んでいる事は大抵の事は既に質問されており、ほぼ解決します。
最近ならChatGPTなどのAIを利用するのも有効的でしょう。
5に関しては説明不要でしょう。何事も楽しんでやる事に勝る学習方法は無いと思います。
今回は前回の「プログラミングがさっぱり分からない状態からWEBアプリを開発して公開出来るようになるまで①」に引き続き2回に分けて記事を書かせていただきました。
今回の記事で少しでもプログラミングに興味を持たれる方が増えれば幸いです。
次回の記事ではWEBアプリの開発環境と公開準備について書きたいと思っています。ネット上に情報が溢れてはいるものの、一つに纏まった記事をあまり見かけないので分かりやすく纏められたらと思っています。
最後までご閲覧頂きまして、誠にありがとうございます。是非次回も宜しくお願い致します。
