enjoy writing modern desktop application in javascript

106
Enjoy Writing Modern Desktop Application In JavaScript 使用 JavaScript 寫現代桌面應用程式 Fred Chien

Upload: fred-chien

Post on 26-Jun-2015

6.829 views

Category:

Technology


1 download

DESCRIPTION

Talk at GNOME.Asia Summit 2012

TRANSCRIPT

Page 1: Enjoy Writing Modern Desktop Application in JavaScript

Enjoy Writing Modern Desktop Application In JavaScript

使用 JavaScript 寫現代桌面應用程式

Fred Chien

Page 2: Enjoy Writing Modern Desktop Application in JavaScript

我是誰?

Who Am I

Page 3: Enjoy Writing Modern Desktop Application in JavaScript

Fred Chien錢逢祥

Page 4: Enjoy Writing Modern Desktop Application in JavaScript

Come from Taiwan來自台灣

Page 5: Enjoy Writing Modern Desktop Application in JavaScript

Open Source DeveloperI'm GEEK!

Page 6: Enjoy Writing Modern Desktop Application in JavaScript

StartupMandice Software.

MANDICE.COM

Page 7: Enjoy Writing Modern Desktop Application in JavaScript

CEO, Mandice

Page 8: Enjoy Writing Modern Desktop Application in JavaScript

StartupMandice Software.

Page 9: Enjoy Writing Modern Desktop Application in JavaScript

StartupMandice Software.

慣 CC Language

Fanatic

救火Mission

Impossible

惡搞Hacking

創新Innovation

Page 10: Enjoy Writing Modern Desktop Application in JavaScript

慣 C

救火 惡搞

創新

StartupMandice Software.

Page 11: Enjoy Writing Modern Desktop Application in JavaScript

慣 C

救火 惡搞

創新

JavaScript

Page 12: Enjoy Writing Modern Desktop Application in JavaScript

cfsghost At gmail.com

Page 13: Enjoy Writing Modern Desktop Application in JavaScript

Blogfred-zone.blogspot.com

Page 14: Enjoy Writing Modern Desktop Application in JavaScript

Personal Websitepeople.linux.org.tw/~fred/

Page 15: Enjoy Writing Modern Desktop Application in JavaScript

回到主題

Focus

Page 16: Enjoy Writing Modern Desktop Application in JavaScript

JavaScriptWhat?

Page 17: Enjoy Writing Modern Desktop Application in JavaScript

你一定覺得我在說

You must think I'm taking about...

Page 18: Enjoy Writing Modern Desktop Application in JavaScript

Web ApplicationWeb, web and web

Page 19: Enjoy Writing Modern Desktop Application in JavaScript

但是

Well

Page 20: Enjoy Writing Modern Desktop Application in JavaScript

今天不談 Web

No Web Today

Page 21: Enjoy Writing Modern Desktop Application in JavaScript

不是我不談

Not My Fault

Page 22: Enjoy Writing Modern Desktop Application in JavaScript

而是

The truth is

Page 23: Enjoy Writing Modern Desktop Application in JavaScript

Web Application ModeGNOME support it since 3.2+

Page 24: Enjoy Writing Modern Desktop Application in JavaScript

根本就只是

It's such...

Page 25: Enjoy Writing Modern Desktop Application in JavaScript

沒有邊框的瀏覽器

Browser without window border

Page 26: Enjoy Writing Modern Desktop Application in JavaScript

單純的 HTML Page

Pure HTML page

Page 27: Enjoy Writing Modern Desktop Application in JavaScript

如果真的要講

If You Want To Know How to Write It

Page 28: Enjoy Writing Modern Desktop Application in JavaScript

<html><head>

<title>Desktop Application</title></head><body>

I am Desktop Application! DONE!</body><html>

Super fast to write a Web App

Page 29: Enjoy Writing Modern Desktop Application in JavaScript

今天的演講到此結束

The End

Page 30: Enjoy Writing Modern Desktop Application in JavaScript

謝謝 GNOME

Thanks, GNOME Foundation!

Page 31: Enjoy Writing Modern Desktop Application in JavaScript

