55
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

最近噂のDart言語でjsアプリ作ってみた

Last updated at Posted at 2019-11-25

最近噂の3倍生産性が良いFlutterにつられて色々調べていたら、dart言語なるものがあり、JSアプリ作ろうかなーって思っていたので、使ってみた。
https://dart.dev

facebookインスタントゲームとして、公開済み。
https://fb.gg/play/solitaireproworld

javaで開発したandroidアプリを移植した。
https://play.google.com/store/apps/details?id=jp.co.projapan.solitaire

ゲームアプリなので、StageXLフレームワークを使用。これはFlash風APIになってる。
http://www.stagexl.org

###良かった点

  • ビルドが速い。5秒程度でリロードされる。慣れるとサクサク開発できて、超気持ちいい。
  • Javaに似てるので、javaから移植しやすい。javaプログラマーは入りやすい。
  • javaと比べると、文句なしでDartがいい。全然違う。Objective-Cはクソ
  • 新しめの言語なので、変な制約が少ない。C++とかクソ
  • IDEはVSCode使ったが、軽くて良い。最近のXCodeはクソ。androidStudioでも開発可能。
  • 慣れるとサクサク開発できて、超気持ちいい。
  • Dart関係ないけどVSCodeでのソース自動整形はいい。生産性が上がる。(今まで興味なかった)
  • webGLも使える。StageXLはでふぉでON。まあ古めのデバイスのためにOFFったけど。新しめのデバイスならONの方が性能上がりそう。
  • JSは結構デカくなるけど、gzip圧縮できるので、問題無し。このアプリは748KB->212KBだった。
  • ChromeのみでDartソースレベルDEBUGができる!さすが純正。
  • android/iOSの実機とエミュレータ/シミュレータでもlocalhost環境で動作確認が可能。webdevに引数 --hostname=IPアドレス をつける

###悪かった点

  • VSCodeだと日本語コメントが文字化けしやがる。(最新版では修正済みらしい)
  • 日本語情報が少ない。特にStageXL情報がない。全くない。
  • 画面をコードで構築するので、めんどい。まあこれはこれでいい。変なツールを覚える必要がない。
  • たまにソース辿れない例外が出て、修正に苦労する。
  • numにdoubleが入っててintに代入すると、整数じゃないので例外が出てしまう。
  • VSCodeからDEBUG起動とかもできるが、そのうち劇重になるので、使わなかった。Chromeのみでデバッグ可能なので、そっちを使う。現在は改善されてるかも。
  • 言語別リソースの機能とかは無い。仕方ないので、自分で構築した。まあ言語ごとにjsonに追い出したりするだけ。
  • if (xx)でxxがnullだと例外吐きやがる。クソが。
  • ビルド待ち時間が少ないので、疲れる:sob:超疲れる。news読む暇なくなる。

##最後に
概ねサクサク作れました。:v:
生産性、いいわあ。:relaxed:ビルド速いのは正義だねえ。

StageXL使ってる日本人、私だけかもー。貴重な老人プログラマーになれたかも。

そのうちFlutterもやろう。
AngularDartはすでに使ってみた。
##その後
webサイトも立ち上げた。ソリティアプレイ部分がDart。
ソリティア.global
https://solitaire.global/

55
37
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
55
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?