enjoy writing modern desktop application in javascript
DESCRIPTION
Talk at GNOME.Asia Summit 2012TRANSCRIPT
Enjoy Writing Modern Desktop Application In JavaScript
使用 JavaScript 寫現代桌面應用程式
Fred Chien
我是誰?
Who Am I
Fred Chien錢逢祥
Come from Taiwan來自台灣
Open Source DeveloperI'm GEEK!
StartupMandice Software.
MANDICE.COM
CEO, Mandice
StartupMandice Software.
StartupMandice Software.
慣 CC Language
Fanatic
救火Mission
Impossible
惡搞Hacking
創新Innovation
慣 C
救火 惡搞
創新
StartupMandice Software.
慣 C
救火 惡搞
創新
JavaScript
cfsghost At gmail.com
Blogfred-zone.blogspot.com
Personal Websitepeople.linux.org.tw/~fred/
回到主題
Focus
JavaScriptWhat?
你一定覺得我在說
You must think I'm taking about...
Web ApplicationWeb, web and web
但是
Well
今天不談 Web
No Web Today
不是我不談
Not My Fault
而是
The truth is
Web Application ModeGNOME support it since 3.2+
根本就只是
It's such...
沒有邊框的瀏覽器
Browser without window border
單純的 HTML Page
Pure HTML page
如果真的要講
If You Want To Know How to Write It
<html><head>
<title>Desktop Application</title></head><body>
I am Desktop Application! DONE!</body><html>
Super fast to write a Web App
今天的演講到此結束
The End
謝謝 GNOME
Thanks, GNOME Foundation!
WTF!@#$%^&*(
真正回到主題
Speak Something Please!
Why JavaScript ?
慣 C 的內心話
As a C Language Fanatic
我不否認
I Agree...
當慣 C 很潮
C Language Fanatic Rocks!
但
BUT
太花Time
太雜Complicated
太難學Difficult to Learn
收山
Be Tired
Why JavaScript ?
不需編譯No Need to Compile
易學易用Easy to Learn and Easy to Use
快Fast
更重要的是The Point is
事件驅動Event-driven
GUI 專家Experienced
JavaScript
這麼多解決方案So many JavaScript Solution
選哪一個?Which One is better?
Node.jsSuggest
Node.jsnodejs.org
超級快Faster
豐富的資源Many Third-party Modules (10000+)
絕佳的擴充性Easy to Write Own C/C++ Addon
如何用 Node.js開發桌面應用程式?
How to write Desktop App in JavaScript?
This is GNOME.Asia
GTK+
Clutter
Mx
必需實作 JavaScript APIMust Impletement
使用 C/C++Must Impletement
讓 Node.js 可以呼叫底層 Library API
Make Node.js Able to Call Functions of lib
我相信你應該準備放棄了
I think You Don't Want to Continue...
不是說易學易用嗎?
Are you Kidding Me?
別擔心Don't Worry!
我們已經做完了I've Done It
jsdx-toolkitGUI Toolkit for Node.js
jsdx-toolkitBased on Clutter/Mx
Installationnpm install jsdx-toolkit
githubgithub.com/cfsghost/jsdx-toolkit
Application
Application
Node.js
Application
jsdx-toolkit
Node.js
Application
jsdx-toolkit
Clutter/Mx
Node.js
Application
jsdx-toolkit
Clutter/Mx
Node.js C/C++ Addon
Hello World!My First JavaScript Desktop Application
var toolkit = require('jsdx-toolkit');
var app = new toolkit.Application('JSDX Application');
app.createWindow(function(window) { window.on(toolkit.EVENT_DESTROY, function() { app.quit(); });
window.title = 'Application Window'; window.hasToolbar = true; window.show();});
app.run();
Hello World Program!
3D
Animation
Layout
Widget
GstreamerRender Multimedia Video on 3D Object
X11
Live Demo
看起來功能相當完整It seems everything was ready
不過There is
還有更厲害的More Powerful Thing
JTKMLJSDX Toolkit Modling Language
為 Mx Toolkit 寫的新東西For Mx Toolkit
更快設計你的 UIFaster to Design Your UI
類似 JadeThat's like Jade Template Language
Web 開發者立馬上手
It's easy-use for Web Developer
GUI 只是第一步GUI Thing is the First Step
未來In Future
持續增加各種 APIsImplement More APIs
Display
Network Manager
Telephony
Low-level System Call
Window Manager
More and More
讓 JavaScript 可以完全勝任所有的開發工作
Make JavaScript able to Do All Jobs
大家一起來寫 JavaScriptLet's Join Us
ThanksThe End