Your SlideShare is downloading. ×
0
用最潮的 JavaScript盡情開發 KDE/Qt 程式       Fred Chien
首先聲明
今天我沒有梗了雖然昨天看了一晚的新聞找靈感
加上是技術議程
肯定無趣
我們何不速戰速決
成為下午茶解放軍
我是誰?Who Am I
Fred Chien   錢逢祥
就是昨天發表退學宣言那位
就是昨天發表退學宣言那位後來才聽說今年有 Youtube 全球線上直播
不過我現在 R2
無論如何
Businessman  奸商現在式
要幹大事業就找我!
cfsghost At gmail.com
Blogfred-zone.blogspot.com
Startup in Taiwan    Mandice Software.       MANDICE.COM
CEO, Mandice
慣C救火    Startup            惡搞     Mandice Software.         創新
潮
回到今天正題
征服 KDE/Qt  用 Node.js
等等等等等等等等!!   等一下!!!
怎麼又是你!?
你講 GNOME
你搞 LXDE
KDE 的場子還來呀?   到底哪一國的?
...
身為專業的走路工   你知道
正題Node.js + Qt
Why Dont Use QtQuick?Qt 內建的 JavaScript Solution 不好嗎?
我想答案顯而易見
Node.js 有上萬個 Module     有千軍萬馬支援
QtQuick 開發者是孤軍奮戰    什麼都要自己想辦法
現在更是   孤兒軍 奮戰  Nokia 脫手了 Qt 以後
在 JavaScript 這件事上Resource, Developer, Documentation...
不是同一個數量級 與 Node.js 相比
不過不可否認
Qt 仍然很優秀  我們得承認
穩定。跨平台。功能完備。  熱情。臉蛋正。身材火辣。
豈有不染指一下的理由?
Node.js + Qt = ?
Node-Qtgithub.com/arturadib/node-qt
Architecture               JavaScript Application                  Node-qt Add-on               Qt Library       Node.js  ...
Qt Works on Several Platforms            JavaScript Application               Node-qt Add-on            Qt Library       N...
Live Demo反正 demo code 不是我寫的
npm install node-qt  請記得一定要先裝 Qt Library
Sample codevar qt = require(node-qt);var app = new qt.Application;var window = new qt.QWidget;// Prevent objects from bein...
Normal Program Flow       Execute Program         Do Something                Exit
Normal Program Flow         Execute ProgramWindow          Do Something                Exit
GUI Application Flow Should Be            Execute Program             Do Something                  LOOP                  ...
Sample codevar qt = require(node-qt);var app = new qt.Application;var window = new qt.QWidget;// Prevent objects from bein...
Event Handler    事件處理
Sample code for PaintEventwindow.paintEvent(function() {      /* Do Something ... */});
Using PaintEventwindow.paintEvent(function() {      var p = new qt.QPainter();      p.begin(window);      p.drawText(20, 3...
mousePressEventmouseReleaseEvent mouseMoveEvent  keyPressEvent keyReleaseEvent       ...
Live Demo   Again
Node-Qtgithub.com/arturadib/node-qt
支援度尚不完整  v0.0.1
肯定有很多問題  v0.0.1
四個月前 v0.0.2
不要太期待 v0.0.2
More Demo?
原作者不會投入太多時間  但我有空會去補完它
Q&A
Thanks
Upcoming SlideShare
Loading in...5
×

用最潮的 Java script 盡情開發 kde qt 程式

7,466

Published on

過往在一般人的認知當中,開發桌面應用程式不外乎使用 C/C++,尤其在 KDE/Qt 的世界中更是如此。但面對今天日日求新的世界,使用 C/C++ 這類中低階的語言開發應用程式,總有個要命的問題 - 『開發效率太差』,不足因應這個時代對應用的大量需求。因此使用有高生產力的腳本(Script) 語言來開發應用程式,已經慢慢變成一個全世界都在追逐的話題,而在這網路的時代,當仁不讓的就是 JavaScript。

雖然,自 Qt 4.7 開始,提供了 QML 和 JavaScript 的整合,更讓開發者,可以使用極為普遍的 JavaScript 語言開發各式 Qt 應用程式。可是,由於投入的開發者不夠多,相關的 Ecosystem 和資源也不完整和不充足,所以對於一般的 JavaScript 開發者來說,入門門檻仍然相當高。基於前述種種缺點,近來愈來愈潮又同為 JavaScript 解決方案的 Node.js,反而是開發應用程式更好的選擇。在我們為其加上 Qt 的支援後,就可以不費吹灰之力用最潮的 Node.js 寫出原生的 Qt 程式。

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,466
On Slideshare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
30
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "用最潮的 Java script 盡情開發 kde qt 程式"

  1. 1. 用最潮的 JavaScript盡情開發 KDE/Qt 程式 Fred Chien
  2. 2. 首先聲明
  3. 3. 今天我沒有梗了雖然昨天看了一晚的新聞找靈感
  4. 4. 加上是技術議程
  5. 5. 肯定無趣
  6. 6. 我們何不速戰速決
  7. 7. 成為下午茶解放軍
  8. 8. 我是誰?Who Am I
  9. 9. Fred Chien 錢逢祥
  10. 10. 就是昨天發表退學宣言那位
  11. 11. 就是昨天發表退學宣言那位後來才聽說今年有 Youtube 全球線上直播
  12. 12. 不過我現在 R2
  13. 13. 無論如何
  14. 14. Businessman 奸商現在式
  15. 15. 要幹大事業就找我!
  16. 16. cfsghost At gmail.com
  17. 17. Blogfred-zone.blogspot.com
  18. 18. Startup in Taiwan Mandice Software. MANDICE.COM
  19. 19. CEO, Mandice
  20. 20. 慣C救火 Startup 惡搞 Mandice Software. 創新
  21. 21.
  22. 22. 回到今天正題
  23. 23. 征服 KDE/Qt 用 Node.js
  24. 24. 等等等等等等等等!! 等一下!!!
  25. 25. 怎麼又是你!?
  26. 26. 你講 GNOME
  27. 27. 你搞 LXDE
  28. 28. KDE 的場子還來呀? 到底哪一國的?
  29. 29. ...
  30. 30. 身為專業的走路工 你知道
  31. 31. 正題Node.js + Qt
  32. 32. Why Dont Use QtQuick?Qt 內建的 JavaScript Solution 不好嗎?
  33. 33. 我想答案顯而易見
  34. 34. Node.js 有上萬個 Module 有千軍萬馬支援
  35. 35. QtQuick 開發者是孤軍奮戰 什麼都要自己想辦法
  36. 36. 現在更是 孤兒軍 奮戰 Nokia 脫手了 Qt 以後
  37. 37. 在 JavaScript 這件事上Resource, Developer, Documentation...
  38. 38. 不是同一個數量級 與 Node.js 相比
  39. 39. 不過不可否認
  40. 40. Qt 仍然很優秀 我們得承認
  41. 41. 穩定。跨平台。功能完備。 熱情。臉蛋正。身材火辣。
  42. 42. 豈有不染指一下的理由?
  43. 43. Node.js + Qt = ?
  44. 44. Node-Qtgithub.com/arturadib/node-qt
  45. 45. Architecture JavaScript Application Node-qt Add-on Qt Library Node.js Linux
  46. 46. Qt Works on Several Platforms JavaScript Application Node-qt Add-on Qt Library Node.js MS Windows/Linux/MacOS/...
  47. 47. Live Demo反正 demo code 不是我寫的
  48. 48. npm install node-qt 請記得一定要先裝 Qt Library
  49. 49. Sample codevar qt = require(node-qt);var app = new qt.Application;var window = new qt.QWidget;// Prevent objects from being GCdglobal.app = app;global.window = window;window.resize(100, 100);window.show();// Event LoopsetInterval(app.processEvents, 0);
  50. 50. Normal Program Flow Execute Program Do Something Exit
  51. 51. Normal Program Flow Execute ProgramWindow Do Something Exit
  52. 52. GUI Application Flow Should Be Execute Program Do Something LOOP Process Events
  53. 53. Sample codevar qt = require(node-qt);var app = new qt.Application;var window = new qt.QWidget;// Prevent objects from being GCdglobal.app = app;global.window = window; !window.resize(100, 100);window.show();// Event LoopsetInterval(app.processEvents, 0);
  54. 54. Event Handler 事件處理
  55. 55. Sample code for PaintEventwindow.paintEvent(function() { /* Do Something ... */});
  56. 56. Using PaintEventwindow.paintEvent(function() { var p = new qt.QPainter(); p.begin(window); p.drawText(20, 30, Hello Qt!); p.end();});
  57. 57. mousePressEventmouseReleaseEvent mouseMoveEvent keyPressEvent keyReleaseEvent ...
  58. 58. Live Demo Again
  59. 59. Node-Qtgithub.com/arturadib/node-qt
  60. 60. 支援度尚不完整 v0.0.1
  61. 61. 肯定有很多問題 v0.0.1
  62. 62. 四個月前 v0.0.2
  63. 63. 不要太期待 v0.0.2
  64. 64. More Demo?
  65. 65. 原作者不會投入太多時間 但我有空會去補完它
  66. 66. Q&A
  67. 67. Thanks
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×