SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
はじめての
Dart
2014.07.12
Room metro #26 大阪 & VS ハッカソン倶楽部 共催
テーマ「あなたの気になるフレームワーク特集」
自己紹介
● かわべたくや
● 大阪で働いています
● Twitter :@kawakawa
● 普段はC# 使い
● 今回初めて、Dart 使ってみ
ました。
Dart とは?
Dart とは?
読み方は、
  ダーツ or ダート。
youtube を見ると、
   ダーツが多そう。
Dart とは?
Google によって、
JavaScript の欠点を
補う形で作られた言語
Dart とは?
大規模開発にも耐えれる
ように、設計されている
・・・らしい。
Dart とは?
Javascript に取って代わる
のが目標ではなく、
適材適所、共存の関係を
目指しているらしい。
Dart とは?
2014/07/09
Dart は「 ECMA-408 」
として標準化しました。
これで、普及に弾みがつくかも?
NEW
Dart 実行環境
Dart 実行環境
DartVM
・ Dart の仮想 VM
・ Dartium は DartVM を
搭載したブラウザ
Dart 実行環境
JavaScript が動く場所
・ Dart から JavaScript へ
コンパイル可能
Dart 実行環境
つまり Dart は、
・サーバ側( DartVM )
・クライアント側( JavaScript )
両方とも、同じ言語で開発可能。
(個人的に、開発負担が下がるから大歓迎)
Dart の性能
Dart の性能
https://www.dartlang.org/performance/
Dart の性能
色々なベンチマークで、
JavaScript に対して、
DartVM は高いスコアを示し
ています。
Dart の性能
Dart から JavaScript へのコ
ンパイラも、 JavaScript と比
べて少し低か、同じぐらいの
スコアを出している。
Dart 開発環境
Dart 開発環境
Dart SDK
・ Google が開発した開発キット
・使うには JDK が必要
Dart 開発環境
Dart Editor
・ Eclipse を基にしたエディタ
・使い慣れた IDE で開発できる
Dart 開発環境
http://try.dartlang.org/
・ブラウザ上でお手軽に Dart を
 試すことが出来る。
Dart ライブラリ
Dart ライブラリ
JavaScript から多くのライブラリ
が、 Dart に移植されています、。
AngularJS -> AngularDart
three.js -> three.dart
Dart 言語の特徴
Dart 言語の特徴
・オブジェクト指向言語
・型があります
・ Java に似ていますが、異なる処もあります
 (クロージャーとか)
Dart デモ
それでは、少しだけ Dart を触ってみましょう。
PC 持っていて、ネットにつながる方は、
http://try.dartlang.org/
に接続してみてください。
Dart デモ
まずは簡単に FizzBuzz でも。
(1)最初は素直な書き方
(2)次はメソッドチェーンで
色々書けます。
デモ失敗時の保険
デモ用のソースはここ
https://gist.github.com/kawakawa/4bcab29a9e8d39c10003
Dart と CoffeeScript と TypeScript
 
