工作因素,自認對前端技術還不夠熟悉的自己,開始試著使用 Electron 這個能將前端技術打包成「AP」的工具來開發產品。一兩週的學習與測試,讓我仍然在許多方面處於混亂,摸不著頭緒的狀態。也許,改天把一些理清的部分的轉化成文章分享,不過現在我只想單純聊聊這中間的感受。
技術變革的快速,一次又一次打破我的想像。對於「AP」的印象,一直停留在 Access Point 這個網路設備的名字上,在這次的機會中,才知道原來「APP(Application)」一詞已經更廿廣的被使用在手機的 Mobile Application 上面,而 Desktop Application 則改用少一個字的「AP」了。
不得不說,手機的 APP 開發似乎比電腦用的 APP 還要熱得多。也許是還沒達到飽荷,有許許多多人想加入,在網路上的熱烈的討論,以至於常常佔用了搜尋結的版面,不知道哪個人決定使用「AP」作為縮寫,真是一個糟糕的主意。
Electron 是一個融合了 chrom (或準確一點的說,是它的開源專案 chromium),以及 Node.js 的開發工具。講起來很簡單,兩者都是具有各種平台的版本,所以把兩者的交集:Javascript 程式,以及用以呈現畫面的 HTML, CSS 技術,就能讓專注前端開發的人,使用平常就在使用的知識就能夠開發桌面應用程式(desktop application)了。
聽起來很合理,實際上也真的可以運作。不過是不是只要「前端技術」就能順利完成?個人是不太相信。這中間用了幾次我在其它領域學到的不完整知識,勉強地撐到現還還沒放棄。
要說會卡住的原因,我想一部分是來自於現在的我習慣於 Mac 上開發。又或著應該這麼說,似乎許多程式的開發者,都習慣於在 Mac 或是 Unix Like 的系統上開發。而導致一個作好的功能要移到 windows 平台的時候,才發現有許許多多的問題要解決。
寫程式嘛~解決問題本來就是理所當然的事情。Google 上有許多的問題與答案幫助工程師解決問題,但也是如此,當 Google 到答案都是無解或是斷頭(沒下文)的時候,就特別的讓人覺得焦燥。
得先作假設,再像是傻瓜一樣一個又一個假設慢慢去試。有時候半天過去了,最後還是一無所得,放棄的念頭浮現早已多到數不清了。最讓人無力的地方是,只知道程式不能運作,但是連卡在哪一個環節都不知道。
開源能夠成就很大行的案子,讓眾人的成果能夠像積木一樣堆疊成偉大的建築。在理想上,每個小片斷的開發者,只要完成自己那個部分,維護完美的狀態就行。不過呢,實際上每個部分都有可能因為開發者一個念頭的改變,或是單純的手誤造成後面的程式全盤出錯。
Node.js 就是我所知道最為混亂的地方之一,許許多多相似,又沒有用的功能,排在一起,偏偏沒有人能告訴你哪一個才能滿足需求,有時候讓我不禁去想,也許自己去把相關知識學起來,會比在這個大海撈針來得快一些。我想,可能不少開發者有一樣的想法,所以後來的人,就看到了更多相似名字,但依然不知道要如何選擇的模組出現在清單上。
本來我覺得,一個被多人肯定的模組,應該問題不大。不過就遇到一次因為沒有測試在 windows 的運作,沒有考慮到 Unix like 系統裡資料夾只是一種檔案類型,而 windows 不是的差別,也沒有預想到 windows 下 "." 開頭的檔名是不合法的問題。撐了許久,最後決定爬原始碼之後才發現,暫時解決了這些問題。
但是怎麼把這些修改後的程式碼弄回網路,通過原作者的審核,這又是另一個問題了。要學的東西真多,不過那裡就是接下來要研究的東西了⋯
沒有留言:
張貼留言