ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

【Monaca Advent Calendar 2018】2018年プログラミング再入門の記録と使った書籍たち

f:id:mbaasblog:20181214132131j:plain

この記事は『Monaca Advent Calendar 2018』14日目の記事です。

adventar.org

はじめまして、ニフクラ moible backendの企画を担当している佐々木と申します。
mobile backendのお役立ちブログを間借りしてアドベントカレンダーに参加させていただきます。
今日は、2018年の私の勉強史をまとめます。

Monacaとmobile backendの関係についておさらい

f:id:mbaasblog:20181214133040p:plain

勉強史の前に、mobile backendとMonacaの関係をおさらいさせてください。
ニフクラ mobile backendは、スマートフォンアプリを提供する際に開発/運用が必要なプッシュ通知やデータベースなどの機能をクラウドから汎用的に提供させていただくクラウドサービスです。
特にMonacaとは非常に簡単に連携が可能なため、Monacaからも多くの方にご利用いただいております。
サンプル/チュートリアルも充実しておりますので、ぜひご覧ください。

イントロダクション (Monaca) : クイックスタート | ニフクラ mobile backend

勉強史

では、勉強史にうつって行きたいと思います。
僕は、2017年の12月にmobile backend企画チームに配属となりました。
それまでは、スマホアプリ開発に関する営業を行っておりましたが、業務でのプログラミング経験は0、高校生の頃に学校で習ったHTML / C言語と、趣味でちょっとだけ触っていたC++以外に経験は殆どありませんでした。それも数年以上前という有様。

しかし、mobile backendは開発者のためのサービス、スマホアプリを作ることもできない人間が企画をするのはいかがなものか、と思いたち、プログラミング再入門をすることにしました。
それがだいたい今年の6月頃のことです。これからお見せする記録は、今年の6月~12月中旬のものです。

Monacaでアプリ開発を学ぶ

HTMLを書いたことがあるという経験が活きると考え、Monacaの学習をはじめました。
そう、今伊藤さんが日々勉強していて、時々先輩役として僕が質問に答えたりしているのですが(僕の名前は出ていませんが)、正直たいして経験は変わらないのです(なので日々僕も負けないように頑張っています)。

使った書籍はこちら。

f:id:mbaasblog:20181009141933p:plain 書籍「Monacaで学ぶはじめてのプログラミング」特設ページ

f:id:mbaasblog:20181003144246p:plain プログラミング教育 | ニフクラ mobile backend

それぞれ、Monacaの入門書とMonaca上でmobile backendを使う際の入門書です。

正直結構苦労するだろうと思っていたものの、本当にただHTMLを書いていくだけでアプリが出来上がっていくので、思っていた以上に簡単にアプリを作ることができ、結構衝撃を受けたのを覚えています。
Onsen UIも試してみましたが、本当にネイティブアプリと遜色ないUIを作ることができて、感動したのを覚えています。
最初は難しいコードをたくさん書いてやっとOnsen UIが使えるんだろうなあと妄想していたのですが、なんのことはなく、独自のHTMLタグを書くだけで実現できました。

また、mobile backendとの連携も、ドキュメントなどに書いてあるとおり非常に簡単にできました。
簡単なアプリ程度なら、正直本腰を入れて一週間勉強すれば書けるようになるのではないかと考えています(僕がそうだったので)。

JavaScriptに再入門

Monacaを勉強していく上で、JavaScriptに興味が湧いてきました。
なんとなくこうだろうという手癖でコードを書くことはできるようになったのですが、じゃあなんでこう書くのか、ということがわかっていませんでした(特にPromiseとか)。

そこで、みんなが積み本にしちゃいがちと噂のオライリーの本を買ってみることにしました。
実際に買った本がこちらです。

www.oreilly.co.jp

423ページもある大作?ですが、2週間くらいかけてゆっくり読みました(頭の中が「?」になったときは飛ばさず前に戻ってじっくり読み直すということを繰り返しました)。

結果、「こういうもの」と仕組みを知らずに使っていたものがどうやって動いていたのかを知ることができ、非常に勉強になりました。
ES2015(ECMA Script 2015)に準拠した教本になっているので、より現代的な?書き方ばかりが紹介されていて、いい勉強になったと思います。

このタイミングでJavaScriptの基礎をしっかりとしれたことが、この後の学習を円滑に進める上で大いに役立ったと考えています。

Vue.jsを勉強する

この頃にはJavaScriptそのものが好きになっていたので、なにかフレームワークを勉強したいなあと考えていました。
そこで、最近流行りの?Vue.jsに入門してみることにしました。
そこで購入した本がこちらです。

gihyo.jp

最初は、正直先のオライリー本よりも難しく感じました。
それでも、書いていくうちにだんだんとVue.jsのことがわかってきて、効率的にコードが書けるのが嬉しくなって行きました。
Vue.jsではtemplateという機能があって、よく使うコードをひとまとめにしてテンプレートとして使うことができるのですが、そのテンプレートを使う時、テンプレート名をhtmlタグとして使うのです(<example>のように)。
これを見た時、「Onsen UIでみたやつだ!」と思い調べるとWebComponentという技術であることを知りました。Webに詳しくなってくると、過去にブラックボックスだと思っていたものの仕組みも徐々に知ることができます。それがとても楽しい。

ちなみに、cliツールを初めて導入したのもここでした。
想像以上に便利で、今後も積極的に使っていきたいと思います(まだmonaca cliは未経験です)。

node.js(+ Express.js)を勉強

次に、JavaScriptでWebサーバーを作ることができるnode.jsを勉強してみようと思いました。
そこで購入した本はこちらです。

Node.js 超入門 - 秀和システム あなたの学びをサポート

この本の感想を言いたいのですが、実はこれはまだ勉強中なのです。
(1週間ほど前に買った)

しかし、勉強していて思うことは、バックエンドは超難しいということです。
もちろんフロントエンドとバックエンドはどっちほうが難しいと一概に言うことはできませんが、それでも僕には結構難しいなあと思いました。

オチをつけるわけではないですが、mBaaSサービスのありがたみを痛感した次第です……。

まとめ

2018年後半で、プログラミングの楽しさを再発見できたので、これからの勉強は継続していこうと考えています。
(そしていつかサービスをリリースしてみたい……)
PCが1台あればできることも多いので、ある意味お金のかからない趣味とも言えるなあと考えています。
ご参考になれば幸いです。

あと伊藤さん、先輩が思ったよりプログラミング詳しくなくてゴメン。

佐々木 大樹

ガジェットとスマホアプリがすき。
出会って1ヶ月と17日で入籍したら、ITmediaに取り上げられました。