【Flutter】第1弾_Flutterってなんぞ?【クロスプラットフォーム】
お久しぶりになります。
最近「るんたった♪るんたった♪」と、ありえんほどフィーバーしているじゅんじゅんです。
というわけで早速ですが皆さん「Flutter」って聞いたことありますでしょうか?
私自身、耳にする機会が多く少し興味が出てきましたので
色々調べてみて試しにサンプルプロジェクトを動かすところまでやってみたので
シリーズ化して書いていきたいと思います。
Flutterとは?
Flutterは、Googleが発表したモバイルアプリ用のフレームワークになります。
無料で公開されており、誰でも使用することができます。
2018/12月にver1.0が発表され、歴史は浅いですが
様々なプラットフォームに対応できるためとても注目されているフレームワークになります。
中でもAndroidやiOS等のモバイル開発では特に注目されている印象があります。
Dartとは?
Googleがモバイル開発向けに開発したプログラミング言語で
サーバやデスクトップ向けの開発でも使用可能です。
また、Flutterで開発をする際にもメインで使用される言語になります。
Javascriptの代替となることを目的に開発されているため、書き方もとても似ている(らしい)です。
私自身少し触ってみた感想ですが、
Androidアプリ開発者ならKotlin、iOSアプリ開発者ならSwift
での開発を経験している方であれば、なんとなく書かれている内容をつかみやすいかもしれないです。
どんな開発ができるの?
結論から言えば、Web・モバイル・PC(Win/Mac/Linux)などあらゆるものに対応することができます。
Flutterのフレームワークを使用することで、OSに依存するセキュリティ部分などを除く処理が共通化することができます。
メリット
・開発環境の簡易化
iOSとAndroidのアプリを作るとしましょう。
そうした場合、iOSアプリの開発者はMacを使用しないと開発ができません。
Flutterを使用することで、WinでもMacでも開発できるようになるので
開発環境の整備が容易になるといえます。
・コード量の削減
各プラットフォームごとにソースコードをくみ上げていく必要が無いため、
共通部分の処理については、コード量を削減することができます。
・ホットリロード
アプリの再ビルドを求められず、変更したコードの内容がその場で反映されるものです。
web系の開発をされている方からしたら目新しくはないですが
モバイルアプリ開発では、確実にアプリをビルドしなおさなければいけないのでとても楽でした。
デメリット
・Flutter開発で賄えない部分がある
前項でも記載しましたが、以下の様なOSに依存する部分は
Flutterでは対応しきれない為、各プラットフォームに対応した言語で開発をする必要があります。
– カメラ機能
– 通知周りの機能
その為、iOSならSwift、AndroidならKotlinでの開発が求められる部分も存在するということになります。
・日本語の記事/ドキュメントが少ない
歴史の浅い言語あるあるですが、日本語の記事やドキュメントが少ない為
英語に抵抗感がある方は厳しいかもしれないです。
とはいえGoogleページ翻訳とかうまく使用すれば、問題ないと思うレベルです。
最後に
ようやく私も興味が出てきました。
少しずつですが自己学習みたいな感じでやっていきたいと思っています。
次回は、Windows環境にインストールして
AndridStudioから実際にプロジェクトを立ち上げるところまで、解説して行けたらなと思っています。
よかったら、他の記事もご覧ください!
ではでは、また次回お会いしましょう!
その他Android関連の記事
- 【Kotlin】ConstraintLayoutの相対的なView指定方法【Android】
- 【Android】入門!Activityのライフサイクルとは?
- JavaからKotlinに移行したAndroidエンジニアが困った!!スコープ関数について解説してみる
- 【Android】MVVMアーキテクチャについて
- 【Hyperion】Android開発でおすすめのライブラリ!Hyperionの紹介【Android】
- 【Android】実務で使えるアプリのレイアウト検証で使える知識~レイアウトの図り方・方法~
- 【ADB】コマンドで操作するAndroid開発 〜コマンド紹介編〜
- 【注意!】Androidアプリのリリースパッケージが変更?APK?AAB?【Android】
- AtomicDesignとは?簡単解説【デザインパターン】
- 【Charles】端末通信を監視してデバッグしてみよう【HTTP通信】
- 【Kotlin】条件分岐何使ってる?if?when?【Android】