More Related Content
PPTX
JSX 速さの秘密 - 高速なJavaScriptを書く方法 PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。 PDF
Write slides and books in VSCode + Markdown PPTX
JSX Design Overview (日本語) PPTX
2014 03-15 業務アプリinsider ソフトウェア方面の先進テクノロジー PPTX
PPTX
PPTX
20170624 interact2017 open shift on azure What's hot
PDF
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力 PPTX
PDF
Visual studio extensibility PPTX
ASP.NET Core のお気に入りの機能たち (docker向け) PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発 PDF
VMの歩む道。 Dalvik、ART、そしてJava VM PDF
PDF
PDF
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~ PDF
AndroidStudioはじめました ~Gradle編~ PDF
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して PPTX
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係 PDF
The Twelve-Factor (A|M)pp with C# PDF
de:code 2019 DT06 vs-show どっちのVSショー PDF
.NET Conf 2017 Japan Keynote ".NET Everywhere!" PPTX
【U-22】Delphi / C++Builder / RAD Studio 概要 PDF
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用 PPTX
PDF
PDF
Viewers also liked
PPTX
PPTX
Evolution of a Listening Lab PPT
PDF
Winners of HTML5 BYOG - InGDIn PPT
Identity in individuals with disability. Dario Ianes. Edizioni Erickson, Italy RTF
2010 National Latin Exam Information PDF
Brand>ing You - Adrian Mironescu ( Idegrafo ) mart'10, GeekMeet Iasi PPSX
The best power diy marketing tips for entrepreneurs PPT
What Do We Know About IPL Users? PDF
PPS
PPT
PPT
PPT
PPS
PDF
Bibliografia soundscape, sound, landscape PPS
PPT
PDF
Building advocacy and trust: social media for engagement PPT
Similar to JSX
PPTX
PDF
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~ PDF
PDF
PDF
大規模なギョームシステムにHaxeを採用してみた話 PDF
PDF
PDF
PDF
PDF
PDF
PDF
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc... KEY
PDF
PDF
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~ PDF
JavaScript (ECMAScript) 2013 PPTX
PDF
JavaScript ライブラリーを使い倒そう #buildinsider PDF
PDF
More from Kazuho Oku
PPTX
JSON SQL Injection and the Lessons Learned PPTX
PDF
PDF
PDF
PPTX
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先 PPTX
Recent Advances in HTTP, controlling them using ruby PDF
H2O - the optimized HTTP server PPTX
Programming TCP for responsiveness PDF
PDF
PDF
Developing the fastest HTTP/2 server PDF
JSX - developing a statically-typed programming language for the Web PPTX
Cache aware-server-push in H2O version 1.5 PPTX
PDF
H2O - making the Web faster PDF
Reorganizing Website Architecture for HTTP/2 and Beyond PPTX
PDF
Programming TCP for responsiveness PDF
Recently uploaded
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと... PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2 PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1 JSX
- 1.
- 2.
自己紹介
1997-2003 「Palmscape」「Xiino」の開発者
Palm OS用Webブラウザ (Sony, IBM, DoCoMo 等が採用)
JavaScript VMもフルスクラッチで書いていた
2004 IPA未踏「Webアプリ統合開発環境の開発」
スーパークリエータ認定
Perlのウェブブラウザ上でのデバッガ等
2005-2010 サイボウズ・ラボ
Japanize, Pathtraq – ブラウザ拡張を使うウェブサービス
Q4M – メッセージキュー (Mixi, livedoor, DeNA 等で利用)
2011- ディー・エヌ・エー
JavaScript 等、プラットフォーム技術の研究開発
Aug 4 2012 JSX - a faster, easier, safer JavaScript 2
- 3.
JavaScriptの問題
遅い
特にスマホ向けのゲームを作っていると
デバッグに時間がかかる
例: プロパティ名の間違い
読みにくい
さまざまな「クラス」実装や「華麗な」コーディ
ングテクニック
Aug 4 2012 JSX - a faster, easier, safer JavaScript 3
- 4.
解決策
独自のプログラミング言語を開発
JavaScript に静的な型機構を追加
like ActionScript 3 / EcmaScript 4
JavaScript への変換時に最適化
JavaScript より高速に!
Aug 4 2012 JSX - a faster, easier, safer JavaScript 4
- 5.
JSX とは?
JavaScript より速く、開発効率が高く、成
果物の品質が高いプログラミング言語
あくまでも目標です!
Aug 4 2012 JSX - a faster, easier, safer JavaScript 5
- 6.
JSX の言語設計方針
静的型言語
できるだけ多くのエラーをコンパイル時に検出
開発効率と品質の向上につながる
式と文は JavaScript + 型指定
開発者がとっつきやすいように
JS への変換におけるオーバーヘッドを最小化
デバッグ支援コードの挿入
静的なクラス構造
リンク時最適化を含むコンパイル時最適化
Aug 4 2012 JSX - a faster, easier, safer JavaScript 6
- 7.
なぜ新言語なのか?
ActionScript 3
ウェブブラウザで動かない
JavaScript へ変換できなくはないがオーバーヘッドが
発生
型がオプショナル
Dart
JavaScript へ変換するオーバーヘッドが発生
型がオプショナル
Coffeescript
静的型でなく、大規模むけでない
Aug 4 2012 JSX - a faster, easier, safer JavaScript 7
- 8.
JSX の最適化
const-folding, inline-expansion, unboxing,
…
Box2D ベンチマーク
box2d.js を JSX にポーティングして fps を測定
iOS 5.0 - 12%向上
Android 2.3 – 29%向上
Aug 4 2012 JSX - a faster, easier, safer JavaScript 8
- 9.
JSX の最適化例: アフィン変換
ソースコード:
new Matrix(1, 0, 0, 0, 2, 0).transform(new Point(x, y))
コンパイル結果:
{x: x + 0 * y, y: 0 * x + 2 * y}
注: 0 * n は isNaN(n) ? NaN : 0 と等価のため畳み込めない
Aug 4 2012 JSX - a faster, easier, safer JavaScript 9
- 10.
Hello world!
class _Main {
static function main(args : string[]) : void {
log "Hello world!";
}
}
Aug 4 2012 JSX - a faster, easier, safer JavaScript 10
- 11.
- 12.
「リーダブルコード」より
「コードは理解しやすくなければならな
い」
Aug 4 2012 JSX - a faster, easier, safer JavaScript 12
- 13.
開発効率と規模の関係
大規模なコードを書くのは大変
1,000行のプログラム – 1日
10,000行のプログラム – 10日?
100,000行のプログラム – 100日??
重要性: キータッチの少なさ < 読みやす
さ
8時間で1,000行*30桁コーディングしたとして
も、約60文字/分
Aug 4 2012 JSX - a faster, easier, safer JavaScript 13
- 14.
書きやすさと読みやすさの両立
エディタによる補完
わかりやすい変数名
補完候補と、その機能の概要が表示されること
「class」を省略できるよりも、補完が効きまくる
ほうがうれしい
そのためにも、構造化された文書化仕様
を
/**
* description
* @param a …
Aug 4 2012 JSX - a faster, easier, safer JavaScript 14
- 15.
そもそも…
プログラミング言語は開発環境の一部
Aug 4 2012 JSX - a faster, easier, safer JavaScript 15
- 16.
開発環境に必要な機能
コード編集とリーディングの支援
jsx --complete
jsx --mode doc (kazuho/jsxdoc branch)
テストフレームワーク
jsx --test
ソースコードデバッグ
jsx --enable-source-map
プロファイラ
jsx --profile
Aug 4 2012 JSX - a faster, easier, safer JavaScript 16
- 17.
開発環境に必要な機能
ライブラリサポート
考え中…
だって(まだ)ライブラリないし…
むしろライブラリ書いてくれる人募集中です!
Aug 4 2012 JSX - a faster, easier, safer JavaScript 17
- 18.
まとめ
JSX は、より速く、より簡単で、より安
全な JavaScript の方言
開発環境の一部として言語を設計・実装
人柱^H^Hユーザー募集中です
Aug 4 2012 JSX - a faster, easier, safer JavaScript 18