WTF!@#$%^&*(

Page 32: Enjoy Writing Modern Desktop Application in JavaScript

真正回到主題

Speak Something Please!

Page 33: Enjoy Writing Modern Desktop Application in JavaScript

Why JavaScript ?

Page 34: Enjoy Writing Modern Desktop Application in JavaScript

慣 C 的內心話

As a C Language Fanatic

Page 35: Enjoy Writing Modern Desktop Application in JavaScript

我不否認

I Agree...

Page 36: Enjoy Writing Modern Desktop Application in JavaScript

當慣 C 很潮

C Language Fanatic Rocks!

Page 37: Enjoy Writing Modern Desktop Application in JavaScript

BUT

Page 38: Enjoy Writing Modern Desktop Application in JavaScript

太花Time

Page 39: Enjoy Writing Modern Desktop Application in JavaScript

太雜Complicated

Page 40: Enjoy Writing Modern Desktop Application in JavaScript

太難學Difficult to Learn

Page 41: Enjoy Writing Modern Desktop Application in JavaScript

收山

Be Tired

Page 42: Enjoy Writing Modern Desktop Application in JavaScript

Why JavaScript ?

Page 43: Enjoy Writing Modern Desktop Application in JavaScript

不需編譯No Need to Compile

Page 44: Enjoy Writing Modern Desktop Application in JavaScript

易學易用Easy to Learn and Easy to Use

Page 45: Enjoy Writing Modern Desktop Application in JavaScript

快Fast

Page 46: Enjoy Writing Modern Desktop Application in JavaScript

更重要的是The Point is

Page 47: Enjoy Writing Modern Desktop Application in JavaScript

事件驅動Event-driven

Page 48: Enjoy Writing Modern Desktop Application in JavaScript

GUI 專家Experienced

Page 49: Enjoy Writing Modern Desktop Application in JavaScript

JavaScript

Page 50: Enjoy Writing Modern Desktop Application in JavaScript

這麼多解決方案So many JavaScript Solution

Page 51: Enjoy Writing Modern Desktop Application in JavaScript

選哪一個?Which One is better?

Page 52: Enjoy Writing Modern Desktop Application in JavaScript

Node.jsSuggest

Page 53: Enjoy Writing Modern Desktop Application in JavaScript

Node.jsnodejs.org

Page 54: Enjoy Writing Modern Desktop Application in JavaScript

超級快Faster

Page 55: Enjoy Writing Modern Desktop Application in JavaScript

豐富的資源Many Third-party Modules (10000+)

Page 56: Enjoy Writing Modern Desktop Application in JavaScript

絕佳的擴充性Easy to Write Own C/C++ Addon

Page 57: Enjoy Writing Modern Desktop Application in JavaScript

如何用 Node.js開發桌面應用程式?

How to write Desktop App in JavaScript?

Page 58: Enjoy Writing Modern Desktop Application in JavaScript

This is GNOME.Asia

Page 59: Enjoy Writing Modern Desktop Application in JavaScript

GTK+

Page 60: Enjoy Writing Modern Desktop Application in JavaScript

Clutter

Page 61: Enjoy Writing Modern Desktop Application in JavaScript

Mx

Page 62: Enjoy Writing Modern Desktop Application in JavaScript

必需實作 JavaScript APIMust Impletement

Page 63: Enjoy Writing Modern Desktop Application in JavaScript

使用 C/C++Must Impletement

Page 64: Enjoy Writing Modern Desktop Application in JavaScript

讓 Node.js 可以呼叫底層 Library API

Make Node.js Able to Call Functions of lib

Page 65: Enjoy Writing Modern Desktop Application in JavaScript

我相信你應該準備放棄了

I think You Don't Want to Continue...

Page 66: Enjoy Writing Modern Desktop Application in JavaScript

不是說易學易用嗎?

Are you Kidding Me?

Page 67: Enjoy Writing Modern Desktop Application in JavaScript

別擔心Don't Worry!

Page 68: Enjoy Writing Modern Desktop Application in JavaScript

我們已經做完了I've Done It

Page 69: Enjoy Writing Modern Desktop Application in JavaScript

