相信很多同窗在維護老項目時,都遇到過在深深的 if else 之間糾纏的業務邏輯。面對這樣的一團亂麻,簡單粗暴地繼續增量修改經常只會讓複雜度愈來愈高,可讀性愈來愈差,有沒有固定的套路來梳理它呢?這裏分享三種簡單通用的重構方式。 所謂的【麪條代碼】,常見於對複雜業務流程的處理中。…
html
爲了解決傳統Web開發模式帶來的各類問題,咱們進行了許多嘗試,但因爲前/後端的物理鴻溝,嘗試的方案都大同小異。痛定思痛,今天咱們從新思考了「先後端」的定義,引入前端同窗都熟悉的NodeJS,試圖探索一條全新的先後端分離模式。前端
隨着不一樣終端(Pad/Mobile/PC)的興起,對開發人員的要求愈來愈高,純瀏覽器端的響應式已經不能知足用戶體驗的高要求,咱們每每須要針對不一樣的終端開發定製的版本。爲了提高開發效率,先後端分離的需求愈來愈被重視,後端負責業務/數據接口,前端負責展示/交互邏輯,同一份數據接口,咱們能夠定製開發多個版本。git
這個話題最近被討論得比較多,阿里有些BU也在進行一些嘗試。討論了好久以後,咱們團隊決定探索一套基於NodeJS的先後端分離方案,過程當中有一些不斷變化的認識以及思考,記錄在這裏,也但願看到的同窗參與討論,幫咱們完善。
程序員
因爲跨域緣由,第三方 Javascript 向後端發起請求時不能簡單的使用 Ajax(XMLHttpRequest)。這篇文章帶你擼一遍第三方 Javascript 開發中可能會用到的先後端接口協議。
github
文章主要介紹了 前端 + 後端如何對站點進行優化,並拿出 Google 的前端代碼作了分析。後端
性能優化是老生常談了,從雅虎的 N 條軍規,前端各類優化準則,到 2010 年 Google IO 上 Steven 提出的高性能建站指南,都在告訴開發者,一個站點的性能很是重要,如何在有限的帶寬條件下,達到極限的訪問性能,如何讓訪問者,不管是從響應速度,視覺感官,操做流暢度都達到最佳體驗, 是目前 Web 技術上的一個相當重要的挑戰.
設計模式
相信不少小夥伴都用過 MVP 模式,以前也一直在糾結 MVP 是什麼,真正的 MVP 模式的寫法是什麼,其實後來想明白了,只要按照 MVP 的設計,裏面怎麼變化都是正常的,設計模式也不是一成不變的,要根據實際狀況靈活的使用
跨域
隨着互聯網高速發展,公司對項目開發週期不斷縮短,咱們面對各類需求,使用原有對接方式,各端已經很難快速應對各類需求,更難以提升效率。因而,咱們不得不從新制定對接規範、開發邏輯以便快速上線項目。 儘量的縮小溝通的成本,開最少的會,肯定大部分的事。 花最少的時間寫文檔,保證90%的…
瀏覽器
原文地址:Building account systems 原文做者:Mike Hearn 譯文出自:掘金翻譯計劃 本文永久連接:https://github.com/xitu/gold-...…
緩存
柵格就是網格,咱們很小就會接觸到網格,好比小時候的方格本做文本,畫的表格等等,利用表格進行分類排版。UI中的柵格系統就是對各個平臺的網格佈局進行系統化,好比網頁的網格定義,APP的網格定義。 柵格化系統是設計的一個基本原則,可以有規律的排版頁面的佈局,在CSS的Bootstra…
Virtual DOM / reconciliation algorithm, React 如此流行到底有哪些緣由呢?
因爲篇幅有限、框架衆多,在分析以前,咱們從版本更新頻度和社區活躍度來進行初步的篩選。已經出現了比較久的Backbone和Knockout, 目前流行度正在持續衰退,說明市場已經作出了選擇,市面上出現了更有競爭力的替代品; 還有aurelia這類的新涌現者,須要等待時間的檢驗。
相信先後端分離這個詞,早已流傳甚廣,你們一些本身的理解,但可能有些人的觀點有稍許誤差:咱們要搞 SPA,全AJAX,那纔是先後端分離了。 咱們來聊聊什麼是先後端分離。 先來看一張WEB系統先後端架構模型圖。 從圖中能夠清晰的看到,先後端的界限是按照瀏覽器和服務器的劃分。那麼咱們…
以前一篇文章中的信息架構應該如何梳理,當咱們嘗試分析一款移動端 app 的時候,咱們應該如何進行思考之類的問題。
那麼今天,我將從你們常常用到的百度外賣(iOS v4.4.1)說開去,闡述我本身分析一款 app 時候的思惟邏輯和過程,固然我說的不必定對,但願能給新手朋友們一些思路。
六張圖描述mvvm雙向綁定實現過程
如何寫一份用戶體驗好、開發喜歡看、靠譜的需求文檔呢?筆者將從如下幾個方面展開闡述。
本文用於定義一種統一的RESTful接口設計方案,但願具備參考價值。本文所描述的方案比較學院派(死板),在上一家公司提出沒有被採納,在所瞭解到的有限的若干家聲稱採用了RESTful風格的公司裏,發現他們也偏離甚遠,而在書本以及網上大部分介紹RESTful的資料裏,卻都是這樣的方…
總結起來,大致優化思路就是:緩存/預加載/並行,緩存一切網絡請求,儘可能在用戶打開以前就加載好全部內容,能並行作的事不串行作。這裏有些優化手段須要作好一整套工具和流程支持,須要跟開發效率權衡,視實際需求優化。
總結一下移動端碰見的坑。
什麼是響應式?響應式的頁面在不一樣的屏幕有不一樣的佈局,換句話說,使用相同的html在不一樣的分辨率有不一樣的排版。以下圖所示: 響應式佈局是爲了解決適配的問題,傳統的開發方式是PC端開發一套,手機端再開發一套,而使用響應式佈局只要開發一套就行了。由於它是用的一樣html,因此它的JS…
本文首發於掘金專欄,發佈於廖柯宇的獨立博客,轉載請保留原文連接。 MVC,MVP和MVVM都是常見的軟件架構設計模式(Architectural Pattern),它經過分離關注點來改進代碼的組織方式。不一樣於設計模式(Design Pattern),只是爲了解決一類問題而總結出…
前端性能優化能夠分爲三個level:靜態資源優化、接口訪問優化、頁面渲染速度優化,在操控門檻上依次遞增,優化效果上愈加沒有這麼明顯,因此不少小團隊只會作到了第一個level追求極致的前端性能體驗,提高本身的level,come on ~ 目錄 1、靜態資源優化 2、接口訪問優化…
設計一套良好的 API 接口。 原文地址:服務端指南 | 良好的 API 設計指南 博客地址:http://blog.720ui.com/ 版本號 在 RESTful API 中,API 接口應該儘可能兼容以前的版本。可是,在實際業務開發場景中,可能隨着業務需求的不斷迭代,現有的…
最經常使用的 15 個架構原則
分析 snabbdom 源碼,手把手實現一個 Virtual DOM 庫。
本文大多數的內容基本都是從多篇博客或相關文章中進行篩選,提煉出來,本來我也想用我匱乏的語言來描述,可是發現別人已經總結的更好了,因此...我仍是乖乖的站在巨人的肩膀上吧~~
設計模式