patorashのブログ

方向性はまだない

Dart

DartのバージョンマネージャーDVMを入れてみた

Rubyのrvm, rbenvみたいにDartのバージョンマネージャーはないのかな?と探してみたところ、dvmがヒットしました。 dvmはpubパッケージとして公開されているので、dartのインストールが行われていないと使えません。 pub.dartlang.org dvmのインストール dar…

DartでFullscreen APIを実行する

Dartでhtml5のFullscreen APIを実行したいと思ったのですが、メソッドがあるにも関わらず、どうにも動きませんでした。 import 'dart:html' as dom; main() { var canvas = dom.querySelector('#canvas--fullscreen'); canvas.requestFullscreen(); // 動か…

List.forEachでasync, awaitしたいならFuture.forEachを使おう

これはDart Advent Calendar 2017の15日目の投稿です。 qiita.com カレンダーがガラガラで寂しかったので、メモ書きですが、参加しました。 今コツコツとDartでちょっとしたゲームアプリを作ろうとしているのですが、1秒ごとに処理を行いたいと考えていまし…

DartのサーバサイドフレームワークのAqueductの紹介

この記事はDart Advent Calendar 2017の2日目の記事です。 qiita.com Dartは個人的に数年前からDart本を読んでやってみようと思って頓挫、を繰り返していました。 ただ、2016年にGoogleがAdwordsとAdsenseにDartを使っているという記事を読んだり、Sassの実…

AngularDartのコンポーネントでSassを使う

AngularDartのチュートリアルでは、cssしか書かなかったのですが、普段はSass(scss)で書いているので、こちらもそう書けるように設定しようとしました。 ライブラリの選定 DartでのSassのライブラリは、 dart_sass_transformer sass_builder の2つがメジャー…

AqueductアプリをHerokuにデプロイしてみた

DartのサーバサイドフレームワークのAqueductとAngularDartで開発してみようとしています。ひとまずAqueductからpub serveへのproxyも通して、grind serveでAqueductとpub serveのどちらも立ち上がるようになってかなり快適になりました。アプリは全く作って…

grinderのタスクに引数を渡す

Dartのタスクランナーであるgrinderですが、タスクに引数を渡す方法がわかりませんでした。サンプルにも載っていないので、issueの中身を読み漁ったりした結果、とりあえず作れるということはわかりました。 main関数内で定義する github.com 上記のリンクの…

Aqueductのチュートリアルを終えた

aqueduct.io Dart製のフルスタックなサーバサイドフレームワークのAqueductのチュートリアルをやってみました。 2016のDart Summitでもトラックがあったみたいで、有望なフレームワークみたいです。 特徴としては、 テストを書ける仕組みが整っている 特に何…

Angular Dartのチュートリアルを終えた

webdev.dartlang.org Angular Dartのチュートリアルをようやく終えました。仕事の昼休憩の時間と、夜中に少しずつ進めていたので3日くらいかかったと思います。 やってみた感想 まんまなぞっていっただけなので、理解が怪しいところがたくさんありますが、感…

とりあえずIsolateを使って並列化してパフォーマンスを見た

Dartの強みといえば、非同期処理と並列化の簡単さだと思います(本を読みかじった感じだと)。 そこで、ちょっと気になったのでIsolateでサーバを並列化して、パフォーマンスを見てみることにしました。本に書いてあるけれど、実際にやってみた感じです。ま…

grinderを使ってpub serveとサーバサイドの起動を同時に行う

前回の記事では、サーバサイドにアクセスしたら特定の条件によってpub serveで起動しているサーバを中継してdartやjsやcssのファイルを返すようにしました。今度は、この2つのサーバを同時に立ち上げたいなと思ったのでやってみることにしました。grinderを…

pub serveに対してproxyを経由してアクセスする

Dartでサーバサイドの開発とクライアントサイドの開発を行いたい場合、サーバサイドはともかくとして、クライアントサイドの開発はpub serveを使わないと全然うまくいかないように思います。pubspec.yamlにtransformersを定義するのですが、pub serveで起動…

Dartの非同期処理のエラー制御にはZoneを使う

前回はgrinderを使ってタスクを実行するという記事を書きました。 その時に、compileタスクを定義しました。dartをjsに変換、sassをcssに変換、rspを変換などです(rspはrikuloのテンプレート機能。JSPみたいなやつ)。 @Task() void compile() { dart2js(new …

Dartのタスクランナーのgrinderを使う

Dartのサーバサイドフレームワークを色々と試してみようと考え、何がいいのかなぁ〜と呟いたらrikuloがいいと言われたのでとりあえず触ってみています。 rikuloはUIフレームワークやサーバサイドフレームワークなどを提供しており、サーバサイドフレームワー…

Dart良さそう

昨日の社内勉強会で、「Dartやってみたい」というLTをしました。 DartはGoogleが作ったプログラミング言語で、JavaScriptを置き換えるようなポジションでデビューしたのですが、今は方向転換してフロントエンドの扱い的には、JavaScriptにクロスコンパイルす…