函式性純UI元件:morphonent - DEV社群
面對大量的使用者互動和體驗,構建應用變得越來越具有挑戰性。使用者現在需要自然而又快速的豐富互動,並且需要可靠的應用程式。
現在,為了構建這些複雜應用程式時的需求,我們擁有最先進的庫和框架,例如React,Vue,Svelte或Angular等。
此外,我們還面臨著這樣的情況:應用程式狀態管理本身就是一個挑戰,社群為之建立了不同的解決方案,僅舉幾個例子,我們有redux和MobX。當我們還具有對後端的HTTP請求的非同步狀態時,此問題將變得非常複雜。
我個人對分散式體系結構和模式感興趣,但是,我發現對系統前端進行程式設計的複雜性也很有趣,因為它是使用者固有的需求。當我們在每分鐘處理大量請求的後端中時,我們每分鐘交換數千兆的資訊,很容易忘記使用者而將重點放在開始考慮系統本身。
與以前相比,今天構建UI更加容易,便宜和自動化。儘管如此,大多數使用者介面對於使用者(對於單個網頁下載的javascript數量)還是對開發人員而言都是昂貴的,因為一旦構建網頁就很難更改其結構。
我一直在研究如何使UI的更改成本更低,可組合且更易於測試。我得到了以下結論,這些結論將使UI易於更改:
- 應用程式需要像粘土一樣可成型。
- 過渡必須合理且易於跟蹤。首選1-1轉換,避免儘可能fan-out。
- 預設情況下,非同步是真正的快速非同步程式碼。
- 自動測試應用程式應該與在瀏覽器中呈現應用程式一樣容易。
因此,基於敏捷和XP,我對允許更便宜的UI的庫或框架有以下要求:
- 為了使應用程式可成型,需要經常更改其結構。
- 要使過渡自然,過渡應該是應用程式工作原理的基本組成部分。
- 庫應該以相同的方式理解非同步和同步業務邏輯。
- 應用程式的每個元件都應該可以獨立且快速地進行測試。
我寫了一個名為的庫morphonent來實現這些想法。但是,我認為,這些模式和設計決策(如果有用)可以建立在其他更健壯且防彈的庫(例如上述庫)的基礎上。這裡重要的不是庫(我為啟用這些模式而構建的庫),而是模式本身。
相關文章
- 虛擬函式 純虛擬函式函式
- 函式式元件函式元件
- 介面、虛擬函式、純虛擬函式、抽象類函式抽象
- javascript純函式是什麼JavaScript函式
- GRDB自定義的純函式函式
- UX設計指南 - DEV社群UXdev
- 虛解構函式(√)、純虛解構函式(√)、虛建構函式(X)函式
- 測開之函式進階· 第2篇《純函式》函式
- Redux概念之四: reducer(歸納函式)與純函式Redux函式
- dev Gridcontrol控制元件屬性部分dev控制元件
- [譯]使用MVI打造響應式APP(四):獨立性UI元件APPUI元件
- 平凡的函式 線性篩積性函式函式
- C++ 介面(純虛擬函式)C++函式
- React函式式元件和類元件[Dan]React函式元件
- 在CPython中實現純Python函式的真正並行性Python函式並行
- 基類指標、虛純虛擬函式、多型性、虛析構指標函式多型
- 前端Vue:函式式元件前端Vue函式元件
- C++中抽象類、虛擬函式和純虛擬函式C++抽象函式
- 3D高斯損失函式(1)單純損失函式3D函式
- 抽象基類和純虛擬函式抽象函式
- 深入理解javascript系列(十四):純函式JavaScript函式
- 【譯】JavaScript中純函式是什麼JavaScript函式
- js純函式學習筆記(一)JS函式筆記
- 征服 JavaScript 面試:什麼是純函式?JavaScript面試函式
- VUE - 區域性引用Element-UI元件VueUI元件
- dev_queue_xmit()函式返回值問題devMIT函式
- JavaScript函數語言程式設計(純函式、柯里化以及組合函式)JavaScript函數程式設計函式
- [譯]掌握 JavaScript 面試:什麼是純函式?JavaScript面試函式
- 理解 JavaScript Mutation 突變和 PureFunction 純函式JavaScriptFunction函式
- 為什麼Redux 需要 reducers是純函式?Redux函式
- C++:純虛擬函式與抽象類C++函式抽象
- Vue函式式元件的應用Vue函式元件
- SAP UI5 Page 控制元件的建構函式引數講解UI控制元件函式
- React 是如何分辨函式式元件和類元件的?React函式元件
- [譯] 如何使用純函式式 JavaScript 處理髒副作用函式JavaScript
- Nix:一個純粹的函式式包管理器函式
- 021--C++養成之路(純虛擬函式和純抽象類)C++函式抽象
- React函式式元件的效能優化React函式元件優化