More Related Content
PDF
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて PDF
FIRST STEP to Haxe/JavaScript PDF
JavaScriptユーティリティライブラリの紹介 PDF
PPTX
PDF
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話 PDF
PDF
What's hot
PPTX
PDF
PDF
PDF
PPTX
PPTX
LINQ 概要 + 結構便利な LINQ to XML PDF
Buildinsider OFFLINE TypeScriptの基礎から実践・利用事例まで PDF
PDF
PDF
ECMAScript6による関数型プログラミング PDF
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8 PDF
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~ PDF
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall PDF
PDF
Javascriptのあれやこれやをまとめて説明してみる PDF
PDF
PDF
Similar to 大規模なギョームシステムにHaxeを採用してみた話
PDF
Play framework 2.0のおすすめと1.2からのアップグレード PPT
PDF
PDF
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe PPTX
altJS勉強会「Haxeすごいからみんな使え!」 PDF
PDF
PDF
わかるコードを書くために For writing clean code PDF
PDF
Kink: invokedynamic on a prototype-based language PDF
Play framework 2.0のちょっとした紹介 PDF
PDF
PDF
KEY
関ジャバ JavaOne Tokyo 2012報告会 PDF
PDF
PDF
Hyper → Highspeed → Development PDF
PPTX
Javascriptのデザインパターン【勉強会資料】 More from terurou
PDF
DLR言語によるSilverlightプログラミング PDF
Computation Expressions for Haxe PDF
PDF
PDF
PDF
PDF
PDF
PDF
Tech Fielders 2009/9/18 LT PDF
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例 PDF
PDF
Yet Another DLR for Silverlightの試作 PDF
自社サービスでDurable Functionsを採用した話 PDF
Iron Python / Iron Ruby で .NET Programming PDF
PDF
Metro Style AppsでMSILver.2012/06/09 PDF
PDF
IronRuby on Silverlight っておいしいの? PDF
PDF
Recently uploaded
PDF
論文紹介:"MM-Tracker: Motion Mamba for UAV-platform Multiple Object Tracking", "M... PDF
歴史好きのスクラム話 JBUG名古屋#5 AI時代のデータドリブンなプロジェクト管理 PDF
論文紹介:"Reflexion: language agents with verbal reinforcement learning", "MA-LMM... PDF
How We Operated Ticket-Driven Development in JIRA.pdf PDF
論文紹介:Simultaneous Detection and Interaction Reasoning for Object-Centric Acti... PDF
手軽に広範囲でプライバシーを守りながら人数カウントできる ~ LoRaWAN AI人流カウンター PF52 日本語カタログ PDF
LoRaWAN小売業DXソリューション ~天候データと人流カウンターを利用して売り上げアップに貢献! 大規模なギョームシステムにHaxeを採用してみた話
- 1.
- 2.
- 3.
terurouです。
• Web・GUI・分散処理を手広くやってます
–Windows 8(なんとか Style Apps), Silverlight,
JavaScript, Android, …
– Cassandra, 自作KVS, AWS, …
– DataGridの自作に定評があるらしいです
• フロントエンド寄りのアーキテクチャの設計が
割と得意です
– MVC/MVVM, Client-side Cache, 通信, …
3
- 4.
- 5.
忘年会とか主催してます。
• 12/8(土)
– 昼の部 13:15-16:45
– 夜の部 17:30-20:00
• http://events.dstokai.info/ngk2012b
5
- 6.
- 7.
- 8.
ActionScript と C#によく似た言語
• 構文はActionScriptに似ている
• 提供している機能はほぼC#
– enum(パターンマッチ)と構造的部分型を足し、
– LINQとeventとasync/awaitを引く
– メソッドをdelegateとして扱える
• thisのスコープがメソッドにバインドされる
– using mixin = 拡張メソッド
– ラムダ式、レキシカルクロージャ
8
- 9.
- 10.
- 11.
- 12.
システムについてざっくりと
• ギョーム系SaaS
–セルフカスタマイズとかもあるよ!
– 画面レイアウト情報を動的に扱う
• HTML5/JavaScript, Ext JS
• Java, PostgreSQL, Cassandra
• IE9~ + モダンブラウザの最新版に対応
12
- 13.
- 14.
- 15.
- 16.
- 17.
既存コードの問題点
• Ext JSのMVCを採用していた
– 自動スクリプトローディングや独自OOPなど、
深く学習しないとコードを読み書きできない。
– 実装者のスキル不足もあり、訳がわからなく…
– 個人的には「この設計思想はないわー」
• データ構造・管理が破綻
– JavaScriptが柔軟(動的)すぎる
– 「このオブジェクトにデータ入れちゃえ!」
17
- 18.
で、どうするか
• Haxeを採用
–型をキッチリ管理したい
– まともなモジュールシステムが必須
– 数か月学習していたので不安はなかった
• MVCは独自実装に変更
– 既成のMVC Frameworkでは要件に合わない
– システムが少々特殊
– でもExt JSのUIコンポーネントは使いたい
18
- 19.
- 20.
typedef/enumの例
enum ComponentType {
コンポーネントの種別を
Text(x : TextDefinition); enumで定義
Number(x : NumberDefinition);
RadioButton(x : RadioDefinition);
}
typedef TextDefinition {
x : Int,
y : Int,
width : Int,
コンポーネントごとに
height : Int, 固有の設定情報
allowChars : TextAllowChars;
maxLength : Int,
}
20
- 21.
- 22.
Observer + enumの例
classText extends Observale<TextEvent> { }
enum TextEvent {
Click;
Change(newValue : String, oldValue : String);
Blur(event : { cancel : Void -> Void });
}
text.observe(function (event : TextEvent) {
switch (event) {
case Blue(x): if (!validate()) x.cancel();
default:
}
});
22
- 23.
- 24.
Deferred(Promise)の例
showLoadingMask();
var http =new HttpClient();
http.send(‘/foo/bar’, ‘get’)
.success(function (data : Dynamic) {
var value = cast(data.value, Int);
trace(value);
})
.fail(function (error : HttpError) {
trace(‘なんかエラーでた’);
})
.done(function () {
clearLoadingMask();
});
24
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.