Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

About dart

1,510 views

Published on

2013 8 24 LLまつり発表資料に加筆修正

  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks here __undefined__ ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

About dart

  1. 1. About Dart 8/24/2013 @ntaoo
  2. 2. ● 小規模~大規模のWebApp開発に対応 ● ネイティブ(モバイル)アプリに対抗 ● 独自のVM(DartVM)で動き、JSにコンパイル可 能 ● DartVMではV8の2倍以上、コンパイルされた JSでも人間が書くコードよりも高速。 https://www.dartlang.org/performance/ ● JSの資産を利用可能(制限あり) ● ブラウザでもサーバーでも動作 ● 美しい言語仕様とツールサポートによる生産性 の向上 なぜDartか
  3. 3. Dartとはなにか ● 動的型付け言語だが、プログラマが任意に型情報を付加で きる。(Dynamic Typed Language with Optional Type Annotation) -> 可読性の向上、ドキュメント、IDEによる型 チェック、補完、型推論等サポートの恩恵 ● クラスベース、単一継承のOOP (Class Based OOP with Single Inheritance) ● Lexical Scoped Function (Lexical this) and Closures that = this; self = thisとか不要 ● その他、JSのBad Partsからの解放 ● クロスブラウザの高効率JSコードへのコンパイル。Dart2js によるJSコンパイル、concat、minify、source map。
  4. 4. Dartとはなにか ● Source Code VM によるLLライクな開発サイクル。(No compile step) ● 豊富な標準ライブラリ。Mixin, Future(Promise) based async and streams, Mirror Based Reflection, Isolates, Lazy evaluation Iterable, Method Cascades, BDD styled test library… ● Pub (like Ruby’s Bundler) ● DartEditor (DartのIDE) ● 詳しくは公式サイトの豊富なドキュメントを参照。 https://www.dartlang.org/ https://www.dartlang.org/articles/ ● DartとJS,C#,Pythonのコード比較 http://synonym.dartlang.org/
  5. 5. 影響 ● Syntax from JavaScript and C# ● Object Model from Smalltalk ● Optional Types: Strongtalk ● Isolates: Erlang JS開発者はもちろん、それよりもC#、 Java開発者などOOPの人たちがより馴染み やすい印象。 シンプルな言語仕様で、学びやすく、書きやすく読みやすい実用言語。機能は一旦 入れると取り去るのが難しいので、有用性が広く認められたもののみを慎重に取り入 れるスタイル。シンプルさは生産性に大きく貢献する。有効そうな機能でもそれにより 言語の複雑性が増してしまうのを避ける。 関数型言語の特徴の取り込みに関しては慎重(tuple,non nullable type,pattern matching,option型など意図的に未採用。パラダイムの相違、シンプルさと一貫性の 重視?)。関数型言語畑の人からは批判も。 Dartとはなにか
  6. 6. ライブラリピックアップ ● Html Library(instead of jQuery) jQueryを使用する必要はない。より整理されたAPI ● Future and Streams Promiseベースの非同期処理ライブラリ ● Iterables (lazy evaluation by default) ● Mirrors 実行効率を阻害しないリフレクション機構 ● Unit Test BDDスタイルのテストライブラリ ● Web UI, Polymer.dart ● JS (js-interop)
  7. 7. dart:html 公式ガイド https://www.dartlang.org/articles/improving-the- dom/ CSS セレクタによるquery Element elem1 = query('#an-id'); // Find an element by id (an-id). Element elem2 = query('.a-class'); // Find an element by class (a-class). List<Element> elems1 = queryAll('div'); // Find all elements by tag (<div>). List<Element> elems2 = queryAll('input[type="text"]'); // Find all text inputs. 一貫したAPI [JS] elem.hasChildNodes(); [Dart] elem.nodes.isEmpty; [JS] elem.firstChild(); [Dart] elem.nodes[0]; [JS] elem.appendChild(child); [Dart] elem.nodes.add(child);
  8. 8. Web UI、 Polymer.dart Web UI Web ComponentsのPolyfillとして開発 UIコンポーネントの標準化 コンパイルステップが入るのが煩雑(当時はmirrorがDart2jsに未実装だったた め) bleeding edgeはアップデートするたびに破壊的変更により動かなくなる(今年2 月に試した際の話)。 Routing systemとの統合がされる予定だったが… Polymer.dart Polymer.jsとPolymer.dartが発表(5月Google I/O) それなりに安定してきたWeb UIがPolymer.dartにport。それに伴いPre alpha に戻る… 触っていて楽しい。将来に期待大。 サンプル https://github.com/sethladd/dart-polymer-dart-examples
  9. 9. JSライブラリ(JS-interop) JS資産を利用可能 基本Dartのエコシステムで開発し、必要ならばこのライブラリを利用する。twitter API とか。bootstrapのJSをDartから使いたいという要望にも対応できる(はず)。 別にDart->JSのコードと既存のJSのコードが併存しても問題ない? Bootstrap2のJSをWeb UIでDartにportした例 http://dart-lang.github.io/widget.dart/ Dartからbackbone.jsを使いたいといった深いJS依存の用途はNG。 https://www.dartlang.org/articles/js-dart-interop/
  10. 10. Browser Support モダンブラウザの最新版と一つ前のバー ジョンをサポート。IE8はサポートしない。 android browserは?-> Chromeを入れ るべきとの回答。 firefox for androidは? -> 不明。
  11. 11. Dart2jsコンパイラのバグ? バグはDart Teamに報告して対応してもらう。 新し目の機能(mixin, mirrorとか)に関してはたまにバグ報告有 り。 全体的には安定している。 基本的にコンパイル後のJSは読むものではない。1対1でトラン スコードされている部分はあるがヘルパーメソッドが多数生成さ れていて読むのが辛い。 ソースマップがあるので、対応するDartコードの箇所は特定で きる。
  12. 12. Blossomという会社が、自社開発のProductマネジメントソフトを JSからDartに移行したとアナウンス。 http://news.dartlang.org/2013/04/why-blossom-is-switching- to-dart.html Dartendo(Dartendoでググる) ゲーム、ブラウザIDE等々 実際にクロスブラウザでコンパイルされたJSが動作。 事例
  13. 13. まとめ 触っていて楽しい。読みやすく書きやすい。速い。 まだベータ版。破壊的変更についていく必要あり。今年中にstable宣言? 現時点ではJSのMVCフレームワーク+エコシステム > Dart という判断。 仕事での採用はまだ正当化できない。 個人でWebAppを作ってみる。 Dartのエコシステムは黎明期。Grunt,Yeoman,Sprocketsのようなツールがほしい。 SPA(Single Page Web App) + Pjax, isomorphic webappへの可能性。 Chrome Packaged App Try Dart! http://try.dartlang.org/ https://www.dartlang.org/

×