海外サイト等でFlutterについて色々と情報収集をしてみました。Flutterの特徴って何だろうという事で列挙してみました。
・フロントエンド、バックエンドが単一のコード(Dart)となっている点
・高速なホットリロードによりリアルタイムで更新チェックが可能
・クロスプラットフォームに対応(iPhone,android)2重開発は不要
・UI開発に必要な優れたデザインの素材が提供されている為、時間短縮が可能
・ネイティブパフォーマンス
さて、Flutterの学習に入る前に、先ずはDartという言語に触れておいた方が良さそうなのでネットにある情報を海外サイト含めググりまくりました。
気軽にコードを書くならDart padが便利
せっかく環境構築が出来たのですが、もっと肩の力を抜いてサラっと書きたいなーと思いました。本当のところ、PCスペック的に心許ないから。。。というのはここだけの話し。第7世代corei5,メモリ8GBじゃそろそろキツイかも?
JavaScriptの場合、「JSBIN」というブラウザで動かせるエディタがあったのですが、あんな感じのDart版が無いか?調べてたらありました。Dart padです。これがサクサクでなかなか快適。
但し、外部のライブラリのようなものには対応していなさそうなので注意が必要。
最初に記述したコードはコチラ↓Helloはもう飽きました。
void main() {
print(‘dart学習のはじまり!’);
}
()の使い方やシングルクォーテーション、セミコロンの使い方を見ると、JavaScriptにも似ていますね。そういや、コメントアウトも同じでした。
元々JSの問題点を改善しようとしたのがDartの役目だったそうなので、近いのでしょうか。。。また、Javaにも似ている点が多そうなのでちょうど、JavaとJavaScriptの間というか、いいとこ取りのような、言語なのでしょうかねー。
Dartで使う値のタイプについて
こちらは少しJSと違いが出ました。数値はintインテジャーって事でしょうか。(整数タイプ)とdouble(浮動小数点タイプ)でした。VBAなんかだとsingleってのがあったような気がしますが、PCのスペックが飛躍的に向上したおかげなのでしょうかねー。時代と共に進化というか不要なものはなくなっていくという事でしょう。
文字列はString。こちらは割とフツー。Runesという正規表現?の文字列用タイプもあるようですが、一旦こちらは頭の片隅にとどめておく程度にしておきます。どう考えても、今はは使わないと思います。
真偽値はbool。eanは省略されています。返し(戻り)は「true」「false」なのでフツーですねー。
配列宣言用でしょうか?ListとMapというのがありました。頭文字が大文字と小文字が混在するので紛らわしいですねー。
後はシンボル(Symbols)だそうです。恐らく値無しとか、特殊な使い方っぽいのでこちらもRunes同様、一旦はパスしておきましょう。
まだ、大丈夫。ここまでは大したことはないはずです。だってコード書いてませんからね。
Dartで使う演算子色々
こちらは割と全体的にフツーでした。省略しますが、代入演算子や「変数++」の使い方もJSと同じでしたが、++やーーを前に付けるか後ろに付けるか?で処理される順番が変わるようなので、前後の式との関係性含めここだけ注意!
A + B:AとBを加算
A – B:AからBを減算
A * B:AとBを乗算
A / B:AをBで除算
A ~/ B:AをBで除算・整数のみ取得
A % B:AをBで除算・余り取得
テキストの結合なんかはJSと同様シングル(又はダブル)クォーテーションで囲って+でOKだそうです。
テンプレートリテラルも使えるようです。JSと違う点は、シングルクォーテーションやダブルクォーテーションでOK?JSでは確かバッククォーテーションでないとダメでしたよね。$マークの使い方は共通?(テンプレートリテラルはちょっと要確認かもです?)
後は、比較演算子や論理演算子もJSとほぼ同じ。演算子はコレで十分でしょう。
変数とか定数とか。。。
宣言時点では決まっていない場合、指定しない場合はvar(バリアント)を使うようですね。VBAっぽい使い方って認識で良いのでしょうか?
値のタイプを指定して変数宣言をする事も可能だそうです。
constとfinalという定数っぽいのもありました。JSと同じような感覚で良いのでしょうか?一応、constについては再代入可能なようです。JSでも配列の場合と変数の場合で違ったり色々細かい設定があったような気がします。
うん、まだ大丈夫。何となく理解は出来ています。まだコード書いてないですからね。当然と言えば当然。この時点で何のことかさっぱり?という方はプログラミングとは何ぞや。。。ってところからスタートした方が良いと思います。
初のプログラミングであれば、圧倒的情報量があるJavaScriptの基本を勉強しておくのがオススメです。それか人によってはJavaも有かもしれません。(VBAは仕事で役に立ちそうなら有りですが、アプリを作りたいなら微妙です)
Flutter(Dart)を初のプログラミングとして触れる場合、理論的な学習を順序立ててやるのは厳しそうです。Googleのチュートリアルも丁寧ではありますが、細かい一文一文の説明まではありません。
それよりも人が書いた簡単なプログラムを真似て書いてみて、色々とオリジナリティを加えてみたり、カスタマイズしてみる。これを何度か繰り返して覚えていく。のが最も早そうな気がします。
実際、プログラムを書くとなっても、UIなんかは予め沢山テンプレが用意されているので流用するシーンが多くなりそうです。理屈は分からないけど取り合えずテンプレから流用するという、割り切りが必要になるのではないでしょうか。
いや、私は理屈が分からないと先に進めない理系タイプなんだ!という人はやはりJavaScriptから始めるのをオススメします。私はここ最近約1ヵ月間程度、JavaScriptをやってみましたが、両方の言語を違うやり方で並行して学習してみたいと思います。
コメント