jsdx-toolkitGUI Toolkit for Node.js

Page 70: Enjoy Writing Modern Desktop Application in JavaScript

jsdx-toolkitBased on Clutter/Mx

Page 71: Enjoy Writing Modern Desktop Application in JavaScript

Installationnpm install jsdx-toolkit

Page 72: Enjoy Writing Modern Desktop Application in JavaScript

githubgithub.com/cfsghost/jsdx-toolkit

Page 73: Enjoy Writing Modern Desktop Application in JavaScript

Application

Page 74: Enjoy Writing Modern Desktop Application in JavaScript

Application

Node.js

Page 75: Enjoy Writing Modern Desktop Application in JavaScript

Application

jsdx-toolkit

Node.js

Page 76: Enjoy Writing Modern Desktop Application in JavaScript

Application

jsdx-toolkit

Clutter/Mx

Node.js

Page 77: Enjoy Writing Modern Desktop Application in JavaScript

Application

jsdx-toolkit

Clutter/Mx

Node.js C/C++ Addon

Page 78: Enjoy Writing Modern Desktop Application in JavaScript

Hello World!My First JavaScript Desktop Application

Page 79: Enjoy Writing Modern Desktop Application in JavaScript

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!

Page 80: Enjoy Writing Modern Desktop Application in JavaScript

3D

Page 81: Enjoy Writing Modern Desktop Application in JavaScript

Animation

Page 82: Enjoy Writing Modern Desktop Application in JavaScript

Layout

Page 83: Enjoy Writing Modern Desktop Application in JavaScript

Widget

Page 84: Enjoy Writing Modern Desktop Application in JavaScript

GstreamerRender Multimedia Video on 3D Object

Page 85: Enjoy Writing Modern Desktop Application in JavaScript

X11

Page 86: Enjoy Writing Modern Desktop Application in JavaScript

Live Demo

Page 87: Enjoy Writing Modern Desktop Application in JavaScript

看起來功能相當完整It seems everything was ready

Page 88: Enjoy Writing Modern Desktop Application in JavaScript

不過There is

Page 89: Enjoy Writing Modern Desktop Application in JavaScript

還有更厲害的More Powerful Thing

Page 90: Enjoy Writing Modern Desktop Application in JavaScript

JTKMLJSDX Toolkit Modling Language

Page 91: Enjoy Writing Modern Desktop Application in JavaScript

為 Mx Toolkit 寫的新東西For Mx Toolkit

Page 92: Enjoy Writing Modern Desktop Application in JavaScript

更快設計你的 UIFaster to Design Your UI

Page 93: Enjoy Writing Modern Desktop Application in JavaScript

類似 JadeThat's like Jade Template Language

Page 94: Enjoy Writing Modern Desktop Application in JavaScript

Web 開發者立馬上手

It's easy-use for Web Developer

Page 95: Enjoy Writing Modern Desktop Application in JavaScript

GUI 只是第一步GUI Thing is the First Step

Page 96: Enjoy Writing Modern Desktop Application in JavaScript

未來In Future

Page 97: Enjoy Writing Modern Desktop Application in JavaScript

持續增加各種 APIsImplement More APIs

Page 98: Enjoy Writing Modern Desktop Application in JavaScript

Display

Page 99: Enjoy Writing Modern Desktop Application in JavaScript

Network Manager

Page 100: Enjoy Writing Modern Desktop Application in JavaScript

Telephony

Page 101: Enjoy Writing Modern Desktop Application in JavaScript

Low-level System Call

Page 102: Enjoy Writing Modern Desktop Application in JavaScript

Window Manager

Page 103: Enjoy Writing Modern Desktop Application in JavaScript

More and More

Page 104: Enjoy Writing Modern Desktop Application in JavaScript

讓 JavaScript 可以完全勝任所有的開發工作

Make JavaScript able to Do All Jobs

Page 105: Enjoy Writing Modern Desktop Application in JavaScript

大家一起來寫 JavaScriptLet's Join Us

Page 106: Enjoy Writing Modern Desktop Application in JavaScript

ThanksThe End