頁面發展隨想
jax技術-前後端分離
其實以我看來前端的發展有很大的必然性,有一些“道”可循。其主要變革我覺得都是因為ajax的普及。眾所周知,在ajax沒有出現之前,表單提交是需要重新請求頁面的(原生的from表單submit事件),所以ajax技術的出現解決了這個問題以得到更好的使用者體驗。這個發展可以說是必然的,畢竟對於程式設計師來說有需求就要實現嘛。在ajax全面普及之時我們發現ajax可以做的更多,可以由頁面發起單獨請求所需資料,讓頁面更加的靈活,讓頁面動了起來~而不是死死的寫啥展示啥,有了這個方向的發展,其實前後端就有了分離的可能。
越來越多的資料處理需求
在網際網路使用者越來越多以後,每一條請求每一條資料都需要服務端來計算,渲染等,伺服器需要減負,而減負的方法就是讓每個客戶端來處理一些公開的資料處理。這樣就可以最好的做到均衡,我客戶端只處理一些我自己的事情,也不累,可很快,而服務端就可以大大的提高硬體效率。
模組化
在頁面端處理越來越多的邏輯後,前端的請求越來越多,頁面中的邏輯計算也越來越多。在前端處理越來越多的請求,處理越來越多的資料以後,往往單張頁面也會變得很複雜,很累贅。所以前端工程化模組化也就應運而生了。像現在的主流框架vue、angular、react都是此類優秀的解決方案。
SSR(服務端渲染)
而模組化工程化後,帶來了兩個問題
1.搜尋引擎seo問題。因為很多模組化工程化都十分依賴js,很多都是按需載入,頁面中沒有許多搜尋引擎需要的關鍵字,這樣一來很多對外的,to C端客戶的頁面被點開的頻率就會降低。
2.過多的網路請求下,資料量過多的情況下我的頁面被開啟的速度大大降低了,由於網路速度的限制以及多條請求的耗時(要知道完成一次前後端互交瀏覽器與伺服器之間是有多次交流的,可參閱網路請求協議)
為了解決這兩個問題,所以就有了SSR。react有next.js vue有nuxt.js 還有許多原生的/node端的SSR解決方案。
結語
以上就是我目前想道的前端發展中產生的一些想法。比較籠統,比較大方向。
當然,這是一條線下來的,中間還有許多發展分支沒有提到,如:
1.前後端分離的node中間島概念
2.APP相關的hybird混合開發
3.Dcloud、reactNative、ionic之類的直接打包app
4.解決js單執行緒原因造成頁面卡頓而產生的promise非同步方法
5.electron、nw.js之類的桌面應用打包方法
6.手機應用便捷的小程式
...
等等
前端要學習有很多,就以上提到發展來說大家都可以看到,技術是不斷完善的。總是會有問題會出現,也總會有解決辦法。程式設計師不就是一個不斷挖坑和填坑的職業麼,所以不要在任何時候對技術放棄信心,他總會有解決的辦法方案,學習再學習