技術

FlutterとReactNativeの概要

森 真樹史

森 真樹史

2019/11/27

こんにちは!新卒エンジニアの森です!

今回は、最近伸びに伸びてきているFlutterと、安定しているReactNativeの概要を調べてみたので、この場で共有させてもらおうと思います。

1. Flutterとは

Flutterは、Googleが開発しているクロスプラットフォームで動くモバイルアプリケーションSDKです。
言語はDartというJavaとJavaScriptを混ぜたような言語です。
マテリアルデザインの提唱元であるGoogleが作っただけあり、マテリアルデザインを採用した部品を組み込んでいくことが、かなり簡単にできます。
Dartというあまり聞きなれない言語を使っているため、Dartを知らない方はFlutterを触りながらDartの勉強も必須です。

Flutterの特徴

・Widgetが豊富

・急速に成長しているコミュニティ

・ドキュメントがわかりやすい。

・Flutter for Webを使い、モバイルとWebのプラットフォームを一つのコードベースで記載できる。

Flutterの現状とまとめ

現状では多くの企業がFlutterに惹かれており、Googleがツールの改善を続けているので、Flutter SDKはすごい速度で改善されています。GitHubのスター遷移数を見ればわかる通り、かなりの速度で人気も上がってきています。最近ではアリババのような大手企業がすでにFlutterを使用していることを考えると、これから先もまだまだ伸びしろがあると感じます。

2. ReactNativeとは

ReactNativeは、facebookが開発しているフレームワークで、元はReact.jsというWebフレームワークだったのですが、これをネイティブアプリを作成するために作り直したものです。
そのため、言語はJavaScriptで、記述している内容はReact.jsです。
元がJavaScriptなので、TypeScriptで開発している方も多々います。
開発する際は、基本的にHTML、CSS、JavaScriptの知識が必須で、React.jsの知識も必要です。しかし、JavaScriptに慣れている方ならわかりやすいようです。

ReactNative の特徴

・2015年から稼働しているので安定している

・ReactNativeをつかった著名なアプリが数々ある

・よく見る学習しやすい言語で開発ができる

・チュートリアルがわかりやすい

・Webアプリとデスクトップアプリ開発の両方を一つのコードベースで再利用できる

ReactNativeの現状とまとめ

現在ReactNativeは、大規模な再構築に注力しているようです。ReactNativeチームは今年の3月にReactNativeで気に入らない部分は何ですか?という質問から調査を行い、 ネイティブ風アプリケーションのためのシームレスでクロスプラットフォームな開発ツールという、ReactNativeの目標がまだ実現できていないのではないかという事があげられたそうで、この目標を達成するために改善をしているようです。

3. 所感

最近、私もFlutterを触って遊んでいるのですが、世界中の方から注目されていて、下記画像のように GitHubのスター数 も急激に伸びてきています。

そろそろReactNativeも超えそうです、、、!

個人的には、w2でネイティブアプリを作成する機会があれば、Flutterで実施してみたいなと思いました。

上記画像引用元(Star history)