1. WEB前端能做什麼
一、你得自己先弄清楚Web前端是什麼。
早期互聯網時代,電腦端的網站頁面主要以靜態為主,相對來說也沒那麼復雜。而現在隨著網路信息逐漸豐富,網頁發生了很大的變化,企業更加註重用戶交互,各種產品層出不窮,好產品想要長久發展,用戶體驗就變得尤為重要,特別是移動端產品。
二、Web前端技術主要包括HTML5、CSS3、Less、Sass、響應式布局、移動端開發、以及Ps設計等,更高級的前端開發人員還需要掌握JavaScript 語言、Mysql、Mongodb資料庫開發、vue.js、webpack、elementui等前端框架技術。
三、學完Web前端開發後,可以從事網站前端工程師、網頁製作工程師、前端製作工程師、網站重構工程師、前端開發工程師等工作,這些方向算是一個網站前端最基本的選擇了。也可以從事資深網站架構師,對於一個大局觀好、悟性好、知識面廣的前端工程師來說,走網站架構師是一個非常好的路線。當然,你也可以自己創業,或轉崗管理和其他崗位。
如果堅定了學習的信念,非計算機專業的零基礎想要轉行,建議還是選擇找一個專業的培訓機構進行系統的學習。因為培訓機構的學習,有專業方向的老師隨時解疑答惑,有合理的課程大 綱,有良好的學習氛圍,有專業的就業指導,這些都可以幫助你入行互聯網,找准自己的職業規劃。是最快速高效的一個途徑。
2. 常見的前端集成部署方案有哪些各自的優缺點是什麼
前端行業經歷了這么長時間的發展,技術元素非常豐富,這里列舉出一般web團隊需要用到的技術元素:
開發規范:包括開發、部署的目錄規范,編碼規范等。不要小瞧規范的威力,可以極大的提升開發效率,真正優秀的規范不會讓使用者感到約束,而是能幫助他們快速定位問題,提升效率。
模塊化開發:針對js、css,以功能或業務為單元組織代碼。js方面解決獨立作用域、依賴管理、api暴露、按需載入與執行、安全合並等問題,css方面解決依賴管理、組件內部樣式管理等問題。是提升前端開發效率的重要基礎。現在流行的模塊化框架有requirejs、seajs等。
組件化開發:在模塊化基礎上,以頁面小部件(component)為單位將頁面小部件的js、css、html代碼片段放在一起進行開發、維護,組件單元是資源獨立的,組件在系統內可復用。比如頭部(header)、尾部(footer)、搜索框(searchbar)、導航(menu)、對話框(dialog)等,甚至一些復雜的組件比如編輯器(editor)等。通常業務會針對組件化的js部分進行必要的封裝,解決一些常見的組件渲染、交互問題。
組件倉庫:有了組件化,我們希望將一些非常通用的組件放到一個公共的地方供團隊共享,方便新項目復用,這個時候我們就需要引入一個組件倉庫的東西,現在流行的組件庫有bower、component等。團隊發展到一定規模後,組件庫的需求會變得非常強烈。
性能優化:這里的性能優化是指能夠通過工程手段保證的性能優化點。由於其內容比較豐富,就不在這里展開了,感興趣的同學可以閱讀我的這兩篇文章 [1] [2]。性能優化是前端項目發展到一定階段必須經歷的過程。這部分我想強調的一點是性能優化一定是一個工程問題和統計問題,不能用工程手段保證的性能優化是不靠譜的,優化時只考慮一個頁面的首次載入,不考慮全局在宏觀統計上的優化提升也是片面的。
項目部署:部署按照現行業界的分工標准,雖然不是前端的工作范疇,但它對性能優化有直接的影響,包括靜態資源緩存、cdn、非覆蓋式發布等問題。合理的靜態資源資源部署可以為前端性能帶來較大的優化空間。
開發流程:完整的開發流程包括本地開發調試、視覺效果走查確認、前後端聯調、提測、上線等環節。對開發流程的改善可以大幅降低開發的時間成本,工作這些年見過很多獨立的系統(cms系統、靜態資源推送系統)將開發流程割裂開,對前端開發的效率有嚴重的阻礙。
開發工具:這里說的工具不是指IDE,而是工程工具,包括構建與優化工具、開發-調試-部署等流程工具,以及組件庫獲取、提交等相關工具,甚至運營、文檔、配置發布等平台工具。前端開發需要工具支持,這個問題的根本原因來自前端領域語言特性(未來我會單獨寫一篇文章介紹前端領域語言缺陷問題)。前端開發所使用的語言(js、css、html)以及前端工程資源的載入與定位策略決定了前端工程必須要工具支持。由於這些工具通常都是獨立的系統,要想把它們串聯起來,才有了yeoman這樣的封裝。前面提到的7項技術元素都直接或間接的對前端開發工具設計產生一定的影響,因此能否串聯其他技術要素,使得前端開發形成一個連貫可持續優化的開發體系,工具的設計至關重要。
3. 前端跨域解決方案有哪些
處理跨域方法一——JSONP
1.JSONP原理
利用script元素的這個開放策略,網頁可以得到從其他來源動態產生的 JSON 數據。JSONP請求一定需要對方的伺服器做支持才可以。
2.JSONP和AJAX對比
JSONP和AJAX相同,都是客戶端向伺服器端發送請求,從伺服器端獲取數據的方式。但AJAX屬於同源策略,JSONP屬於非同源策略(跨域請求)
3.JSONP優缺點
JSONP優點是兼容性好,可用於解決主流瀏覽器的跨域數據訪問的問題。缺點是僅支持get方法具有局限性。
4.JSONP的流程(以第三方API地址為例,不必考慮後台程序)
聲明一個回調函數,其函數名(如fn)當作參數值,要傳遞給跨域請求數據的伺服器,函數形參為要獲取目標數據(伺服器返回的data)。
創建一個
伺服器接收到請求後,需要進行特殊的處理:把傳遞進來的函數名和它需要給你的數據拼接成一個字元串,例如:傳遞進去的函數名是fn,它准備好的數據是fn([{「name」:「jianshu」}])。
最後伺服器把准備的數據通過HTTP協議返回給客戶端,客戶端再調用執行之前聲明的回調函數(fn),對返回的數據進行操作。
處理跨域方法二——CORS
1.CORS原理
整個CORS通信過程,都是瀏覽器自動完成,不需要用戶參與。對於開發者來說,CORS通信與同源的AJAX通信沒有差別,代碼完全一樣。瀏覽器一旦發現AJAX請求跨源,就會自動添加一些附加的頭信息,有時還會多出一次附加的請求,但用戶不會有感覺。因此,實現CORS通信的關鍵是伺服器。只要伺服器實現了CORS介面,就可以跨源通信。
2.CORS優缺點
CORS要求瀏覽器(>IE10)和伺服器的同時支持,是跨域的根本解決方法,由瀏覽器自動完成。
優點在於功能更加強大支持各種HTTP Method,缺點是兼容性不如JSONP。
處理跨域方法三——WebSocket
Websocket是HTML5的一個持久化的協議,它實現了瀏覽器與伺服器的全雙工通信,同時也是跨域的一種解決方案。WebSocket和HTTP都是應用層協議,都基於 TCP 協議。但是 WebSocket 是一種雙向通信協議,在建立連接之後,WebSocket 的 server 與 client 都能主動向對方發送或接收數據。同時,WebSocket 在建立連接時需要藉助 HTTP 協議,連接建立好了之後 client 與 server 之間的雙向通信就與 HTTP 無關了。
原生WebSocket API使用起來不太方便,我們使用Socket.io,它很好地封裝了webSocket介面,提供了更簡單、靈活的介面,也對不支持webSocket的瀏覽器提供了向下兼容。
處理跨域方法四——postMessage
如果兩個網頁不同源,就無法拿到對方的DOM。典型的例子是iframe窗口和window.open方法打開的窗口,它們與父窗口無法通信。HTML5為了解決這個問題,引入了一個全新的API:跨文檔通信 API(Cross-document messaging)。這個API為window對象新增了一個window.postMessage方法,允許跨窗口通信,不論這兩個窗口是否同源。postMessage方法的第一個參數是具體的信息內容,第二個參數是接收消息的窗口的源(origin),即"協議 + 域名 + 埠"。也可以設為*,表示不限制域名,向所有窗口發送。
4. web前端主要是做什麼的
首先,前端不容易;它可能是最容易入門的編程行當了。但也是編程人員,也累,面對的問題也多,如果你被別人忽悠說簡單,請三思,慎重;選擇培訓機構要慎重。
其次,這個行當跟外面賣力氣的區別是你坐在屋裡賣力氣,需要的是邏輯思維能力,如果不善於舉一反三,職業生涯很容易遇到瓶頸。
最後,這行工資比傳統行業入門工資高,也就是錢多,但是目前來看,是青春飯,大約能做到三十四五歲,如果沒能晉升管理層,後面找工作就難了。
5. 前端什麼框架更好用
bootstrap框架,這個應該是所有前端開發都知道並用過的一個框架了,應為這個是目前最流行的框架,使用最廣,網上文檔資料模板最多最容易查找的了。它提供了很多流行的樣式簡潔的UI組件,柵格系統以及一些常用的JavaScript插件,簡潔、直觀、強悍,讓web開發更迅速、簡單。
Foundation 是一個易用、強大而且靈活的響應式前端框架,用於構建基於任何設備上的響應式網站、 Web應用和電子郵件。結構語前端的學習都是需要不斷的學習,學一天停一停相當於白學,學習效果很差,如果你想有人一起學習可以來這個扣裙,首先是132 中間是667最後是127 都是零基礎的同學,大家相互鼓勵 共同努力 只是學著玩就不建議來了!!!義化、移動設備優先、完全可定製。
Semantic UI 經過多年的努力、致力於可以用更語義化的方式構建網站、原生語言規則讓代碼更易讀易懂。
Amaze UI | 中國首個開源 HTML5 跨屏前端框架。Amaze UI 以移動優先(Mobile first)為理念,組件豐富,模塊化;本地化支持, 關注中文排版;輕量級,高性能。官網提供有豐富的模板下載。織夢系統wap手機模塊就是用的就是這個。
SUI 是一套基於bootstrap開發的前端組件庫,同時她也是一套設計規范。通過SUI,可以非常方便的設計和實現精美的頁面。
SUI Mobile 是一套基於 Framework7 開發的UI庫。它非常輕量、精美,只需要引入我們的CDN文件就可以使用,並且能兼容到 iOS 6.0+ 和 Android 4.0+,非常適合開發跨平台Web App。
6. 對於web前端適配多端有什麼解決方案
適配多端 = 響應式設計頁面,
bootstrap 參考這個插件的響應式設計布局 或者 amaze ui 裡面都有詳細的講解響應式的原理以及用法,
7. 請問:前端開發核心技術是什麼
1.開發語言
HTML發展歷史有二十多年,歷經多次版本更新,HTML5和CSS3的出現又是一次革新,有些人認為前端開發要掌握的技能簡單,不就是製作網頁 嘛,其實不然,web前端需要掌握的核心語言xHTML+CSS+Java,Java作為最難的語言之一,許多編程高手也不敢妄 自菲薄自封精通。由於Java與html的差異性,以及靜動態分開處理的一些好處。在大公司編寫靜態效果和動態效果往往是分開由不同的人完成 的。小公司因為需要壓縮成本,就要求每個人會的越多越好,如果您想往項目經理發展,能懂一兩門**語言,絕對是錦上添花!
2.瀏覽器兼容性
互聯網目前主流瀏覽器有IE6789,Firefox,Chrome,Opera,Safari,遨遊,包括國內主流的搜狗,騰訊 TT,360,the World等等;從內核上講主要有IE的,遨遊版IE,safari,firefox以及opera的,這些都是大家常見的,如果你身邊有老網蟲喜歡收藏 瀏覽器,你翻翻他的硬碟,相信幾十款肯定是有的(或查看前端社區中的瀏覽器大全)。每種內核對代碼的解析是不完全一樣的,即使同樣內核也可能存在很大差異,如IE和遨遊版的IE。不說非主流的瀏覽器,就主流的瀏覽器要做到完全兼容,也並非易事,需要長時間的積累和測試,需要前端開發工程師對前端開發的熱愛和激情。
目前移動互聯網的發展趨勢也不容小覷,將慢慢占據互聯網的主要份額。移動互聯網最突出的好處是方便和及時,試想一下,走在某地風景很好,拍下來後自 動分享給各路好友,因此手機上的瀏覽器兼容也看刻不容緩,現在手機上的瀏覽器也是紛繁復雜,主流的UCWEB,safari,IE,3G門戶的,以及 symbian低端機的「殘缺兒童」,包括國外流行手機我們不知道的一些瀏覽器,更糟糕的是這些瀏覽器解析因為手機硬體的不同,每個瀏覽器得到的結果都是 完全不同的。
3.hack技術
由於不同的瀏覽器對CSS的解析認識不一樣,因此會導致生成的頁面效果不一樣,這個時候就需要針對不同的瀏覽器寫不同的CSS,這個過程叫CSS hack。雖然我們寫代碼都要求按照標准,不寫hack代碼,但實際工作中為了兼容主流瀏覽器,hack代碼是免不了的,所以這也應該是每個前端開發人員 必備的技能。
4.業內標准
目前Web前端開發中提到最多的就是W3C標准,這是一系列標準的集合,代表了互聯網發展的方向,也代表了前端開發的一種信仰。寫的代碼都要100%通過標准驗證,為通過標准驗證而感到自豪,會有效推動互聯網的快速發展。
5.開發工具
目前比較流行的是Dreamweaver, 其曾經風靡一時,到現在也沒有退出歷史舞台,證明DW還是有很大優勢的,尤其是針對初學者,其強大的提示功能可以幫助我們很快的熟悉並掌握網頁布局,但現 在更提倡的是純手寫代碼,既體現技能方面的卓越,也可有效避免使用DW等工具產生的冗餘代碼。