A. web前端開發常用工具有哪些
1、jQuery
jQuery由於其無限的教程,沒有跨平台/瀏覽器問題,優秀的用戶界面,大量的插件以及它的輕量,快速和快速學習等特點而脫穎而出。超過70%的受訪者選擇jQuery作為他們的前端庫,它是一個快速,輕量級和簡潔的JavaScript庫,主要用於HTML文檔遍歷、事件處理、動畫和用於快速Web開發的Ajax交互。從本質上講,jQuery最適合需要快速開發的應用程序。
2、Bootstrap
超過65%的開發者選擇Bootstrap作為他們最喜歡的框架來使用,它是一個用HTML、CSS和JS開發的開源工具包。Bootstrap的廣泛流行主要是因為它的簡單使用、優秀的社區以及大量的文章和教程、第三方插件和擴展、主題構建器等。
3、Angular
如果你打算構建一個動態且強大的單頁應用程序,Angular就是你需要的框架。Angular是高度模塊化的,因此非常適合與團隊分開大型工作,並且使測試和調試變得輕松。功能優先的方法使Angular更加專注於功能,使開發人員的工作更輕松。此外,它還有來自Google社區的出色工具和支持。
4、NPM
NPM是Node的包管理器。藉助NPM,開發人員可以安裝各種模塊進行Web開發,共享和借用軟體包,並管理私有開發。它由網站、命令行界面(CLI)和注冊表三個不同的組件組成。
5、Webpack
Webpack是現代JavaScript應用程序的模塊打包程序,它將前端開發所需的所有資源(如JavaScript、字體和圖像)集中到一個地方。如果你正在開發復雜的前端,這特別有用。你可以去通過部署具有的WebPack Web應用程序,以獲取有關的WebPack起來和運行。
除了以上工具,還有Sass、React等,根據企業所用工具的不同,你需要掌握的工具也不一樣。
B. web前端開發常用又好用的幾個軟體
前端開發是創建Web頁面或app等前端界面呈現給用戶的過程,通過HTML,CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互。Web前端的學習起來相對簡單,未來的發展前景也是非常不錯的。
web全棧工程師5.0課程包括:
①計算機基礎以及PS基礎
②前端開發基礎(HTML5開發、JavaScript基礎到高級、jQuery網頁特效、Bootstrap框架)
③移動開發
④前端高級開發(ECMAScript6、Veu.js框架開發、webpack、前端頁面優化、React框架開發、AngularJS 2.0框架開發等)
⑤小程序開發
⑥全棧開發(MySQL資料庫、Python編程語言、Django框架等)
⑦就業拓展(網站SEO與前端安全技術)
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
C. 求吧里大神推薦幾個webSocket的第三方庫
我們在用 Node.js 處理知乎主站的 web 實時推送。你現在看到的 Feed 、消息的實時更新,背後就是幾個 node 進程扛起來的。
優點:
1. 處理高並發場景性能更高
在用 socket.io 之前,推送服務是用 ajax polling 做的。我們用 Tornado 和 Node.js 做過兩個版本的推送服務。在當時的測試環境下,Node.js 的 CPU 時間是 Tornado 的三分之一,內存使用是 Tornado 的一半,代碼行數只有 Tornado 的三分之一(Node.js 版是用 coffee 寫的)。後來我們使用了 socket.io,CPU 開銷進一步降低。
2. 函數式編程非常適合寫非同步回調鏈
用 Node.js 配合 CoffeeScript 寫非同步操作鏈非常便利,相比之下 Tornado 無論是寫命名函數的回調,還是 yield 一個 Task 都沒那麼自然。
缺點:
1. 大量匿名函數使異常棧變得不好看。
2. 無法以 request 為單位 catch 異常,必須確保不要在不 catch 異常的第三方庫的回調里的拋異常,這在一個非同步操作鏈條里是一件比較麻煩的事。解決方法之一是對那些不 catch 異常的第三方庫做一些封裝,把所有的異常變成事件,改成 on('error') 形式的 API。
D. 請問web開發工具都有哪些
Web前端開發是目前非常有「錢」途的行業,不僅從業人員眾多,相應的開發工具也不斷涌現。
1、jQuery
jQuery由於其無限的教程,沒有跨平台/瀏覽器問題,優秀的用戶界面,大量的插件以及它的輕量,快速和快速學習等特點而脫穎而出。超過70%的受訪者選擇jQuery作為他們的前端庫,它是一個快速,輕量級和簡潔的JavaScript庫,主要用於HTML文檔遍歷、事件處理、動畫和用於快速Web開發的Ajax交互。從本質上講,jQuery最適合需要快速開發的應用程序。
2、Bootstrap
超過65%的開發者選擇Bootstrap作為他們最喜歡的框架來使用,它是一個用HTML、CSS和JS開發的開源工具包。Bootstrap的廣泛流行主要是因為它的簡單使用、優秀的社區以及大量的文章和教程、第三方插件和擴展、主題構建器等。
3、Angular
如果你打算構建一個動態且強大的單頁應用程序,Angular就是你需要的框架。Angular是高度模塊化的,因此非常適合與團隊分開大型工作,並且使測試和調試變得輕松。功能優先的方法使Angular更加專注於功能,使開發人員的工作更輕松。此外,它還有來自Google社區的出色工具和支持。
4、NPM
NPM是Node的包管理器。藉助NPM,開發人員可以安裝各種模塊進行Web開發,共享和借用軟體包,並管理私有開發。它由網站、命令行界面(CLI)和注冊表三個不同的組件組成。
5、Webpack
Webpack是現代JavaScript應用程序的模塊打包程序,它將前端開發所需的所有資源(如JavaScript、字體和圖像)集中到一個地方。如果你正在開發復雜的前端,這特別有用。你可以去通過部署具有的WebPack Web應用程序,以獲取有關的WebPack起來和運行。
除了以上工具,還有Sass、React等,根據企業所用工具的不同,你需要掌握的工具也不一樣。但熟練應用這些工具的前提是你具備扎實的理論基礎,
希望對您有所幫助!~
E. Web前端開發一般應用什麼軟體
現在單純的學web前端前景不大哦,
想要在將來的工作上有更好的升值空間,建議是web+java相結合~
也就是說前端和後端要一起學。
F. Web前端開發與iOS終端開發的異同
語言
前端和終端作為面向用戶端的程序,有個共同特點:需要依賴用戶機器的運行環境,所以開發語言基本上是沒有選擇的,不像後台想用什麼就用什麼,iOS只能用Objective-C,前端只能javascript,當然iOS還可以用RubyMotion,前端還能用GWT/CoffieScript,但不是主流,用的人很少,真正用了也會多出很多麻煩。
這兩者有個有意思的對比:變數/方法命名的風格正好相反。蘋果一直鼓吹用戶體驗,寫代碼也不例外,程序命名都是用英文全稱並且要多詳細有多詳細,力求看變數和方法名就能知道是幹嘛的,例如application:didFinishLaunchingWithOptions:。而js因為每次都要從網路下載,要力求減少代碼體積,所以變數方法名是盡量用縮寫,實際上有代碼壓縮工具,無論變數名寫多長最終上線的效果是一樣的,但大家也都習慣了用短的命名,例如上述objc的application:didFinishLaunchingWithOptions:方法在js里習慣的命名是:$()。
objc與js都是動態語言,使用起來還蠻像,但objc是編譯型,速度快,很多錯誤也能在編譯過程中被發現,js是解釋型,性能依賴於解釋引擎,即使在強勁的v8引擎下性能也趕不上編譯型語言,語言太動態,變數完全沒有類型,寫起來爽,debug起來稍微費點勁。一直感覺js輕巧靈活放盪不羈充滿各種奇技淫巧,objc中規中矩沒c++ java那麼嚴肅也沒有js那麼靈活。
線程
前端開發幾乎不需要線程這個概念,瀏覽器實現上頁面HTML和CSS解析渲染可能與js不在同一個線程,但所有js代碼只執行在一條線程上,不會並發執行,也就不需要考慮各種並發編程的問題。在新的JS特性中可以創建worker任務,這樣的任務是可以另起一條線程並行執行的,但由於並不是所有瀏覽器都支持,不同線程傳遞數據各個標準定的還不一樣,使用場景也少,似乎沒有大規模用起來。對於資料庫操作/發送網路請求這樣的任務是在不同於js代碼執行線程的,不過這些都由瀏覽器管理,前端無需關心也無法影響這些線程,只需接收事件回調,不需要處理任何並發問題。
終端開發需要大量使用多線程,iOS有一條主線程,UI渲染都在這個線程,其他耗時長的邏輯或者資料庫IO/網路請求都需要自己另開線程執行,否則會佔用主線程的時間,導致界面無法響應用戶交互事件,或者渲染慢導致滾動卡頓。程序邏輯分布在多個線程里跑,需要處理好各種代碼並發執行可能帶來的數據不一致/時序錯亂之類的問題,並發也導致有些bug難以排查,一不留神就掉坑,需要適當用一些隊列/鎖保證程序的執行順序。iOS提供了一套多線程管理的方法GCD,已經把線程和隊列封裝得非常簡單易用功能強大,比其他端或後台是好很多了,但還是會花大量功夫在處理多線程問題上。
存儲
終端開發需要大量的數據存儲邏輯,手機APP不像瀏覽器,用戶打開瀏覽器必定是連著網,但打開一個APP時很可能是離線,也很可能處於網路狀況極差的移動GPRS,所以必須把之前請求回來的數據保存好。保存數據後又需要與服務端最新的數據同步,如果全量同步數據量太大,耗流量速度也慢,於是需要增量同步,需要與服務端一起制定實現增量數據返回的方案,需要處理好客戶端與服務端數據一致性的問題。當數據存儲量大結構復雜時,還需要利用好有限的內存做cache,優化各類存儲查詢性能。
前端在桌面端很少需要存儲,除非是Single Page App,不存儲自然就不需要數據更新的一系列工作,數據都是從後台取出拼接後直接顯示到頁面上,即使像微博有可以在頁面內不斷載入更多數據,數據也只存在於內存,不會持久化存儲,因為桌面端網速穩定,不計流量,所有數據可以直接從後端拿取,客戶端沒必要再做一套存儲。移動端那些做得很像原生APP的Web應用就跟終端開發一樣了,數據同樣保存到SQLite,存儲邏輯以及要處理的問題都差不多。
框架
在第三方框架上Web前端和iOS開發完全相反,Web原生弱小又十分開放,讓大量第三方框架和類庫可以施展拳腳,而iOS原生強大又十分封閉,導致第三方框架沒有多少生存空間。
瀏覽器一開始只為內容型的網頁而設計,js也只是這個網頁上能加點小特效的腳本語言,在Web應用時代跟不上發展,需要很多第三方庫和框架輔助,再加上前端開發是完全開放的領域,導致庫和框架百花齊放多如牛毛,在初期多數庫的作用集中在封裝dom操作,大家不斷重復造dom操作基礎庫的輪子,在一段時間百家爭鳴後獨尊jQuery,在有使用庫的網站中90%以上使用jq,幾乎成了個標准基礎庫。後期大家已經不再重復造這個基礎庫的輪子了,多了一些代碼組織和前端架構的框架,例如一些幫助項目模塊化的框架require.js,MVC框架backbone/angular.js等。
iOS開發蘋果已提供了完整的開發框架cocoa,而這框架在每一代系統中都在升級優化和添磚加瓦,開發模式也已經定型,第三方框架沒有多少生存空間,大量流行的開源項目是一些通用組件和庫,像網路請求庫AFNetworking,資料庫操作庫FMDB。而一些大的框架像beeFramework/ReactiveCocoa較難流行起來。
兼容
前端開發需要兼容大——量的瀏覽器,桌面的chrome,safari,ie6-ie10,firefox,以及各種套殼獵豹360等瀏覽器,移動端iOS/Android各自的瀏覽器,以及無限的不同的屏幕尺寸。看起來挺可怕,實際上也沒那麼難搞,只是拿出來嚇唬下人。桌面端chrome/safari以及各種套殼的極速模式用的都是Webkit,差異很小,firefox也大體遵從標准實現,與Webkit差別不大,舊的ie6/7就需要特別照顧,不過很多網站都不支持ie6了,移動端更是一家親,全是Webkit,除了新特性上的支持程度不一,其他差異不大。對於不同的屏幕尺寸,高端點的會用響應式布局,針對不同屏幕尺寸自適應到不同布局,一般點的桌面端定死寬度,移動端拉伸自適應寬度就搞定。
終端開發也需要兼容各種不同的系統版本和手機尺寸,Android不用說,iOS也有3.5/4/4.7/5.5/9.7英寸這些尺寸,不過兼容起來跟Web一樣挺容易,就是自適應寬度,iOS的UIKit把這些都處理好了,還有autolayout,sizeClass等高級特性可用,在尺寸上並不用花太多功夫。系統版本上iOS7為分水嶺,iOS7前後版本UI上差異比較大,需要做一些功夫兼容,不過iOS用戶更新換代很快,預計再過一兩年iOS7以下用戶就可以忽略了。
性能
終端和前端都是面向用戶的,性能優化目的都是盡快呈現內容,以及讓程序在用戶操作下流暢運行。終端主要關注的是存儲/渲染性能。當一個APP存儲數據量大,數據關系復雜時,數據查詢很容易成為性能瓶頸,需要不斷優化數據存取的效率,規劃數據IO線程,設計內存cache,利用好終端設備有限的內存,渲染上避免重復渲染,盡可能復用視圖,尋找最高效的渲染方案。
前端關注頁面載入速度,由於Web頁面的結構/樣式/程序/資源圖片都是實時請求的,要讓頁面更快呈現內容,就要優化這些請求,讓這些資源以最快速度載入下來,包括合並圖片/合並代碼減少請求數,壓縮代碼,並行請求,根據版本號緩存代碼請求,gzip壓縮,模塊/圖片懶載入等。此外跟終端一樣也關注渲染性能,遵從一些規則避免頁面reflow,避免使用CSS陰影這樣耗性能的特效,用CSS3動畫代替js等。
編譯
終端開發需要編譯的過程,把程序編譯成機器語言,再與各種庫鏈接後生成平台對應的可執行文件,最後由操作系統調度執行。在iOS終端開發中編譯和鏈接的規則蘋果已經在xcode這個開發工具上封裝好,一般開發可以不用關心,但有深層需求時還是需要跟編譯打很多交道,例如用編譯前端Clang自定義靜態代碼檢測規則,寫編譯腳本做自動化編譯和持續集成,打包生成靜態庫,根據鏈接後的可執行文件的組成優化APP體積等。
前端開發的程序則不需要編譯過程,只需要把代碼扔給瀏覽器,瀏覽器邊解析代碼邊執行。雖然js/css代碼寫完無需做任何事情瀏覽器就可以解析執行,但為了上面說的性能優化,前端代碼上線前會對所有代碼和資源文件進行處理,這些處理包括:壓縮合並js/css,合並css sprite圖,處理模塊依賴,處理代碼資源版本號,處理資源定位等。這個過程很像傳統程序的編譯,把給人看的代碼優化處理成給機器看的,並解決一些依賴關系,可以算是前端的編譯過程。像grunt.js/fis這些工具可以幫助完成這個編譯過程,通常前端編譯跟上線部署結合在一起,作為上線系統的一部分。
安全
前端和終端的安全性問題上雖然不需要像後端考慮得那麼多,但還是有些需要注意。在請求的安全上,終端和前端都一樣,用戶向後端發送的請求都需要經過層層路由,不知道在哪裡就被截獲篡改或回放了,於是需要做一些措施防禦這些情況,最常見的就是身份驗證,多是採用會過期的token形式代替用戶名密碼,防止被抓包後黑客可以永遠登陸這個賬號。數據安全要求高的會用加密傳輸,或者使用https,另外還需要看情況處理一些DNS劫持,運營商廣告植入等問題。
其他安全問題終端很少考慮,在未越獄的iOS機器上系統已經幫忙保證了整個APP運行環境的安全,而在越獄的機器下惡意程序擁有root許可權可以做任何事情,APP也難以防範。前端方面瀏覽器的特性使前端開發有幾個安全隱患,一是Web頁面上任意位置都可以動態插入js代碼,瀏覽器會無區別地執行這些代碼,二是身份驗證信息都統一保存在cookie里,三是頁面上可以隨意通過iframe嵌入其他網站的頁面。造成XSS、CSRF、cookie劫持這些攻擊手段,所以前端寫代碼時都需要考慮還這些安全問題,做好相應的防範,最簡單和重要的防範就是對所有用戶輸入輸出的內容做完整的過濾,避免頁面內被嵌入惡意代碼。
交互/開發
最後說下對這兩個領域在交互和開發上的個人感觸。以前在做Web前端時,感覺Web讓人機交互倒退了十年,交互都是硬邦邦的點擊—啪一下出來結果,滾動是一格格地刷新,很多人當時在鼓吹html5可以做出多麼炫的效果時,實際上FLASH在十年前就可以做出來了,還比最現代的瀏覽器更流暢。iPhone流行後,人機交互終於恢復了應有的水平,體驗上比Web流暢太多,指尖交互/流暢的動畫/便捷的滑動手勢/無限制的實現,主流終於恢復或超越了十年前Flash的水平。
但人機交互提升了,開發方式卻大倒退,Web的開發方式非常先進,用戶用到的都是最新版本,發現bug可以馬上上線秒修復,特別適用於互聯網環境下的快速迭代,而終端APP不行,撇開iPhone的審核不說,Android也無法做到保證用戶用的是最新的程序,用的都是傳統的客戶端更新的方式,bug的修復版無法及時給到用戶,無法一天上線幾十次,需要維護很多舊版本,開發方式倒退回Web時代以前。這都是因為移動網路不穩定以及流量有限造成的,移動端無法像桌面端瀏覽器那樣完全依賴網路,所以在移動網路穩定流量免費之前,開發方式都不會有多大變化。
另外並不看好HTML5,網路上說它可以取代APP說了三四年,到現在也沒什麼戰績,我看不到它的優勢,原生APP可以獲得更多的系統資源,更流暢的人機交互體驗,HTML5在這方面永遠比不上,而它在移動端網路和流量的限制下也無法發揮Web的開發優勢,所以它不會成為主流,只適合做一些輕量的小東西。
G. web前端 和java
舉個例子,對於廣告系統的來說, 我們先不管一些job,CACHE,config ... 這些優化,些框架和分層可以是這樣的,
MVC的技術選型:
V: FreeMarker vs JSP / Velocity
C: SpringMVC vs Struts / Webwork
M: SPRING/JPA/Hibernate vs iBatis
2 前端V的架構
前端開發剛興起的階段,前端開發人員的工作經常穿插在後端開發過程中擔任輔助作用的,隨著業務越來越復雜,前端必須有自己的開發框架和流程,使得後端專注於服務類的開發,前端專注於與用戶交互類的開發。
WEB前端從概念上劃分為三個層次:結構、表現、和行為。三層相對獨立,互不影響。在物理上層面上分別對應HTML、CSS、JS三種不同的的文件格式。
HTML:負責定義網頁的結構,內容
CSS:負責內容的展現方式
JS:負責網頁關於動態的行為反應
好的層次劃分對前端的開發也很關鍵。顯示內容問題的唯一來源應該是html文件定義的,內容展示問題的唯一來源應該是CSS文件定義的,行為問題的唯一來源應該是javascript文件定義的,各司其職相互獨立。但是他們是相關的,因為行為和樣式無法與結構分離,必須寫在同一個文件里。這種情況下,首先還是你要把行為和樣式從html標簽中分開,然後在html文件中引入。
前端開發的核心是HTML + CSS + JavaScript。本質上它們構成一個MVC框架,即HTML作為信息模型(Model),CSS控制樣式(View),JavaScript負責調度數據和實現某種展現邏輯(Controller)。
1)結構層
在java領域,表現層技術主要有三種:jsp、freemarker、velocity。
(1) jsp(Java Server Pages)
它是在傳統的網頁HTML文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP標記(tag),它實現Html語法中的java擴展(以 <%, %>形式)。從而形成JSP文件,後綴名為(.jsp)。因為java具有跨平台特點, 用JSP開發的Web應用是跨平台的,既能在Linux下運行,也能在其他操作系統上運行。JSP與Servlet一樣,是在伺服器端執行的,最終都要變.class文件,通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。
優點:
可以寫java代碼
支持jsp標簽(jsp tag)
支持表達式語言(el)
官方標准,用戶群廣,豐富的第三方jsp標簽庫
性能良好,jsp編譯成class文件執行,有很好的性能表現
缺點:
編寫java代碼,如使用不當容易破壞mvc結構。
(2) Freemarker
它生成靜態頁面,首先需要使用自己定義的模板頁面,這個模板頁面可以是最最普通的html,也可以是嵌套freemarker中的 取值表達式, 標簽或者自定義標簽等等,然後後台讀取這個模板頁面,解析其中的標簽完成相對應的操作, 然後採用鍵值對的方式傳遞參數替換模板中的的取值表達式,做完之後 根據配置的路徑生成一個新的html頁面, 以達到靜態化訪問的目的。
模板+數據模型=輸出,模板只負責數據在頁面中的表現,不涉及任何的邏輯代碼,而所有的邏輯都是由數據模型來處理的。用戶最終看到的輸出是模板和數據模型合並後創建的。
FreeMarker與Web容器無關,即在Web運行時,它並不知道Servlet或者其他。
優點:
可以徹底的分離表現層和業務邏輯,使用JSP 開發過程中在頁面中大量的存在業務邏輯的代碼,使得頁面內容凌亂,在後期大量的修改維護過程中就變得非常困難。FreeMarker根本不支持Java代碼。
可以提高開發效率,JSP在第一次執行的時候需要轉換成Servlet類,開發階段進行功能調適時,需要頻繁的修改JSP,每次修改都要編譯和轉換 。FreeMarker模板技術不存在編譯和轉換的問題,開發過程中,後端不必在等待界面設計開發人員完成頁面原形後,再來開發程序。
對jsp標簽支持良好
內置大量常用功能,比如html過濾,日期金額格式化等等
使用表達式語言 (EL)
缺點:
不是官方標准
用戶群體和第三方標簽庫沒比jsp豐富
使用FreeMarker後,作為界面開發人員,只專心創建HTML文件、圖像以及Web頁面的其他可視化方面,不用理會數據;而程序開發人員則專注於系統實現,負責為頁面准備要顯示的數據。
還有一些像velocity這樣較早出現的用於代替jsp的模板語言 ... ...
2) 表現層CSS
結構搭建之後,就是為他們添加樣式表屬性。它實現的是頁面內容和現實樣式分離,所有的CSS都是非必需的,就算無法應用CSS或CSS沖突,網頁也能夠正常訪問。
為了管理的方便,可以將不同樣式進行拆分,比如可以拆分為全局樣式,結構布局樣式,色彩樣式,文字樣式和重置樣式。css在開發時代碼採用了規范的形式,比如有注釋,縮進等,這樣,這些文件的大小比較大,為了減少網路流量,提高網頁的下載速度,一般發布時需要對javascript和css進行壓縮處理,我們將樣式文件進行合並壓縮,目的是減少與伺服器交互的時間和次數。如http://www.jb51.net/tools/cssyasuo.shtml可以在線進行壓縮。
樣式混合使用選擇:
有關整個網站統一的樣式代碼,放置在獨立的樣式文件中.css
某些樣式不同的頁面,除了鏈接外部樣式文件,還需要自定義的樣式
某張網頁中,部分內容如果需要一種不同,採用內行樣式
) 行為層 javaScript
常見的也是最有名的javascript 框架,其實准確來說應該是庫:
(http://www.ibm.com/developerworks/cn/web/1404_wangfx_jsframeworks/)
jQuery
jQuery 是目前用的最多的前端 JAVASCRIPT 類庫,它是比較輕量級的類庫,對 DOM 的操作也比較方便到位,支持的效果和控制項也很多。同時,基於 jQuery 有很多擴展項目,包括 jQuery UI(jQuery 支持的一些控制項和效果框架)、jQuery Mobile(移動端的 jQuery 框架)、QUnit(JavaScript 的測試框架)。這些補充使得 jQuery 框架更加完整,而且這些擴展與目前的框架基本都是兼容的,可以交叉使用,使得前端開發更加豐富。
Ext
相比 jQuery,Ext JS 更重量級,有幾個兆的文件,使得 Ext 在開發中成為的弊端和累贅。但是,另一方面,在 Ext JS 龐大的文件背後是 Ext JS 強大的功能。Ext JS 的控制項和功能可以說強大和華麗到的程度。圖表、菜單、特效,Ext JS 的控制項庫非常豐富,同時它的交互也非常強大,獨立靠 Ext JS 幾乎就可以取代控制層完成於客戶的交互。強大的功能,豐富的控制項庫,華麗的效果也使得 Ext JS 成為內網開發利器。
YUI
YUI 也有自己的 JavaScript 類庫,DOM 操作和效果處理也還比較方便,功能和控制項也很齊全,但是相比 jQuery 和 Ext JS 顯得比較中庸一些。隨著 Yahoo的沒落,YUI 也漸漸的被淡化。
目前前端框架主要採用 JavaScript+CSS 模式。基於上面的幾種javascript庫,我們可以基於JQuery框架搭建起一個java web前端系統的框架。如叢林的前端就是COS-UI+jQuery搭建起來的,再利用插件ztree實現品類樹在前端的展示。
jquery對javascript的封裝
JQuery能大大簡化Javascript程序的編寫,主要表現:
定位元素
JS寫法:
document.getElementById("abc")
jQuery寫法:
$("#abc") 通過id定位
$(".abc") 通過class定位
$("div") 通過標簽定位
改變元素的內容
JS寫法:
abc.innerHTML = "TEST";
jQuery寫法:
abc.html("TEST");
顯示隱藏元素
JS 寫法:
abc.style.DISPLAY = "none";
abc.style.DISPLAY = "BLOCK";
jQuery 寫法:
abc.HIDE();
abc.SHOW();
abc.TOGGLE();
修改元素樣式
JS寫法:
abc.STYLE.fontSize=size;
jQuery寫法:
abc.css('font-size', 20);
Ajax
JS
自己創建對象,自己處理瀏覽器兼容等亂七八糟的問題,略去不表
jQuery
$.get("abc.php?a=1&b=2", recall);
postvalue = "a=b&c=d&abc=123";
$.POST("abc.php", postvalue, recall);
FUNCTION recall(RESULT) {
ALERT(result);
//如果返回的是json,則如下處理
//result = eval('(' + result + ')');
//ALERT(result);
}
獲得焦點
為表單賦值
獲得表單的值
設置元素不可用
3) 瀏覽器的渲染
4)web前端開發流程
H. web前端有哪些第三方庫
主要包括三個要素:HTML、CSS和JavaScript,這就要求前端開發工程師不僅要掌握基本的Web前端開發技術,網站性能優化、SEO和伺服器端的基礎知識,而且要學會運用各種工具進行輔助開發以及理論層面的知識,包括代碼的可維護性、組件的易用性、分層語義模板和瀏覽器分級支持等。
I. web前端開發需要用到的工具有哪些
最常用的就是dreamweaver,一般是dreamweaver cs6,cs6目前是功能比較強大,問題比較少的了,dw有一個比較方便的就是可視化編程,可以邊看效果邊敲代碼,還有自動提示 代碼的功能.
還有就是ediplus,這個其實就相當於一個字體有顏色的記事本,因為dw佔用內存太多了,搞的電腦卡,所以我直接用 ediplus寫代碼,還有就是eclipse可以寫java、php還有 上面的各種代碼!Zend Studio 是專門寫php的,但是上面這2種工具比較專業,是我們專業開發人員用的,所以大家自己看著辦.Photoshop這個就不用說了。
J. web前端中,vue和react哪個現在市場需求比較大
vue
Google 前工程師尤雨溪於 2014 年創建了這個框架。Vue是一套用於構建用戶界面的漸進式框架。與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注視圖層,不僅易於上手,還便於與第三方庫或既有項目整合。
react
與 Vue 不同,react 庫是由 Facebook 創建的。最初是為了 Facebook 廣告流量管理創建的。那時 Facebook 遇到了維護和編碼方面的問題。它以動態創建和互動式 UI 的能力而聞名。
2.核心思想
vue與react都推崇組件式的開發理念,但是在設計的核心思想上有很大差別。
vue
vue的整體思想仍然是擁抱經典的html(結構)+css(表現)+js(行為)的形式,vue鼓勵開發者使用template模板,並提供指令供開發者使用(v-if、v-show、v-for等等),因此在開發vue應用的時候會有一種在寫經典web應用(結構、表現、行為分離)的感覺。另一方面,在針對組件數據上,vue2.0通過Object.defineProperty對數據做到了更細致的監聽,精準實現組件級別的更新。
react
react整體上是函數式的思想,組件使用jsx語法,all in js,將html與css全都融入javaScript,jsx語法相對來說更加靈活,我一開始剛轉過來也不是很適應,感覺寫react應用感覺就像是在寫javaScript。當組件調用setState或props變化的時候,組件內部render會重新渲染,子組件也會隨之重新渲染,可以通過shouldComponentUpdate或者PureComponent可以避免不必要的重新渲染(個人感覺這一點上不如vue做的好)。
3.組件形式
vue
vue組件定義使用xx.vue文件來表示,vue組件將html、css、js組合到一起,模板部分使用數據使用{{}},形式如下:
以上就是我關於react和vue的一些對比以及個人建議