自分はこれまで、長いことプログラミングに関わる仕事をしてきたけど、それはDTPに関わるスクリプト作成がほとんど。DTP以外には、事務作業のヘルプツールを作ったことがあるくらいです。
スクリプト以外では、Javaは勉強したことがあるけど、もう20年近くも前のことだし、実践経験はナシ。
そんな状況でスクリプトを書いてきた自分が、スマホアプリを作ってみようと思いはじめまして。
でも、知らないことだらけ。
自分が何を知らないかもわからない。
いまさら聞けない「ネイティブアプリってなに?」
「スマホアプリ」を調べ始めるとすぐに、「ネイティブアプリ」というワードがあちこちで出てきました。
「スマホアプリ?」「ネイティブアプリ?」
何か違うの? 私が作ろうとしているのは何??
なるほど。
とりあえず、「スマホアプリ=ネイティブアプリ」っていう程度の認識で良さそう。
ネイティブアプリに対して、Webブラウザで実行されるアプリをWebアプリというらしい。
名称は知らなくても、ネイティブアプリもWebアプリもどちらも日常的に使ってるのね…
……という「いまさら聞けない」ところからのスタートです。
開発言語はどうする!?
まず最初に困ったのは、どの開発言語にするかということです。
モバイルアプリの開発言語は、ひとつではないことを知りました。
また、Android端末とiPhoneでは開発言語が違うので、もし両方にリリースしたいのなら、Android用とiPhone用の2つを作らないとならず、その際の開発言語は別々だということがわかってきました。
え!?
自分一人で作るんだったら、2つも作るなんてムリ!
しかも言語の選択肢もたくさんあって、「Kotlin」「Java」…、「Swift」「Objective-C」…
決められません!
どれを選べばいいのか考えながら調べた先に見つけたのが「Flutter」です。
Flutterという選択
「Flutterは、AndroidでもiPhoneでも動くアプリが作れる」という理由で、Flutterをやってみることにしました。
少し気になったのは、Flutterは他の言語に比べると登場してからの日が浅くて、情報も少ない、という点。
だけど、日本語サイトはあるからきっとどうにかなる!
多分、情報はこれから増えていくはず! と思いました。
ここまででわかったことは、Flutterでアプリを作るには、「Flutter」と「Dart」の両方について知識が必要になること。
そして、Flutterのような複数のデバイスで動かせることを「クロスプラットフォーム」ということも知りました。
Flutter 参考サイト
Flutterは、このところ日本でも急激に注目されてきているらしいけど、ほんの1年くらい前までは、日本語の情報はまだまだ少なかったようです。
そんな中で、Flutterに関する重要サイトを覚え書き。
Flutter 書籍
日本語のFlutter関連の書籍は少ないですが、基礎から読めるリファレンスを1冊購入しました。
後日談:「基礎から学ぶFlutter」は、私のような全くのFlutter初心者には難しい本でした。
その後、完全初心者にもわかりやすいFlutter解説書が出てきています。