プログラミング界隈で最近良く名前が挙がるようになってきたFlutter。
「えっ、今勉強しているSwiftは無駄になっちゃうの?」、「Flutterも勉強しなくちゃいけないのか!」と不安に思われている方もいらっしゃるのではないでしょうか。
また、これからプログラミングを始める方で、何から始めたら良いか迷われている方もいらっしゃるかもしれません。
まずはご安心ください。現在勉強しているネイティブ言語が何であれ、Flutterの登場によってそのスキルが無駄になることはありません。
とはいえFlutterが将来有望な技術であることは間違いなく、基本だけでも知っておくに越したことはありません。
今回はそんなFlutterの概要からメリット・デメリット、将来性から勉強方法までご紹介します。
国内初のiOSエンジニア専門のオンラインプログラミングスクールである、「iOSアカデミア」だからこそお届けできる内容になっております。
ぜひ最後までご覧ください。
動画でもFlutterについて詳しく解説しています
Flutterとは
初心者の方には言語と混同されがちな言葉ですが、FlutterとはGoogleが提供する開発プラットフォームのことです。
iOSアプリであれば一般的にXcodeというプラットフォーム上で、Swiftという言語を使って作ります。このXcodeに相当するのがFlutterで、Swiftに相当する言語はDartというものになります。
Flutterを端的に表現すれば「一つのコードでiOS、Android、更にWebアプリを同時に作れる」プラットフォーム=クロスプラットフォームエンジン、になります。
Flutterの特徴・機能
実際にFlutterとはどういうものなのか、従来のプラットフォームや言語と比較しながら見ていきましょう。
iOS・Android・Webどれにも対応している
従来の開発の常識として、Xcode&SwiftではiOSアプリしか作ることはできませんでした。
Android版も同時にリリースする場合は、同時並行的にKotlinという言語を使ってAndroid用のコードを書いていく必要があったわけです。
ところがFlutter上でDartでコードを書いていくと、iOS、Android、更にWebアプリ用のコードをそれぞれ出力でき、開発工数を一気に削減することができます。
UIの開発環境が高性能である
Flutterのもう一つの大きな特徴として、「UIを動的に確認しながら開発できる」点が挙げられます。
SwiftやKotlinは毎回ビルドしないと動きの確認ができませんが、Flutter上ではリアルタイムにUIの動きを確認しながら開発ができます。
これは開発においては非常に重要な点で、大きく開発スピードを上げることができるでしょう。
Flutterのメリット
ここまでご紹介した内容からもそのメリットを感じられますが、Flutterのメリットをまとめると大きく2点になります。
1. 開発工数、コストが少なくなる
最大のメリットはやはり開発工数が少なくなることです。
世界的に見てiPhoneのシェアが非常に高い日本ではありますが、格安スマホ等の普及もありAndoroidのユーザーも大きく伸びました。
ある程度以上のユーザー数を狙う場合はiOS・Android版を同時にリリースすることも珍しくありませんが、当然倍近いコストが掛かってしまいます。
そこでFlutterで同時開発することで、大きく開発工数、コストを削減できます。
2. コミュニティに情報が豊富
比較的新しい技術であるFlutterですが、開発・運営がGoogleで有ることもあり、既にある程度の情報がインターネット上に出回っています。
主に英語情報になりますが、Flutterのコミュニティも多くありますし、日本にもいくつか存在しています。
Flutterのデメリット
ここまで聞くと、まるで魔法のツールのように見えるFlutterですが、やはり完璧なツールは存在せず、デメリットもあります。
大きく2点見ていきましょう。
1. ネイティブ言語の知識も必要になる
iOS、Android両方のコードにコンバートできるFlutterですが、どちらにおいても100%互換性があるわけではありません。
ネイティブ言語でないと実装できない機能もありますし、そのあたりの実装や調整をするためにはSwiftやKotlinといったそれぞれのネイティブ言語を理解している必要があります。
2. 日本語の教材が少ない
ある程度情報は出回っているFlutterですが、日本ではまだまだ発展、普及途上にあり日本語の教材は十分とは言えません。
これはFlutterに限ったことではなく、IT関連の最新情報は英語で発信されるのが常です。
ある程度英語情報を読み解く必要があるのは、日本人エンジニアの宿命とも呼べるものかもしれません。
Flutterの将来性が明るい理由
デメリットもご紹介しましたが、Flutterの未来については明るいと断言できます。
Googleが市場のシェアをとろうとしている
なんと言っても開発しているのがGoogleです。
クロスプラットフォーム自体のニーズが大きいことは疑いの余地がなく、今後Googleが積極的にシェアを広げてくることは間違いありません。
現在は英語情報が中心ですが、いずれ日本でも広く使われるようになるでしょう。
既存言語とうまく共存できる
一つのコードでiOSにもAndroidにもアプリを作れるFlutterは理想的で、最終的にはこれ一つに集約していくようにも見えます。
ところが言語や開発環境というのはそれぞれが進化を続けるので、市場や開発現場においてFlutterの独占状態になることは考えにくいでしょう。
最も高い可能性としては、Flutterと既存環境との共存です。
いわゆる「良いとこ取り」を目指す現場が増えると考えられますので、例えばFlutterとSwiftを両方扱えるエンジニアになることで市場価値を上げられるでしょう。
Flutterを勉強する方法
さてそんなFlutterで開発する技術を身につけるにはどうすれば良いのでしょうか。
まだFlutter専門のプログラミングスクールも出てきていませんので、おすすめはやはり動画になります。
既にUdemyやYouTubeでは教材や情報が多数アップされていますので、ここから吸収するのが現状でのベストと言えます。
先述の通り英語情報がメインではありますが、最近の自動翻訳の精度の向上には目を見張るものがあります。
自動生成の日本語字幕を使えば英語力がなくても理解はできるはずですので、ぜひ挑戦してみましょう。
また、国内外問わず活発に活動しているコミュニティがありますので、こちらに参加するのも良い方法です。
実際にFlutterにて開発をしている人たちからの生の情報は学習の大きな助けになります。
まとめ
今回はGoogle社が開発、運営するクロスプラットフォームエンジン、Flutterについてご紹介しました。
まだまだ新しい技術ではありますが、今後伸びていくことが予想されます。エンジニアとしての価値を高めるために取り組むスキルとしては素晴らしい選択肢と言えるでしょう。
しかしながら、現状Flutter一本に集中すべきかと言うとそうも言えません。
先ずはSwiftのようなネイティブ言語をしっかりと身につけて、サブスキル的にFlutterを身に着けていくのが得策と言えそうです。
iOSアカデミアはXcodeとSwiftの環境でのiOSアプリ開発を、最短12週間で学べるオンラインプログラミングスクールです。
今最も注目されている「iOSエンジニア」としてのスキルをまずはメインとして身につけて、その後にFlutterを学んでいくことで、より希少価値の高いエンジニアを目指せます。
スマホアプリ開発者の中でも、更に需要の高いiOSアプリに特化したiOSアカデミアだからこそ蓄積している豊富なノウハウを元に、iOSアプリ開発が学べます。
学習計画や作るアプリのアイディアの相談から講師がアドバイスをしますし、アプリが完成した後の就職までフォローさせていただきますので、安心して学習を進められます。
今なら現役エンジニアが無料相談を受け付けていますので、スマホアプリ開発について相談したいことがあれば、お気軽にお問い合わせください。
監修者
-
エンジニア経験0の状態から1年間独学で勉強して独立
さまざまなiOSアプリの開発に携わる
2021年6月にiOS専門のオンラインプログラミングスクール「iOSアカデミア」を開校。iOSエンジニアを目指す人のサポートにも力を入れています