見出し画像

【新技術】開発未経験新卒が、Flutterアプリ開発できるようになるまで①

こんにちは!株式会社インテック金融事業企画部1年目のモモです。

私は今年の6月に金融事業企画部に配属になり、Flutter+Firebaseによるスマホアプリ📱開発を行っています。

大学時代は情報系でしたが、当時プログラミングに苦手意識があり、開発経験は全くありませんでした。

しかし、現在はフロントエンド、バックエンド、データベース構築など、ガンガン開発しています!!

私の記事では、開発未経験新卒が、Flutterアプリを開発できるようになるまでを、以下の3回↓に紹介していきます。

第1回:Flutterとは?メリットは?デメリットは?
第2回:開発未経験がFlutterをやってみて大変だったこと
第3回:効率よくFlutterを習得する方法

この記事を読んで、

「Flutterが気になっていたけれど、なかなか手を出せずにいた・・・」

「アプリ開発したいけど、プログラミングやったことない・・・」

といった方が、少しでもアプリ開発を始めるきっかけを作ることが出来たら幸いです✨

それでは、今回は第1回として、Flutterとは何か?について、紹介していきます!!

Flutterとは?

スマホアプリ📱のフロント部分を作成するための開発キットです。基本言語はDartという言語です。

フロントとは・・・画面のことです。

私達がスマホでアプリを起動して、目に見えるページやボタン、すべてのものを指します。(赤矢印のところ)

画像3

画面の土台部分の白い画面や、文字、上の青いバーなど、画面を構成するあらゆる部品はウィジェットといいます。画面は全てウィジェットの組み合わせからなります。

「まず初めに白い画面ウィジェットを土台にして、この上にタイルのウィジェットを重ねます」、という内容を、Dartで記述することで、簡単に綺麗なアプリ画面が出来るわけですね!

何がすごいのか?

エンジニア界隈で人気上昇中のFlutterですが、スマホアプリが開発できる、という点でなぜそこまで注目を集めているのでしょう?

以下の特徴にまとめられます。

・クロスプラットフォーム
・ホットリロード

クロスプラットフォーム

従来、スマートフォンアプリ📱は、AndroidアプリとiOSアプリで実装方法が異なるものです。

Androidアプリは、Java、Kotlinという言語、iOSアプリは、Swift,Objective-Cという言語で記述されます。

したがって、Android、iOS、両方対応するアプリを作成するためには、複数の言語を習得する必要があったわけですね。

しかし、Flutterでは、Dartという言語一つで、(基本的に)androidにもiOSにも対応できるアプリを作成することが出来ます

これがクロスプラットフォームです。

Flutterのおかげで、アプリ開発へのハードルがぐっと下がりました👍

ホットリロード

もう一つのFlutterのメリットとして、プログラム変更の画面反映がとにかく早いという特徴があります。

例えばこういった画面の・・・

ソースコードのテキストをこのように書き換えて、

class LocalData {
 List<Matter> nameList = [
   Matter(
       matter: 'noteを更新する'
   ),
   Matter(
       matter: 'アプリを開発する'
   ),
   //↓「書類を出す」を追加
   Matter(
       matter: '書類を出す'
   ),
 ];
}

Ctrl+Sで保存すると・・・

体感1秒で画面に反映されます!!

これがホットリロードです。

細かい変更が多いアプリ開発にとって、大変役に立つ機能ですね!

デメリットは?

ここまで聞くと、良いこと尽くしのように見えるFlutterですが、もちろんデメリットも存在します。

私から見たデメリットは、以下の点です。

・基本言語Dartを学習する必要がある

基本言語Dartを学習する必要がある

Flutterの基本言語はDartです。

Dart自体は2011年ころから存在していた歴史ある言語ですが、JavaやJavascriptと比べると、どうしても知名度は低いと思われます。

したがって、Flutterを始めるとなると、Dartの学習コストもついて回るのがデメリットとも言えます。

しかし、Dart自体は、JavascriptやJavaに近い言語であるため、そういった言語の経験があるのであれば、学習自体はすぐできると思います!

まとめ

Flutter…スマホアプリ📱のフロント部分を作成するための開発キット
 メリット①:一つの言語でandroidアプリもiOSアプリも両方できる
 メリット②:プログラムの変更反映が早い
 デメリット:基本言語Dartを学習する必要がある

いかがだったでしょうか?

次回は、Flutterをやっていて、大変だったことについてお話ししたいと思います!

ありがとうございました!

この記事が参加している募集

やってみた

この記事が気に入ったらサポートをしてみませんか?