Flutter開発 iOS,Android,Web
クロスプラットフォームで実現する
Flutterアプリ開発。

Flutter(フラッター)とは

マルチプラットフォームを実現する
モバイルアプリ開発キット


Flutterは、2018年にGoogleによって開発されたオープンソースUIのSDKであり、単一のコードベースから、Android、iOS、Web向けのクロスプラットフォームなアプリを開発するためのフレームワークです。高速でオブジェクト指向のプログラミング言語であるDart言語に基づいており、高パフォーマンスとUIデザイン面、高生産性で開発者の人気を集めている技術です。現在Flutter製のアプリは世界で15万を超えています。
世界ではGoogle Ads,Alibaba,NewYorkTimes,BMW,Square,PHILIPS hueなどのアプリに採用されています。

Flutter-logo-animation-v1-2.gif

Flutterの特徴

iPhone・Android両アプリを共通化

iPhone/Androidをネイティブでそれぞれ開発していませんか?これがアプリ開発の価格を高騰させている一つの要因です。
Flutterを採用する一番の理由として、iPhoneアプリ・Androidアプリ両方のクロスプラットフォーム対応のアプリ開発が可能で、アプリ開発速度を上げ、工数圧縮を可能とします。
初期開発のみならず、アプリ運用時にも、クロスプラットフォームのコード共通化は威力を発揮します。
※クロスプラットフォーム開発技術だけであればReact Native,Cordova,Xamarineが候補になりますが、Flutterならではの特徴を更に下記で説明していきます。

cross_platform_appli_image500S.jpg

ネイティブアプリのような
UIコンポーネント

Flutterは、一見するとネイティブアプリを触っているような操作性と表現力を誇ります。
FlutterのUIはReactからインスピレーションを得た最新のフレームワークを使用し、Flutterウィジェットから構築を行える特徴があり、マテリアルデザインウィジェット(Android),クパチーノウィジェット(iOS)と言ったUIコンポーネントから美しいアプリデザインを速く作成する事ができます。
これによりユーザーは普段使っているネイティブで書かれたアプリと使い心地にほぼ差がなくアプリを使うことができ、開発者はUIの変更に対して素早く対応する事ができます。

mobile_UI_Component_image640_320_.jpg

ネイティブアプリのような
高いパフォーマンス

今までのハイブリッドアプリ開発用フレームワークは、Web技術(JavaScriptやHTML)をベースにしており、アプリが大規模化するにつれ、レスポンスが遅くなりやすくアプリケーションサイズも重くなる特徴もありました。

一方、Flutterはアプリのパフォーマンスが高く、ネイティブコンポーネントが提供するデフォルトの可用性により、Flutterはネイティブモジュール間で通信するためのブリッジを必要としません。標準デバイスのパフォーマンステストは、常に60FPSで実行され、各フレームのレンダリングにかかる​​時間は16ミリ秒を超えないことで、Swiftアプリよりも高パフォーマンスとされています。
また、Flutterは従来のコンパイル方法を使用せず、ステートフルホットリロードを使用する事でコードに加えられた変更は、すぐにライブアプリケーションに反映され、開発者の生産性が向上が期待できます。

Mobile_Performance_image640_361.jpg

Flutter for Web


Flutterは「一度書けばどこでも実行できる」というアプローチに従い、開発者が異なるプラットフォームであっても1つのコードさえ書けば同等に機能するUI開発プラットフォームです。 FlutterのメジャーアップデートであるFlutter2から、Android/iOSで動くアプリをそのままWebの世界に持ってくる事を可能としており、自動的にPWA(Progressive Web App)化を実現します。
Flutter(Dart)コードをJavaScriptコードにコンパイルする事でWebに対応し、ワンソースでモバイルアプリとWebの両方に対してサービスの早期立ち上げに貢献できます。

Flutter_Dart_logo_horizontal650_346.png

当社のできること

UI/UXデザインシンキングプロトタイプ



アプリ開発を実施している場面で、「イメージと違った」という理由で手直しが発生する事は多々あります。 特にアプリは「UI/UX」が非常に重要となります。
Flutterを導入するメリットの一つとして、UIライブラリが豊富にあり、 プロトタイプ開発を簡単かつスピーディーに行う事ができます。

当社では、モバイルアプリのモックをすぐに作成する事でステークホルダーに触ってもらいながら、 改善を行うUI/UXのブラッシュアップとアジャイル開発を行っています。

mobile_app_UI_UX_500S.jpg

mBaaSによるバックエンド開発



スマートフォンアプリ開発において、半分の工数はバックエンド開発です。 バックエンド開発もスピーディーに行うため、FireBaseやAzure Mobile Backendを利用する事で、 ログイン認証、ユーザー情報管理、データベース、Push通知やメール通知のよくある機能を呼び出して使う事ができます。

当社では、マイクロサービスアーキテクチャの思想を取り入れており、 機能毎の適切なサービス分割を検討・提案し導入を支援しています。

cloud_contents_image640_397.jpg

管理機能はクラウドで提供


当社では、マルチプラットフォーム向けの開発コアフレームワーク(Gaudiモバイルバックエンド)を保有しており、 管理画面に必要な機能はコンポーネントで保有しています。 CMS、会員管理、サブスクリプション、動画メディア、マッチング、IoT連携データログ可視化(混雑度分析)など多彩な機能を誇ります。 アプリのコンテンツ価値を最大化させるために、mBaaS、外部サービス、企業の既存システムと連携して、強力なバックエンドシステムをクラウドで提供することが可能です。

gaudi_CMS_500S.jpg

スマホアプリのCI/CD

アプリ開発の技術やUIが目まぐるしく進化し、ユーザ体験の満足度水準が高まり続けております。 またそれに伴う、OS、フレームワーク、ライブラリのバージョンアップの周期も早まっています。

当社では、自動デプロイによりアプリ更新作業を効率化したり、 Docker、サーバレスアーキテクチャの導入、ブルーグリーンデプロイなどCIによる自動化を積極的にプロダクション環境で導入しており、 よりサービス改善に注力できるような環境作りを支援しております。

また、クラッシュレポートの監視やAnalyticsデータから アプリ改善に対する体制を用意することで、継続的なサービスの成長基盤作りを提供します。

appli_brashup_500S.jpg