前端開發中有哪些插件或組件,值得自己去實現一次?
請問有什麼優秀的、代碼精簡的JS插件讓你覺得在前端的學習過程中值得學習、實現的嗎?
現在個人情況是:類似輪播圖,瀑布流等簡單的插件都實現過,Bootstrap的插件都看了,Underscore除了template也都實現了。感覺JS的學習遇到了瓶頸,想從jquery的插件庫jQuery Plugin Registry中模仿、學習一些優秀的代碼增加一下JS經驗,但是裡面的插件太多了,也不知道哪些比較簡單且優秀(個人感覺iscroll, swiper這些插件兼容的東西太多,學習起來會比較困難,所以想先從簡單的學起來)相關話題:前端開發中有什麼經典的輪子值得自己去實現一遍? - 編程(裡面雖然提出了許多優秀的輪子如:非同步控制工具、虛擬DOM、賀大的JS類工廠、Promise實現,但是感覺這些在工作中應用不多,所以沒有去學。或許這種想法是錯誤的?)
callback thunk promise await,這條路實現下來可以幫助自己理解非同步和語法糖。
forEach() iterator generator、for of,循環、迭代器和語法糖。
class 語法糖,這個應該相對以上內容來講是最簡單最不費腦的,有助於理解對象和原型。把es6新增的api用es5實現一遍。
說幾個移動端常用的插件吧
預載入:https://github.com/jayZOU/preload滑屏:https://github.com/jayZOU/slide
感測器:GitHub - jayZOU/photoTilt-slide: A photoTilt-slide component自己在工作中經常用到,用網上的插件大部分都混合有兼容性代碼或者jquer等庫,後來就自己動手寫了幾個插件,不一定適合你,但是可以用來練練手先嘗試一下Visual Studio開發http://ASP.NET MVC的razor模板文件的過程,然後把他那種在一個文件的不同的位置做HTML、CSS、Javascript和C#的智能提示寫一遍。搞定了保證可以做小公司CTO。
當然是實現一個自解釋器啊就不讓你寫 VM 了
竟然template都沒有實現,那麼就寫template啊,先寫個類似underscore的模板語法,然後實現一個類似angular的模板語法,然後把後一個加上雙向綁定,然後就可以愉快山寨angular了。(如果你還有興趣的話,考慮到寫模板語法也算是類似編譯器,還是覺得沒有方向就去寫自解釋器吧。
不推薦寫手勢滾動庫,寫個簡單的玩玩就好了,複雜的手勢都是dirty work。還是編譯器一類的比較clean,不然天天算加減法,去處理兼容性問題,我猜肯定不是你想要的生活。=======
另外還有一個實現起來比較好玩的,先實現一個eventEmitter,然後擴展成一個eventHandler,然後擴展一個store,讓eventHandler都監聽store變化,改裝成一個flux框架也蠻好玩的。感覺題主跟我現在的水平比較接近,就把我最近做過的,想要做的分享下,希望能對題主有所幫助,不妥之處也歡迎各位大牛批評指正。1. 把bootstrap的插件自己動手實現一遍,自己實現了一個modal插件,深感紙上得來終覺淺。2. 感覺目前的觸摸手勢庫都比較大,雙指縮放之類的複雜手勢在目前項目中又用不著,模仿hammerjs等自己封裝一個微型的手勢庫
哈哈哈我做過!http://jquerywidget.com
題主目前實現的都基本還局限在功能性類庫的層面,只需要少量的數據結構和演算法知識支撐。
題目中提到的問答里的這些框架和概念對計算機學科基礎素養更高,其中混雜了一些比較淺顯的編譯原理演算法設計模式等思想,是拔高自己水平的好輪子。
樓主覺得沒有用主要還是業務代碼中涉及這些的知識較少,等你做到前端架構師的級別這些輪子說不定就得動手自己造了,所以這些東西多接觸下反而挺好。
總之前端是個廣度和大而深度略淺的學科,加上這幾年發展很快,多學多接觸新東西很重要。
另外重中之重,語言的掌握永遠都不是重點,重要的是理解計算機學科中核心的思想並靈活運用在實際生產當中。日期選擇器,簡單、實用,但要做好不容易,以下幾個點可以重點關註:
1.配置不能選的日期
2.選擇一個時間段
3.支持多種日期視圖
4.快捷日期的選擇
5.多時區和多語言
常見的日期視圖包括:日視圖、月視圖、年視圖
推薦閱讀:
※為什麼很多網頁喜歡這樣設定字體:{ font-family: Arial, Helvetica; }?
※《The Daily Mail》現在是新聞類媒體中流量之冠,超過《紐約時報》,設計角度有什麼可取之處?
※前端小白前端小白階段的項目都是在哪裡找的~?
※為什麼主流購物網站的首頁Banner大圖從不推薦單一產品,推薦的都是品牌系列?
※web前端開發,自學的流程可以怎樣?
TAG:網頁設計 | 前端開發 | 程序員 | JavaScript | 前端工程師 |