序花了將近一年時間,終于把這本書看完,,并完成了這本書上的例子,畢竟書上的源碼,,不修改過的話,,真的是無法運行的。然而,,修改代碼,,需要很大的勇氣,經(jīng)驗,,以及去網(wǎng)上搜索答案的能力,。某個程度上,我還是蠻佩服自己的,,還是能啃得下這硬骨頭,,至少底子還在。 破土--《Electron跨平臺開發(fā)實戰(zhàn)》寫一次代碼,,多平臺運行,,這是很多計算機人的心愿,。當年我第一次接觸java語言的時候,“寫一次代碼,,多平臺運行”的特性讓我驚呆了,,頓時對java產(chǎn)生了神一般的膜拜。直至后來發(fā)現(xiàn)了各種開源包版本不兼容導致了各種奇異的問題后,,我轉(zhuǎn)向了封閉的.net世界,,它拿了java的好,做成了windows平臺的祭品,。.net一直不受待見,,不是因為架構(gòu)不好,效率不高,,而是因為它被windows獨享,,成為了開源世界口誅筆伐的對象,是意識形態(tài)的犧牲品,。 對于很多人來說,,討論豆腐腦應(yīng)該是甜的還是咸的,往往會變成一場罵戰(zhàn),。在計算機的世界里,,討論windows好還是mac osX好,哪一種編程語言好也有同樣的效果,。我很慶幸,,作為一個見證著計算機世界發(fā)展的從業(yè)者,對這些終極話題還是有自己的答案的,,一旦預感有爭執(zhí),,便會主動放棄,除非把我惹毛了,,就作為一件有殺傷力的武器扔出去,。 做物理的人,一直在追求一個大一統(tǒng)的理論框架,,將現(xiàn)有的所有理論都放進去,;做計算機的人,也有這樣的情懷,,想著能有一個框架,,做一次開發(fā),便可以運行在各個操作系統(tǒng)上,。這確實不是一件容易的事,。就像中國這么大,如果沒有普通話,大家溝通起來一定很痛苦,,計算機世界也是這樣,,因為沒有普通話的存在,兩個操不同方言的部件,,就容易產(chǎn)生問題,。 在手機的世界,Android與IOS兩大陣營,,一個看起來操作相仿的APP,,需要耗費好多心血,也需要維護兩套截然不同代碼,,用兩種世界觀與哲學概念來開發(fā),。后來,出現(xiàn)了Cordova平臺,,通過Node.js,、html5以及瀏覽器容器等web技術(shù),實現(xiàn)了一套代碼,,可以編譯出兩個平臺的APP,,但是效率要稍微低一些,所以對移動互聯(lián)網(wǎng)世界來說,,這是一個閃耀的試驗品,。同樣的,在桌面端,,也有這么一個框架,,那就是Electron,本質(zhì)上和Cordova是一致的,,一套代碼可以生成windows,、linux和mac的程序。 這就是我看重Electron的原因,,在我的預想中,,接下來的幾年會有大量的軟件需要從windows平臺遷移到各種國產(chǎn)化的操作系統(tǒng)與硬件上,多個廠商的操作系統(tǒng)以及多種架構(gòu)的軟件,,會導致在很長的一個階段中,出現(xiàn)指數(shù)級的軟硬件搭配的產(chǎn)品,,對做系統(tǒng)遷移的人來說是個災難,,不同操作系統(tǒng)的兼容性與各種編程語言可能會出現(xiàn)的副作用,真的會將一個小項目拖入沼澤地的,。 對我而言,,這便是一個機會,如果能將持續(xù)集成的過程模式與跨平臺框架結(jié)合,將互聯(lián)網(wǎng)的技術(shù)轉(zhuǎn)移到基礎(chǔ)軟件開發(fā)中,,或許就能創(chuàng)造一個新的模式,,迅速迭代,不斷演進,,同時匹配兼容各種碎片化的系統(tǒng),。 結(jié)語所以,我已經(jīng)完成了在windows和Mac機器上的實驗,,正準備在蘋果的M1機器上做試驗,,如果成功的話,將在統(tǒng)信等國產(chǎn)化系統(tǒng)中測試,,希望能有一個好的前景,。 |
|