Dart言語について&Dart勉強会のお知らせ。#dartlang #dartlangjp

Dart勉強会について

勉強会、参加する側から発表、もしくは主催する側に移りたいな。
と常々思っておりまして、ふと

「Dartの勉強会がないなら、自分で開いてしまおう」
と思い立ちました。



立てました
http://atnd.org/events/40155
場所は市ヶ谷の健保会議室か、会社の会議室を借りるかしようと思っています。

Dartをガッツリ書いています!という人も少ないと思うので
・始め方、使い方、実用するためのステップ等の解説
・WebComponentの概念,polymer.jsを使う場合とdartのweb_uiを使う場合
といった内容で勉強会をしたいと思っております。
発表してみたい!という方がいらっしゃいましたら、
atndか[twitter]https://twitter.com/mogetta等にご連絡いただければと思います!

改めてDartのお話


http://www.dartlang.org/ 乱暴に手っ取り早く説明すると
って辺りがDartの特徴かと思われます。

どういう言語なのか

http://www.dartlang.org/docs/dart-up-and-running/contents/ch02.html#ch02-concepts
  • クラスベース
  • 数値、関数、null等、全てObjectの継承
  • top-level functions (such as main(),main関数のような、クラス外の関数も書ける。
  • 2つのエラータイプ
  • 2つのランタイムモデル
  • dart内のjsライブラリを使えば、jsとの連携も可能
  • https://github.com/mogeta/dotsync/blob/master/dart/Channel.dart
  • FutureAPIを利用した非同期プログラミング
等等、javascriptで置き換えられることを念頭に開発されていることも注目です。

example
class Dot {
 num x, y;
 Dot(this.x, this.y);
 String toString() => "($x,$y)";
}
void main() {
 var p = new Dot(3, 4);
 var q = new Dot(5, 6);
 print(p);
}
・ main()がエントリーポイント
・ 変数の定義が「var」で可能(動的
・ 値の代入だけならコンストラクタの記述が省略できたり。
・ 1ステートメントだけなら関数の代入が簡単に記述できたり。

開発状況はどうなのか

http://www.infoq.com/jp/news/2013/04/dart-m4-release
一時期に比べると大分安定してきているのではないでしょうか。
GoogleIOでもCore libraryはstableだよ。なんて話もありました。
とはいえ、Uri.fromString ー>Uri.parseみたいな名称変更レベルがゴロゴロしているのでまだ油断はできません。

ライブラリは揃っているのか

http://pub.dartlang.org/
Dartにはコアライブラリの他、npmやgemと同じようなpubというpackages managerがあります。
これを使用することによってgithubから取ってきたコードに依存したライブラリを簡単に取得することが可能です。
使い方はpubspec.yamlというファイルにこんな感じで記述
name: sandboxWebUI                       #名前
description: A sample WebUI application  #詳細
dependencies:                            #依存関係
  js: any                                #ライブラリ:バージョン
  google_urlshortener_v1_api: any
  browser: any
  web_ui: any
で、以下のコマンドを実行
pub install

今やる必要あるの?

あるかないかで言ってしまうと必須ではないです。
とはいえ、将来性を見据えてやってみる分には面白い言語だと思っています。 学習コストはJavaやActionScript3を触っていた人であれば低めですし、 dart2js等を使ってWebアプリを公開する方法等も確立されており、実用性もあります。

Dartがhaxeやjsx,coffeescriptとくらべてどうなんだ?という話もあるかと思います。
自分は全ての言語をじっくり触ったわけではない(HelloWorldくらいはしたけども) ので、何が優れていると明確な答えが出せるわけではないですが、
PerlがあるからRubyいらいないよね。みたいな訳ではないということは皆さんご存知だと思いますので、単純に軽く書いてみて気に入ったものを選択すればいいと思います。
FlashからDartへ変換
http://news.dartlang.org/2013/05/adobes-flash-pro-cc-exports-to-dart-and.html
http://www.stagexl.org/
という話もあったりで、業界的な注目も決して低くはないと思うので
興味のある方は是非触ってみてください。

memo

このブログの人気の投稿

GoとDockerのお勉強 #golang #docker

[Unity]「落ちたら消えるオブジェクト」の作り方

ISUCONにてGoの正規表現で爆死 #ISUCON #golang