javascript

之前在做一個項目用的就是electron,發現electron前端交互真是方便,不過之前內置go版tts在node,用child press run就可以,結果內存真是顯高,畢竟不是原生的mac os。之前看大輝老師的readhub.me上線,我算是小道消息的老用戶(只是接收端,低社交人士),發現這個產品真不錯,以前也有個想法用spide去抓。當时腦一熱就用electron+React+redux+persist寫一個readhub.me的版本叫readhubtron。后来也有人用swift写出来,逻辑差不多。

alt text


macOS 版本 v0.1.2

windows 版本 v0.1.2

feature

  1. 增加 Notifacation.
  2. 增加 推薦閱讀api
  3. flowType加强检测
  4. code Sgin for autoupdater
  5. unit test and pinline test

update noted

touchbar在development下可以,可惜production上没支持。

alt text




And carry on.

近來在寫一抽獎要用到輪盤的項目,發現當時只能用圖片難以修改長度和range的份數,後來想到用svg來實現,就用寫chart用到的 d3.js,完美解決。如圖:

alt text

下一次版本,會考慮加上九宮格抽獎以其他可以的方式抽獎,或者利用canvas做一個彩帶confftti的效果。






只要有人的地方就有恩怨,有恩怨就會有江湖,人就是江湖。— 金庸


這段時間前端最熱鬧的事莫過於阿当老師事件 ,關於一片關於前端2016的考察,文中主要觀點是,建議新人關於前端入門更多的是注重的是基礎,寫發jquery和css等,不要去追什麼reactjs和vuejs等新潮的技術,結果引來vuejs作者和同行中許多的各種爭議。

在知乎上,觀點幾乎是一邊倒的,這也無可厚非,這個開倒車的行為有點過失,邏輯存在 Major Conflict

在這個爭議中,引起我的思考的,不是技術的對比,或者雙方論點論據的優越,而是對於前端的認知,一個心理的行為認知。

對於非科班出身的,當初進入編程行,莫過於前端與php的入門,這也是至今說php是最好語言的一個表述,因為當時入門的最容易的就是php+mysql+jquery這一套東西。對於當時只有pc的年代,另一套是java系列。

隨著手機ios和 andirod 以及多端的出現,必然出現更多複雜情況,慢慢出現前後端分離以應對,但是分離後,前端該怎樣了?以往權力是後端控制前端,只是當前端view層面,因為習慣MVC了,但是前端分離出來,在前端不斷完成自我人格的時候,必然同現要權的行為,從angular1開始,就體驗到在views拿到了control和data flow的權力,而且directive的創新概念影響後代的reactjs和vuejs以及ember等主流框架,可以說angular1有著開時代的影響,就如當年的yahoo的Mootools和Prototype。

至於現在前端主流reactjs和vuejs以及jquery之間的區別是什麼,我簡單解析下:

jquery可以說影響前端比較深遠的一個框架,是框架嗎?其實不是,準確是javascript的工具集,在這之前還有Mootools和Prototype等優勢工具集。 為什麼說jquery影響深遠,因為他將native javascript簡單歸納成易用易維護的dom操作,插件plugin易extend和開發,event以及交互上,以及樣式控制。對於當時來說,也存在很大爭議,對於寫習慣原生js的人來,就如今天之爭。

而對於現在初學者來說,怎麼學好reactjs和vuejs?一般入門者都喜歡站隊,其實不必然。因為reactjs和vuejs相似又各不同。

對於reactjs來說,可以說和jquery一樣相當影響,簡單來說,reactjs就如上文所說,現在前端框架是真是框架並不是工作集,例如:

  1. 獨立的人格。就如lifecircle生命周期的概念,生命周期就如人一樣,出生,成年,死亡和回收大自然,所以有componentWillMount, componentDidMount,componentWillUnmount 等生命周期階段.

  2. 生物信息流。對於state props來說,可以簡單講信息流,就是人一樣的身高,體重,以及dna,fingerprint一樣,就如人的生物信息流,那麼這些信息流會改變或不變嗎?其實不能說去量化這麼信息,reactjs只是記錄這個過程,就如你出生體重到死亡成灰都有一記錄值,就如性別一樣,你一樣可以改,但在更換性別前時就有一個記錄是什麼條件下改變的。

  3. 社交記錄。至於redux,又是一個什麼概念了?其實簡單來說,各個component之間社交行為紀錄,在沒有 redux,reactjs 會將props和state的變化各自記下,就如A借錢到B,B又把錢C,C要還錢還B,B再還給A,但有 redux時就可以,C還錢給B, B可設置action在收到C錢時dispatch直接還給A。而且 redux的數據是怎麼記錄的?,你可以想像就如圖書館,你每看一本書,就要去借入記一次,歸來記一次,就如會計帳記錄,衝正也是記錄,所有行為可以trace。

  4. 自我反復思考糾錯。至於virtrual dom又是什麼概念呢?因為javascript 的actural dom是一次渲染出來,以前開發時修過只是通過人工fresh才可看到,而virtrual dom只是在真正渲染前用diff算提交一个path的去更新view ,就如一个自我糾錯的行为一样。

以上也是vuejs2改版之後也具有的特性。

兩者有什麼不同?可以講都是人,可以講男女之別。

reactjs 就像男生一樣,想法多,得想到方方面面,但風氣就如農村的重男輕女,習慣繼承皇位。

vuejs 就像女生一樣,嬌小,思維直觀,template javascript style, 每個 componet 像 derivative 可自義聲明,有點女孩子富養的感覺。對於習慣MVC思維有一個好的幫助。

那 angular 4呢 angular 2開始 typescript 寫,入門門檻更高,也採用新時代特性,習慣 flowtype和強類型的前端有了一個更好的選擇。

江湖門派之爭,總有好勝之爭,這是好事。但想成為真正強者,還是知各家所長所短,不然到真正華山論劍之時,不學無術者自然是給淘汰。我的建議,潛力去研究,學其所長。








Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×