Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

Flutter開発で需要の高いDartの特徴を徹底解説


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210924095508p:plain

おはようございます。Shotaです。

🤔「Dartが最近話題になっているが、どう勉強すればいいのか?」

🤨「Dartを開発で使うメリットってなんだろうか?」

このように考えている人も少なくないでしょう。

そこで、今回の記事ではプログラミング初心者に向けてDartについて詳細に解説します。今回の記事を参考に、Dartについて興味を持ってくれる人がいれば幸いです。

それでは早速、本題に入りましょう。


Dartとは?

f:id:ShotaNukumizu_1000:20211002142621p:plain

Dartは2011年にGoogleが開発したプログラミング言語です。もともとはWEBアプリ向けのプログラミング言語として開発され、Google社内で使用されていました。しかし、リリースされた当初はほとんど普及されていませんでした。

DartWebブラウザの組み込みスクリプト言語として、JavaScriptの問題を解決するために開発されました。(いわゆるAltJS―JavaScript代替言語)そのため、JavaScriptと比較してさらに大規模なプロジェクトにも対応できるようになり、セキュリティ面での対策も大幅に向上しております。

DartJavaScriptをベースに開発されているので、JavaScriptに慣れている人はそこまで習得に困らないと思います。

Dartでできること

f:id:ShotaNukumizu_1000:20210924101936p:plain

Dartでできることは主に以下の4つです。

Android/iOS両対応のスマホアプリの開発
フロントエンド開発
バックエンド開発
JavaScriptへの変換

それぞれ順番に解説していきます。

Android/iOS両対応のスマホアプリの開発

Dartを使って、AndroidiOS両方に対応しているスマホアプリを開発できます。

最近、スマホアプリの開発で注目されているFlutterはDartで開発されています。Googleでは今後もFlutterで開発を進めていく予定なので、プログラマーとして習得しておくと仕事の幅が広がるかもしれません。

KotlinまたはSwiftを使ってスマホアプリの開発を進めている人はDartを視野に入れておいたほうがいいかもしれません。

フロントエンド開発

Dartではフロントエンド開発ができます。しかも、CSSファイルを使わずに画面のデザインを構築できるのが強みです。フロントエンドで見やすいデザインを効率的に開発できるのはDartならではの良さでしょう。

バックエンド開発

Dartはフロントエンドではなく、バックエンドの開発にも対応しています。こちらに関しては発展途上で、まだ情報が少ないです。今後の状況次第ではDartによるバックエンドの開発が主流になるかもしれません。

JavaScriptへの変換

f:id:ShotaNukumizu_1000:20211114052320p:plain

DartJavaScriptと互換性があり、Dartで書かれたコードをJavaScriptに変換できます。

Dartのメリット・デメリット

本章では、Dartのメリットやデメリットをそれぞれ詳細に解説していきます。

メリット

f:id:ShotaNukumizu_1000:20210921075852p:plain

Dartのメリットは主に以下のようなものがあります。


文法がわかりやすい
大規模開発に向いている
動的型付け・静的型付けに両対応
効率的にフロントエンドを開発できる
複数のプラットフォームに対応(Windows, Mac, Linux)


それぞれ順番に解説していきます。

文法がわかりやすい

前章でも話しましたが、DartJavaScriptの代替言語として設計されています。そのため、JavaScriptを経験しているプログラマーには馴染みやすいです。

JavaScriptをベースに設計されているので、学習コストはそこまで高くないです。

大規模開発に向いている

Dartオブジェクト指向プログラミング言語なので、大規模開発に向いています。

動的型付け・静的型付けに両対応

Dartには強力な型推論の機能がありますので、動的型付け・静的型付け両方とも対応しています。

たとえば、変数を宣言する際にdynamicを変数の前に書けば動的型付けになります。

用途に応じて、動的型付けや静的型付けを切り替えられます。

効率的にフロントエンドを開発できる

DartCSSなしで画面のデザインを構築できます。そのため、WEBアプリを開発する際に別途CSSファイルを用意する必要はありません。

複数のプラットフォームに対応(Windows, Mac, Linux)

DartWindows, MacLinuxに対応しているので多種多様な環境で動作できます。SwiftやRubyと違って、開発に必要なOSを選びません。

デメリット

f:id:ShotaNukumizu_1000:20210924065330p:plain

ここまでDartのメリットを列挙しました。ところが、そんなDartにもデメリットはあります。

❌**まだまだ発展途上** ❌**日本語の情報が少ない**

それぞれ順番に解説していきます。

まだまだ発展途上

Dartは他の言語と比べて開発から日が浅いので、現時点ではまだ発展途上です。

日本語の情報が少ない

Dartがリリースされたのは2011年ですが、有名になったのはつい最近なので日本語での情報はありません。

そのため、Dartを勉強する際には自分で英語の情報を収集する必要があります。

サンプルコード

ここで簡単にDartの言語仕様を見ていきましょう。

main関数

Dartではmain関数からプログラムが始まります。

// main.dart
void main() {
    print('Hello Dart');
}

Dartプログラムを動かす場合は、dartコマンドで実行できます。dartコマンドはFlutterをインストールしておけば使えます。

実行する際は以下のコマンドを入力してください。

$ dart main.dart
Hello Dart

今回の記事で紹介した方法は、dartをインストールしていなくてもTry Dartでプログラムを書いて実行できます。

変数の特徴

Dartでは、変数の型すべてがオブジェクト型の派生で、基本ライブラリで型が用意されています。

基本的な変数の型はこれだけ覚えておけば大丈夫です。

概要
int 整数。64bitで管理されている(Flutterに限る)
double 浮動小数点数
num intnumの親タイプ
bool 真偽値。truefalseで表現
Null 無効の値
String 文字列型

余談ですが、型変換をする際にはそれぞれのクラスに変換メソッドがあります。

例えば、小数点まで管理できるdoubleを整数型(int)に変換する際はtoIntを利用します。

double num = 10.1;
int intNum = num.toInt()

まとめ

f:id:ShotaNukumizu_1000:20211018171617p:plain

今回の記事では、Dartについて徹底解説しました。

今後、スマホアプリあるいはフロントエンドを開発するならDartは欠かせないと思います。

今回の記事を参考に、Dartについて詳細に理解を深めていただければ幸いです。

今回の記事はこれで終了です。

参考サイト

www.fenet.jp

type.jp

dart.dev

codezine.jp