摘要:下面這張解決了怎么用完成任務的問題,最后,開發(fā)者怕你懷疑的強大,又提供了幾個和許多成功的案例來打消我們的顧慮。拿下助攻決定用之后,就開始補充相應的知識啦。來欣賞一下一些應用的截圖吧,不得不說開發(fā)出的應用一點不比原生的丑陋啊。
博客地址
每個程序員都希望用自己喜歡的語言,自己喜歡的平臺、工具,寫自己喜歡的程序。于是我們會看到有人在Win下用Visual Studio愉快地coding,也會看到有人在OS X下用Xcode來開發(fā),或者是用Sublime Text不受平臺限制地玩。
當然了,愿望往往是美好的,然而事與愿違的情況時有發(fā)生。如果你基本都是用OS X,卻有人讓你寫一個帶有簡單界面的小程序,保證在他的Win系統(tǒng)上一定可以運行,那么你是不是有點抓狂。
選擇哪條路?當然,我可以在Visual Studio(已經(jīng)有Mac OS X版)下用MFC或者其他框架來寫,但是總感覺有點重量級,并且不能移植到其他平臺(萬一哪天讓我寫個OS X下的界面呢,想想都不寒而栗?。。?/p>
所以我想找的就是一個可以跨平臺的、輕量級的圖形界面開發(fā)的庫,于是想到了喜歡的Python,然后發(fā)現(xiàn)它下面的GUI開發(fā)框架還真不少:wxPython, tkInter, PyGtk, PyQt。
wxPython: 首先官網(wǎng)相當簡潔(丑陋),然后快速瀏覽了一下文檔,發(fā)現(xiàn)有這塊:Cross-Platform Development Tips,告訴你跨平臺要注意哪些東東,看來不是我心中想的那樣只需要寫一份代碼,在不同平臺編譯一下就可以,于是放棄。
TkInter: 也在其他地方看到有人推薦這個,但是感覺文檔特別亂,網(wǎng)上一些教程也相當簡陋,里面界面丑的掉渣,也放棄了。
后面兩個我甚至都沒耐心繼續(xù)看下去了,因為我不經(jīng)意看到了nw.js,他就像一座燈塔,冥冥之中照亮了前進的方向啊。
nwjs——前進的方向!Github上nw.js有兩萬多Star和接近3000的Fork,說明它已經(jīng)相當成熟,不會是某個人隨興放的一個并不成熟的技術。并且在Github項目的最后面,顯示Intel有贊助這個項目,看起來很牛的樣子。而且關于nw.js的資料也特別齊全,首先來看看它的特點:
支持用HTML5, CSS3, JS和WebGL來寫應用程序,包括桌面端和移動端;
完全支持Node.js APIs和所有的第三方模塊;
性能也不會很差,對于輕量級的應用足夠了;
對應用進行打包和發(fā)布十分簡單,也就是說寫一份代碼很容易移植到不同的平臺(包括主流的Linux, Mac OS X 和 Windows);
然后作者怕你認為它很難打交道,進而“知難而退”,就在項目主頁里用許多slides來介紹它。
Introduction to node-webkit (slides)
WebApp to DesktopApp with node-webkit (slides)
下面這張slide解決了“nw.js能做什么?”的問題,簡單來說nw.js就是使HTML, CSS, JavaScript寫的原本在瀏覽器上運行的程序,也可以在桌面端運行。
下面這張slide解決了“怎么用nw.js完成任務?”的問題,
最后,開發(fā)者怕你懷疑nw.js的強大,又提供了幾個Demo和許多成功的案例來打消我們的顧慮。
nwjs——拿下助攻!決定用nw.js之后,就開始補充相應的知識啦。首先自己沒有怎么去學過JavaScript, HTML, CSS這類web方面的語言,不過想來也不會比C++難。學習的成本也應該比學習MFC, wxPython低很多,并且這些語言太基礎、使用場景太多了,所以早晚都得了解一下,干脆借這個機會一邊學一邊做具體的東西。于是買了《JavaScript DOM編程藝術(第2版)》這本書拿來入門。
講了這么多,還沒說我具體要做什么呢,其實要做的事情特別簡單,就是統(tǒng)計一本書的頁碼中一共有多少個0,1,2,3,4,5,6,7,8,9。關于這個問題,詳細看前面的那篇博客:講得明白,但寫的明白嗎?。
我要實現(xiàn)的目標很簡單,在輸入正確的數(shù)字時,給出統(tǒng)計結果;輸入錯誤的數(shù)字時,則給出錯誤提示,重置輸入框和統(tǒng)計結果。如下:
實現(xiàn)過程相當簡單,特別是對于那些做過web開發(fā)的,詳細過程就不在這里給出了,只提供一個簡單的程序邏輯圖吧。
源碼十分簡單,可以在這里找到,結構如下:
tree . ├── index.html ├── main.js ├── package.json └── style.css 0 directories, 4 files
打包到各個平臺也有詳細的文檔。以Win為例,只需要三步即可:
將所有工程文件,放在一個文件夾下,確保package.json在根目錄,然后壓縮為.zip格式,并將壓縮文件的后綴由.zip改為.nw;
在nw.js的環(huán)境目錄下執(zhí)行copy /b nw.exe+you_nw_name.nw you_app_name.exe (這一步之后,就可以在生成的目錄中直接運行you_app_name.exe,它依賴同目錄下的一些其他庫);
用Enigma Virtual Box將you_app_name.exe和依賴的庫打包到單個exe文件中,這樣我們的應用在沒有任何編程環(huán)境的win機器上都可以運行。
nwjs——你值得擁有!不得不提nw.js開發(fā)出的應用已經(jīng)涵蓋了許多領域:
WhatsApp 經(jīng)典的聊天應用,還有Messenger;
Powder Player 種子下載,以及視頻播放器;
Boson Editor 代碼編輯器,甚至還有一款Markdown編輯器叫Story-writer;
Leanote Desktop App 類似Evernote的筆記類應用程序;
Mongo Management Studio 數(shù)據(jù)庫管理應用。
來欣賞一下一些應用的截圖吧,不得不說nw.js開發(fā)出的應用一點不比原生的丑陋啊。
Mongo Management Studio
Soundnode App
看來nw.js贏得了很多青睞,那么還有什么能阻止我們擁抱nw.js呢?。
ps:
如果有的鏈接打不開,先檢查打開的姿勢對不對。
更多文章見 我的主頁
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/86065.html
摘要:在很多原因下,我們?yōu)榱擞峡蛻艋蛘咂渌脑?,需要在本身代碼或框架不能兼容的瀏覽器下運行項目,怎么辦呢,我們將其打包為桌面應用不失為一種好。如果圖標有變化,大功告成我的沒有換圖標,所以依然是的圖標 WHY 在很多原因下,我們?yōu)榱擞峡蛻艋蛘咂渌脑?,需要在本身代碼或框架不能兼容的瀏覽器下運行項目,怎么辦呢,我們將其打包為桌面應用不失為一種好idea。nw.js是node-webkit...
摘要:與是年最早公開發(fā)布的兩個框架,后來者還包括與。此外,另一重心是與團隊的合作,預計將貫穿年。年展望對平臺而言,年的重點是提升穩(wěn)定性與采納率。最早由開發(fā),于年公開發(fā)布。時間會告訴我們,的極速增長能否在年持續(xù)下去。 【編者按】本文作者為資深 Web 開發(fā)者 TJ VanToll, TJ 專注于移動端 Web 應用及其性能,是《jQuery UI 實踐》 一書的作者。 本文系 OneAPM 工...
摘要:首先很遺憾的一點是,雖然是最好的語言,但是它不是最流行的語言。屬于配置比較高的硬件,而低配的呢三星設計了引擎,它能夠運行在小于內存上,且全部代碼能夠存儲在不足的只讀存儲上。你覺得還能做什么 首先很遺憾的一點是,PHP雖然是最好的語言,但是它不是最流行的語言。showImg(https://segmentfault.com/img/bVvqTs);同時對不起的還有剛剛在4月TIOBE編程...
閱讀 3023·2023-04-25 21:26
閱讀 1612·2021-11-25 09:43
閱讀 2030·2019-08-30 15:52
閱讀 1017·2019-08-30 14:05
閱讀 2709·2019-08-29 16:10
閱讀 501·2019-08-29 13:48
閱讀 1943·2019-08-29 12:47
閱讀 1374·2019-08-23 18:04