本想接著上一篇寫2,然後看到一些留言回復,對ionic頗有微詞。覺得有必要解釋一下自己寫這些文字的初衷。

首先,作為一個ionic+Angular+Typescript的菜鳥,在學一樣新東西的時候,會有把心得和知識點記錄下來的習慣。既然記錄下來,索性就發出來給有需要童鞋一起參詳,於人於己都是美事一樁。

第二,我想寫關於ionic的內容,不外是工作需要,機緣巧合,但重點不在於某一個框架或者技術庫的細節剖析,我注重的是整個框架的總體設計思路。ionic的確據說坑不少,但是有什麼能夠替代它成為企業級開發前端庫的更好備選嗎?就像Sencha(是一個類似的更傾向於PC端的前端JS庫),現在也變得越來越臃腫。但是技術的更迭不就是這麼回事,一個新的東西出現,大家嘗試,好的留下,不好的,就會有人琢磨著弄一個更好的,而更好的東西也是建立在前者的進化和革新之上。ionic之所以能立足,正是因為它方便,好使。方便好使的代價就是在一些複雜或者高需求的場合,會顯得力不從心。

第三,一個技術總有它的適用範圍,純Native的App當然好,地球人都知道,但是總的要考慮投資者的耐心和錢包,說到底,技術狂人們總是前行在正確的道路上,可是會打仗不一定能取得勝利,在市場和技術之間,必須有一個平衡。

第四,一個東西之所以能成功,不僅僅是在技術層面。點子、運作、時機等等等等都很重要。所以如果是把ionic作為戰略發展的技術考量,務必請找個技術大牛仔細參詳,但也得考慮你的找得到一批會做的人,否則單憑大牛一個,也是走獨木橋,風險太大。如果是應用層面,比如只是做一個企業的移動應用,作為企業業務的輔助或者補充,那與其用一個完美的技術,倒不如用容易上手又花費少的,畢竟老總們想的是:「地主家也沒有餘糧啊!」。

第五,ionic這個東西,不過是一些UI組件,其實真正值得深究的是它下面的Angular和背後Typescript。前者是一個非常優秀的組織架構,對剛接觸的人來說,深入理解這個架構會對編程及有好處,因為編程不只是if then,要能從根本上,站在架構的高度來審視一個技術,才能有更為全面和深刻的知識理解。Typescript勝在語法上,我的感覺是把一個亂七八糟的泥潭整理的起碼可以走路了。畢竟C#、C++和Java做了這麼多年,一直對Javascript不願多花精力的原因就是它沒有類型、邏輯奇怪,難不成自己做出去的東西,都不知道會有什麼樣的行為?對有輕微強迫症的人來說,這樣的結果很難接受。

最後,寫這些文字的目的之一也是想跟同道更好的交流,所以坑多坑少,有沒有辦法解決,是設計問題還是架構問題,有沒有改進的空間或者方向,這是我思考並且更想知道的。如果有大牛說:hay!菜鳥,我有一個更好的主意,可以一起做一個東西秒殺ionic,我一定緊緊跟隨!

最後謝謝關注拙文的朋友們!希望有更多的交流和思維的火花!


推薦閱讀:
相关文章