項目前端問題

技術場景
前端獲取數據經過Socket IO與Node.js交互,其交互過程基於異步,前端頁面將要獲取的數據經過指令發給Node Server,Node再將根據指令去調用Gearman相應的接口,
當Gearman執行結束,會將數據發送給Node,Node再將數據發給前端頁面。css

下面是開發中遇到的一些問題html

1 一個業務操做進行了屢次IO交互
對於前端頁面來講,每發一次指令就是一次原子操做,而要完成一次業務場景,就會產生屢次的原子操做,好比下面用戶加房間的過程

獲取用戶名片 -> 加入房間 -> 建立卡片 -> 獲取房間信息 -> 加入房間

上述場景是在有房間無名片的用戶加入房間整個原子操做,先獲取用戶的名片信息,若是是一張系統生成的默認名片,就將用戶加入到房間,並彈窗要求用戶建立名片,
當名片建立成功,獲取該房間的信息(有可能房間已經結束),然後加入房間,客戶端發送的網絡指令以下:

get_card_info->join_room->create_card->get_room_info->join_room前端

共進行了5次網絡IO,屢次的網絡IO操做會形成頁面數據延遲加載,而每個原子操做都是異步的,所以會在回調函數裏進行回調,出現多層回調嵌套的代碼。css3

解決:提出了複合命令的方式向服務器請求(初定)前端框架

2 接口定義
項目開始定義了後臺須要實現的接口,可是在實際進行中才發現,最初定義的接口每每不夠,開發中還會增長或修改接口服務器

3 單頁&多頁
本次開發是一個多頁應用,在實際體驗中,多頁的應用會加載每個連接的js、css、html文件,所以頁面之間的切換會有一個延時等待的過程,下降了產品的流暢度。
計劃在下次改版及下個項目中去使用單頁開發網絡

4 UI
由於項目開始咱們尚未專門的人來作UI,而咱們由沒有太多的時間花費在UI設計上,致使頁面看起來不夠美觀,色彩搭配不是很合理;另外,項目中採用了ionic框架,
可是因爲缺少專業UI的設計,以致大量的css代碼須要手動完成(自適應能力兼容性也不敢保證),ionic也沒發揮出它的功能。框架

解決:肯定好使用某一套UI框架的時候,前端美工人員的界面要基於這套UI來作。異步

5 頁面交互
現階段的頁面交互是比較生硬的,如彈窗之間的動畫效果沒有,用戶觸摸時背景切換,在網絡延遲的狀況下,用戶能夠對一個提交按鈕進行屢次提交,致使後臺數據冗餘等等。ionic

解決:此類的js特效能夠採用某個前端框架的交互效果;也能夠本身實現這些交互效果,並逐步將其抽取出來,造成公司移動端的固定的交互模式。

6 代碼結構
由於js語言的靈活性及語法的特色,如何組織代碼提升可維護度,這還須要必定的時間來提升,我想對於前端的壓力,通過2個月左右的鍛鍊和學習,能達到一個專業的水平,勝任
前端任務。

總結:如今前端的壓力主要集中於對js代碼的熟練以及對渲染性能的把控,由於移動設備渲染DOM元素能力並非很好,當元素存在陰影、濾鏡及css3的一些高級特性的時候,渲染很慢,在後續的開發中,將逐步提取造成一些模塊化、框架化的可複用代碼。

相關文章
相關標籤/搜索