前提情報
これからFlutterについて入門していって、ブログではそれを自分なりにまとめていきます
今回初めて触りますが、個人的にはAndroidの開発を趣味でやったことがあるレベルです
読んでいって何か気になるところがありましたら是非コメント下さい!
開発環境についてですが、毎回書いていくのも冗長なのでここに書いて今後はリンクで済ませようかと思います。
- OS: macOS Catalina 10.15.4
- PC: MacBook Air(13-inch, 2020)
- RAM: 16GB
- IDE: VSCode1.45.1(←あんまり触ったことないので、これを期に)
概要
1. 歴史
今回は技術的なことよりも、周辺とか歴史とかについて調べた結果をまとめていきます。
初版の公開日についてちょっと比較してみます。
技術 | 初版 or 登場時期 |
---|---|
Flutter | 2017/05/11 |
ReactNative | 2015/03/26 |
Docker | 2013/03/13 |
Elm | 2012 |
Rust | 2010/07/07 |
Go | 2009/11/10 |
Python | 1991 |
Wikipediaより |
こう見るとやっぱりかなり新しめではありますね。(Python様は流石に古い)
2. アーキテクチャ
Flutterのエンジンは主にC++で書かれており、GoogleのSkiaを使用した低レベルのレンダリングをサポートしている。
基本ライブラリはDartで書かれており、エンジンと通信を行うためのAPIなど、Flutterを利用してアプリケーションを構築するために必要な基本的なクラスと関数を提供している
Wikipediaより
※Skia: Googleの2次元コンピュータグラフィックライブラリ
3. 学習難易度
Flutterで調べると日本語でも結構ブログとかヒットするし、学習はし易いかもしれませんね。
以前は、新しい技術を選定する際にはいつもブログをみていたんですが、最近はYoutubeを探すことが増えました。
実際に開発している人のちょっとした知見とかが得られるのは大きいと思います。
YoutubeだとFlutter大学なるものがあって、良さそう。
ただ、今回のブログでは私が仕事で技術選定をする際の手順に従って学習を進めていきたいため、公式のチュートリアルから進めていきます。
都度都度、他のソースから得た情報も載せていきたいと思ってます。
4. 案件数
某エージェントサイトにおける案件数
(2020/06/15現在、各エージェントにおいて"Flutter"で検索した際に引っかかる募集中の案件数)
|エージェントA|エージェントB|エージェントC|エージェントD|
|:---:|:---:|:---:|:---:|:---:|
|2|2|2|1|
少ないですね。
因みに"Vue"についても同様に検索して見たところ
|エージェントA|エージェントB|エージェントC|エージェントD|
|:---:|:---:|:---:|:---:|:---:|
|18|18|39|13|
単純に9倍以上の差がありますね。
Vueに関して妙に件数が多いところが1つありましたが、パッと見は同じ案件が重複してるようにも見えませんでした。
時期にもよるのかもしれませんが、案件探す際にはエージェントを複数見た方がいいのかもしれませんね。
まとめ
個人的には思ってたよりも新しい技術ですが、学習難易度はそんなに高くなさそうに見えました。
初めて開発する言語に良いかどうかの判断はまだつきませんね。
案件数に関しては今後伸びていってくれることを期待したいです。
では、この辺で。