Dart と CoffeeScript と TypeScript
・目指してる目的地は多分同じ?
・勢いでは CoffeeScript が一歩リード
・仮想 VM で動かせるのは、 Dart の DartVM だ
け
・ TypeScript は開発環境が潤沢
(天下の VisualStudio)
まとめ
まとめ
おそらく、 Dart 、 CoffeeScript 、 TypScript で生
き残るのは一つだと思う。
(住み分ける必要性が低いから)
意外と、サーバとクライアントが同言語・環境で
開発できることが、キーポイントと思っている。
そうなると、サーバで DartVM (仮想 VM )が
動かせる Dart 有利かも。
まとめ
まあ、 JavaScript 自体が、
Dart 、 CoffeeScript 、 TypeScript の
それぞれ良い処を悪魔合体して、
結局 JavaScript 以外、誰も生き残らない
可能性もあるのですけどね。 (;´д ` ) トホホ…
                  おわり

Weitere ähnliche Inhalte

Was ist angesagt?

Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
 
福岡DDD勉強会vol.1
福岡DDD勉強会vol.1福岡DDD勉強会vol.1
福岡DDD勉強会vol.1
Yunosuke Taga
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
 

Was ist angesagt? (20)

Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
 
Base DDD(ドメイン駆動設計) 参考文献を巡る旅
Base DDD(ドメイン駆動設計) 参考文献を巡る旅Base DDD(ドメイン駆動設計) 参考文献を巡る旅
Base DDD(ドメイン駆動設計) 参考文献を巡る旅
 
Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1
 
JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説
 
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
 
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
 
Mithril - 軽量/高速なMVCフレームワーク
Mithril - 軽量/高速なMVCフレームワークMithril - 軽量/高速なMVCフレームワーク
Mithril - 軽量/高速なMVCフレームワーク
 
福岡DDD勉強会vol.1
福岡DDD勉強会vol.1福岡DDD勉強会vol.1
福岡DDD勉強会vol.1
 
Mithril
MithrilMithril
Mithril
 
ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
 
HTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレHTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレ
 
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
 
20131209_buildinsidermeetup
20131209_buildinsidermeetup20131209_buildinsidermeetup
20131209_buildinsidermeetup
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
某S社のddd(メイリオ)
某S社のddd(メイリオ)某S社のddd(メイリオ)
某S社のddd(メイリオ)
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
 
レガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れる
レガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れるレガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れる
レガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れる
 

Ähnlich wie はじめてのDart

磯野ー!Dartやろうぜー!
磯野ー!Dartやろうぜー!磯野ー!Dartやろうぜー!
磯野ー!Dartやろうぜー!
uka yare
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
 
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
VOYAGE GROUP
 

Ähnlich wie はじめてのDart (11)

磯野ー!Dartやろうぜー!
磯野ー!Dartやろうぜー!磯野ー!Dartやろうぜー!
磯野ー!Dartやろうぜー!
 
Server Side Dart
Server Side DartServer Side Dart
Server Side Dart
 
Inside frogc in Dart
Inside frogc in DartInside frogc in Dart
Inside frogc in Dart
 
DartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみようDartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみよう
 
Source Code of Dart
Source Code of DartSource Code of Dart
Source Code of Dart
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
 
Flutterを体験してみませんか
Flutterを体験してみませんかFlutterを体験してみませんか
Flutterを体験してみませんか
 
仕様をコードに落としこむ際気をつけたいこと
仕様をコードに落としこむ際気をつけたいこと仕様をコードに落としこむ際気をつけたいこと
仕様をコードに落としこむ際気をつけたいこと
 
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
 
5分でわかる! SqljockyでDart+MySQL
5分でわかる! SqljockyでDart+MySQL5分でわかる! SqljockyでDart+MySQL
5分でわかる! SqljockyでDart+MySQL
 
Code Anything
Code AnythingCode Anything
Code Anything
 

Mehr von Takuya Kawabe

20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう
Takuya Kawabe
 

Mehr von Takuya Kawabe (13)

役に立つソフトウェアを目指してLet'sチャレンジ
役に立つソフトウェアを目指してLet'sチャレンジ役に立つソフトウェアを目指してLet'sチャレンジ
役に立つソフトウェアを目指してLet'sチャレンジ
 
顧客価値って奥深いですね
顧客価値って奥深いですね顧客価値って奥深いですね
顧客価値って奥深いですね
 
概念モデルって難しいですよね
概念モデルって難しいですよね概念モデルって難しいですよね
概念モデルって難しいですよね
 
保守とDDDと私
保守とDDDと私保守とDDDと私
保守とDDDと私
 
ドメイン駆動設計(DDD)導入判定チェックシート
ドメイン駆動設計(DDD)導入判定チェックシートドメイン駆動設計(DDD)導入判定チェックシート
ドメイン駆動設計(DDD)導入判定チェックシート
 
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみましたぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
 
Wifiの暗号種別を調べてみました
Wifiの暗号種別を調べてみましたWifiの暗号種別を調べてみました
Wifiの暗号種別を調べてみました
 
Visual studio2013からGithubへPushする方法
Visual studio2013からGithubへPushする方法Visual studio2013からGithubへPushする方法
Visual studio2013からGithubへPushする方法
 
Windows497日問題体験記
Windows497日問題体験記Windows497日問題体験記
Windows497日問題体験記
 
デブサミ関西2013 わんくま同盟LT
デブサミ関西2013 わんくま同盟LTデブサミ関西2013 わんくま同盟LT
デブサミ関西2013 わんくま同盟LT
 
オブジェクト指向アンチパターンを考えてみた
オブジェクト指向アンチパターンを考えてみたオブジェクト指向アンチパターンを考えてみた
オブジェクト指向アンチパターンを考えてみた
 
TFS超入門。いつやるの。今でしょ
TFS超入門。いつやるの。今でしょTFS超入門。いつやるの。今でしょ
TFS超入門。いつやるの。今でしょ
 
20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう
 

はじめてのDart