Java script 全面逆襲!使用 node.js 打造桌面環境!

  • 10,174 views
Uploaded on

JavaScript 儼然就是下一代的主流程式語言,更是一個重新思考作業系統開發的新方向。誰說,開發系統程式是慣 C 的專利?就讓我們嘗試用 JavaScript 來打造自己的桌面環境吧! …

JavaScript 儼然就是下一代的主流程式語言,更是一個重新思考作業系統開發的新方向。誰說,開發系統程式是慣 C 的專利?就讓我們嘗試用 JavaScript 來打造自己的桌面環境吧!

Node.js 的出現和 V8 的發展,讓 JavaScript 已經不再是網頁瀏覽器下的玩具,近年來的效能遽烈提升,加上多方高手的投入,除了能勝任伺服器應用,更能開發各式系統程式和桌面應用程式。而對於『慣 C』的開發者來說,其方便的模組擴充機制,也能讓自己的成果輕易地與 JavaScript 結合,讓 JavaScript 無所不能!

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
10,174
On Slideshare
0
From Embeds
0
Number of Embeds
20

Actions

Shares
Downloads
58
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. JavaScript 全面逆襲! 使用 Node.js 打造桌面環境! Fred Chien
  • 2. 我是誰?Who Am I
  • 3. Fred Chien 錢逢祥
  • 4. 首先要來發表消息 Announce
  • 5. 不再是 永遠的大四生 大學不只讀七年,最終,我被退學了。
  • 6. 最重要的是The Most Important Thing
  • 7. 第一個First
  • 8. 於國際舞台發表 退學宣言 中央研究院國際會議廳
  • 9. 感謝 COSCUP 鼎力相挺! Thanks COSCUP!
  • 10. So ... 改行
  • 11. Businessman 奸商
  • 12. BUT但是
  • 13. Open Source Developer Im A GEEK!
  • 14. cfsghost At gmail.com
  • 15. Blogfred-zone.blogspot.com
  • 16. Startup in Taiwan Mandice Software. MANDICE.COM
  • 17. CEO, Mandice
  • 18. StartupMandice Software.
  • 19. 慣C C Language Fanatic救火Mission Startup 惡搞Impossible Hacking Mandice Software. 創新 Innovation
  • 20. 慣C救火 Startup 惡搞 Mandice Software. 創新
  • 21. 慣C救火 JavaScript 惡搞 創新
  • 22. 回到主題 Focus
  • 23. JavaScript
  • 24. Why?
  • 25. Why Not?
  • 26. 過去我們看到很多大神
  • 27. 很強
  • 28. 真的很強
  • 29. OS
  • 30. OS系統程式
  • 31. OS系統程式桌面環境
  • 32. OS系統程式桌面環境原生應用程式
  • 33. 還有 A ~ Z 開頭 的各類技術 可能超過 60+
  • 34. 無所不會Know Everything
  • 35. 變態Freak
  • 36. 超級變態根本是 X 魔等級的
  • 37. 像我這種 慣C哥 都只能靠邊站 淪落於追隨者
  • 38. 但你可能不知道You DONT Know It
  • 39. 這些大神光鮮亮麗外表之下
  • 40. 螢幕上常常也是
  • 41. 你已經死了YOU HAVE DIED.
  • 42. 大神和我們之間的差別 ...
  • 43. 我們
  • 44. 聖光啊 !!!
  • 45. !@#$%^&*( orz
  • 46. 大神...
  • 47. 我傷得很重。
  • 48. !@#$%^&*( Orz
  • 49. 同樣是躺
  • 50. 開發程式本來就不簡單
  • 51. 用低階語言更難難以想像的好奇號機器人
  • 52. 開發所需時間更久
  • 53. 想想看Think About It
  • 54. 所有鬼東西UI、系統、底層、驅動.... blah
  • 55. 只用 JavaScript
  • 56. 有多麼舒服?當然 JavaScript 有很多為人詬病之處...
  • 57. 所以So
  • 58. JUICEDesktop Environment
  • 59. 果汁桌面環境
  • 60. 盡可能用 JavaScript
  • 61. 使用 Node.jsV8 JavaScript Engine
  • 62. 如何打造桌面環境? How to do?
  • 63. 桌面環境最起碼有視窗管理器 (Window Manager)應用程式啟動途徑系統資訊顯示 (Battery, Network, Clock...)網路連線設定工具 (Network Manager)檔案管理員 (File Manager)● 可以放美女圖當背景的桌面
  • 64. 身為一個宅宅 Geek
  • 65. 桌面環境應該要有● 視窗管理器 (Window Manager)● 應用程式啟動途徑● 系統資訊顯示 (Battery, Network, Clock...)● 網路連線設定工具 (Network Manager)● 檔案管理員 (File Manager)● 可以放美女圖當背景的桌面
  • 66. 桌面環境應該要有● 視窗管理器 (Window Manager)● 應用程式啟動途徑● 系統資訊顯示 (Battery, Network, Clock...)● 網路連線設定工具 (Network Manager)● 檔案管理員 (File Manager)● 可以放 美女圖當背景 的桌面
  • 67. Desktop
  • 68. PrettyGirl.
  • 69. Panel.
  • 70. Dock.
  • 71. Live Demo 最緊張
  • 72. 主要元件Components
  • 73. Components● Compiz/Metacity Window Manager● Juice Panel and Plugins (juice-panel) Systray Plugin Clock Plugin Network Manager Plugin Volume Plugin Image Plugin● Juice Dock (jushelf) Written in C (Need to rework in JavaScript)
  • 74. Components● Juice Session (juice-session)● Juice Daemon (judaemon) Sleep/Suspend Time Theme settings Hotplug manager Display Manager
  • 75. 因為Because
  • 76. 沒有原生的系統 APIsJavaScript has no APIs to control system
  • 77. 為 JavaScript開發了一些 APIs 當然是用 C/C++
  • 78. APIs jsdx-toolkit - 3D GUI (Support X11) jsdx-connman - Network manager API jsdx-power - Power manager API jsdx-display - Display API node-dbus - DBus API
  • 79. More APIs jsdx-soundman - Sound Manager API jsdx-disk - Disk Manager API (still working) jsdx-systray - Systray API (Support X11, EWMH) jsdx-ofono - Modem/Voice call API - To be continue...
  • 80. 其中有一個 API
  • 81. 沒用處的功能 對於傳統桌面環境
  • 82. Voice Call今年 OSDC Hackaton 一日活動 與食物的美麗懈逅 在趨勢科技的場地撒野
  • 83. 用 JavaScript 打電話
  • 84. 使用這些 API 會不會很難? Is it difficult to use?
  • 85. 示範使用 APIHow to use these APIs
  • 86. Example for jsdx-soundmanvar Soundman = require(jsdx-soundman);var soundman = new Soundman;soundman.init(function(err) { soundman.setVolume(80);});
  • 87. 所有 API 用法都差不多
  • 88. 會 JavaScript 就不難
  • 89. All In GithubOpen Source 是當然的
  • 90. Something is Available npm install <module name>
  • 91. 只要你會 JavaScript
  • 92. 就可以開發系統程式
  • 93. 不用再看著大神乾瞪眼不用再喊『你看到了那個強大的敵人嗎?』
  • 94. 歡迎加入桌面環境開發! Welcome
  • 95. JUICEDesktop Environment
  • 96. Q&A歡迎打臉或提問
  • 97. Thanks