A. 前端開發必學的技術有哪些
這里給大家整理了一份系統全面的前端學習路線,主要掌握以下技術:
第一階段:專業核心基礎
階段目標:
1. 熟練掌握HTML5、CSS3、Less、Sass、響應書布局、移動端開發。
2. 熟練運用HTML+CSS特性完成頁面布局。
4. 熟練應用CSS3技術,動畫、彈性盒模型設計。
5. 熟練完成移動端頁面的設計。
6. 熟練運用所學知識仿製任意Web網站。
7. 能綜合運用所學知識完成網頁設計實戰。
知識點:
1、Web前端開發環境,HTML常用標簽,表單元素,Table布局,CSS樣式表,DIV+CSS布局。熟練運用HTML和CSS樣式屬性完成頁面的布局和美化,能夠仿製任意網站的前端頁面實現。
2、CSS3選擇器、偽類、過渡、變換、動畫、字體圖標、彈性盒模型、響應式布局、移動端。熟練運用CSS3來開發網頁、熟練開發移動端,整理網頁開發技巧。
3、預編譯css技術:less、sass基礎知識、以及插件的運用、BootStrap源碼分析。能夠熟練使用 less、sass完成項目開發,深入了解BootStrap。
4、使用HTML、CSS、LESS、SASS等技術完成網頁項目實戰。通過項目掌握第一階段html、css的內容、完成PC端頁面設計和移動端頁面設計。
第二階段:Web後台技術
階段目標:
1. 了解JavaScript的發展歷史、掌握Node環境搭建及npm使用。
2. 熟練掌握JavaScript的基本數據類型和變數的概念。
3. 熟練掌握JavaScript中的運算符使用。
4. 深入理解分之結構語句和循環語句。
5. 熟練使用數組來完成各種練習。
6.熟悉es6的語法、熟練掌握JavaScript面向對象編程。
7.DOM和BOM實戰練習和H5新特性和協議的學習。
知識點:
1、軟體開發流程、演算法、變數、數據類型、分之語句、循環語句、數組和函數。熟練運用JavaScript的知識完成各種練習。
2、JavaScript面向對象基礎、異常處理機制、常見對象api,js的兼容性、ES6新特性。熟練掌握JavaScript面向對象的開發以及掌握es6中的重要內容。
3、BOM操作和DOM操作。熟練使用BOM的各種對象、熟練操作DOM的對象。
4、h5相關api、canvas、ajax、數據模擬、touch事件、mockjs。熟練使用所學知識來完成網站項目開發。
第三階段:資料庫和框架實戰
階段目標:
1. 綜合運用Web前端技術進行頁面布局與美化。
2. 綜合運用Web前端開發框架進行Web系統開發。
3. 熟練掌握Mysql、Mongodb資料庫的發開。
4. 熟練掌握vue.js、webpack、elementui等前端框技術。
5. 熟練運用Node.js開發後台應用程序。
6. 對Restful,Ajax,JSON,開發過程有深入的理解,掌握git的基本技能。
知識點:
1、資料庫知識,範式,MySQL配置,命令,建庫建表,數據的增刪改查,mongodb資料庫。深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理,為Node.js後台開發打下堅實基礎。
2、模塊系統,函數,路由,全局對象,文件系統,請求處理,Web模塊,Express框架,MySQL資料庫處理,RestfulAPI,文件上傳等。熟練運用Node.js運行環境和後台開發框架完成Web系統的後台開發。
3、vue的組件、生命周期、路由、組件、前端工程化、webpack、elementui框架。Vue.js框架的基本使用有清晰的理解,能夠運用Vue.js完成基礎前端開發、熟練運用Vue.js框架的高級功能完成Web前端開發和組件開發,對MVVM模式有深刻理解。
4、需求分析,資料庫設計,後台開發,使用vue、node完成pc和移動端整站開發。於Node.js+Vue.js+Webpack+Mysql+Mongodb+Git,實現整站項目完整功能並上線發布。
第四階段:移動端和微信實戰
階段目標:
1.熟練掌握React.js框架,熟練使用React.js完成開發。
2.掌握移動端開發原理,理解原生開發和混合開發。
3.熟練使用react-native和Flutter框架完成移動端開發。
4.掌握微信小程序以及了解支付寶小程序的開發。
5.完成大型電商項目開發。
知識點:
1、React面向組件編程、表單數據、組件通信、監聽、聲明周期、路由、Rex基本概念。練使用react完成項目開發、掌握Rex中的非同步解決方案Saga。
2、react-native、開發工具、視圖與渲染、api操作、Flutter環境搭建、路由、ListView組件、網路請求、打包。練掌握react-native和Flutter框架,並分別使用react-native和Flutter分別能開發移動端項目。
3、微信小程序基本介紹、開發工具、視圖與渲染、api操作、支付寶小程序的入門和api學習。掌握微信小程序開發了解支付寶小程序。
4、大型購物網站實戰,整個項目前後端分離開發;整個項目分為四部分:PC端網頁、移動端APP、小程序、後台管理。團隊協作開發,使用git進行版本控制。目期間可以擴展Three.js 、TypeScript。
B. js拖拽插件通過改變position或translate做位移,性能差距有多少
性能差距還是很大的特別是在移動設備上,因為大家都知道瀏覽器在處理這兩種樣式時的流水線不同。position更新進行 layout 重計算。而translate只需要對本元素的幾何數據點做偏移就好了。
不過性能最優的方式還是要為被拖拽的那個元素觸發composite layer(可以叫它合成層),因為現在瀏覽器一般都是 合成化渲染,並且大部分 光柵化(就是把元素形狀的幾何數據描述變成像素描述的過程,可以理解成矢量變成點陣圖)過程都是在CPU上進行的,如果不把被拖拽的那個元素觸發成為 合成層 那麼CPU就會重復的paint這個元素,這是不合理的(CPU paint的過程比較耗時),所以應該讓CPU盡量少的paint這個元素,最好只paint一次,之後的拖拽(也就是位移,甚至是旋轉啊、縮放啊等這些仿射變換) 都可以直接交給GPU在合成(composited)的時候來做,這也就是所謂的硬體加速機制。
合成過程就是把幾個合成層(一個合成層可以是 一個元素或多個元素組合經過CPU 光柵化後得到的圖片)根據各個層的幾何頂點信息、矩陣描述、透明度、blend效果等信息使用GPU進行重新的光柵化渲染到一張直接投影到屏幕上的圖片上(幀緩沖區 framebuffer),然而這里的光柵化是非常快的,不同於CPU的那個光柵化的過程。原因大致如下:
一、因為這個時候的渲染只是把一張現成的點陣圖合成到一起(就像紋理貼圖,可以簡單理解成像素值的簡單計算和拷貝)。而不像CPU光柵化,它是將非常復雜的幾何數據(是由瀏覽器分析dom的css樣式所得到的)通過一系列復雜的邏輯計算後得到一個像素最後得到一張圖片。
二、因為GPU有非常多個處理單元在並行的處理這些簡單的渲染,它的計算吞吐量是很大的。而CPU的處理單元非常少,做強邏輯的計算非常適合,但是做這種簡單的加減乘除計算不如GPU快(人多力量大)。
C. angularjs,vue之類的框架如何實現可視化拖拽室組件開發,效率比手寫高很多倍
mintUI:基於vue框架,這個組件可以幫助到你
使用教程:
1.找官網
2.安裝 npm install mint-ui -S -S表示 --save
3.引入mint Ui的css 和 插件
import Mint from 'mint-ui';
Vue.use(Mint);
import 'mint-ui/lib/style.css'
4.看文檔直接使用。
在mintUi組件上面執行事件的寫法@click.native
<mt-button @click.native="sheetVisible = true" size="large">點擊上拉 action sheet</mt-button>
D. 前端頁面的插件有哪些
工具類
方便操作對象,數組等的工具庫
underscore.js
lo-dash與underscore.js的api基本一致。與underscore比其優勢是,效率高;可自定義構建
Sugar在原生對象上增加一些工具方法
functional.js提夠了一些Curry的支持
Watch.js監視對象或屬性的變化
bacon.js函數式編程,cool
streamjs用流的方式來對數組,對象進行系列操作
非同步流程式控制制
eventproxy朴靈出品
Arbiter.js詳細
發布訂閱
qPromise風格的
Async.js
mock
Mock.js生成隨機數據和mock Ajax 請求
jquery-mockjaxmockajax請求
時間庫
moment
datejs
瀏覽器探測
Bowser探測具體瀏覽器和版本
ua-parser-js探測具體瀏覽器和版本,操作系統,設備類型等
調試
console-polyfill能放心的使用 console.log()之類的console方法
log讓控制台輸出的log有樣式
Konsole.js在頁面的一個元素里輸出log信息詳細
uri.jsuri操作
cookie增刪改cookie的工具庫
director前端路由庫詳細
BigDecimal.js提高精度的數字操作
JSDoc根據javascript文件中注釋的信息,生成API文檔詳細
hotkeys鍵盤事件的封裝
MD5用 MD5 的方式加密文件的庫
瀏覽器增強類
讓一些舊瀏覽器變牛逼的庫
Selectivizr讓IE 6-8一些的css3選擇器
ieBetter讓ie6-8有高級瀏覽器的特性
ExplorerCanvas讓IE8-的瀏覽器支持canvas
CSS3 Pie讓IE6-9支持border-radious,box-shadow,linear-gradient。 可以使用.htc文件(注意Mine type)或.js文件。在用Pie.js時,box-radious的元素有背景色時,不顯示背景色。。。
formFive讓舊的瀏覽器支持HTML5表單的一些特性,如 placeholder,autofocus
https://github.com/anselmh/object-fit讓瀏覽器支持object-fit這css規則
HTML5 Cross Browser Polyfills一堆Polyfills
flexibility讓舊的 IE 也支持 Flexbox
選擇器增強
Lining.js讓瀏覽器實現類似::nth-line(), ::nth-last-line()的效果
未歸類
prefixfree用了它,寫css時,就不需要加瀏覽器的前綴了
表單類
jquery-file-upload上傳文件組件詳細
zTree文件樹形視圖控制項
Treed樹編輯器。感覺展示的感覺很像思維導圖
FileAPI對文件選擇框內的文件的一些處理
表單驗證
.Validate詳細
jQuery-Validation-Engine
表單元素美化
uniform提供對下拉框,單,復選框,按鈕等表單元素的美化
select2多選下拉框
selectivity和unfirom比較類似
DropKick下拉框,單,多選。外觀比uniform好
switcheryios7風格的開關組件
nouislider用滾動條來設置/控制(音量等)
range.css美化input[type=range]元素的外觀
圖片類
holderjs生成占點陣圖片
lazyload
imagesLoaded選取的圖片都載入好後執行調回
CSSgram用CSS3的Filter實現Instagram濾鏡的庫
圖標類
Icon Font匯總
SVG做的圖標
svgicons
iconic
HYBICON帶交互效果。如 hover, click
HTML字元實體圖標
http://www.amp-what.com/
transformicons圖標點擊時,會有一些變換效果。如,加號變成叉號
css3patternscss3 做的可平鋪紋理。瀏覽器兼容性不好。
瀏覽圖片
fancybox彈出查看圖片,視屏等等demo
yoxview彈出查看圖片,圖片尺寸縮放很自然
圖片牆
wookmark
UI 框架
WeUI由微信官方設計團隊為微信 Web 開發量身設計。
Framework7
UI 組件類
拖拽
dragula支持Draggable,Dropable和Sortable。感覺比jqueryUI的輕量級,好用的樣子
angular-draguladragular 官方的 angular 版本
數據可視化(圖表)
Echarts網路出品
highcharts功能強大。是收費的。
Plottable.JS基於D3的一個圖表庫
flot文檔不給力
chartJs中文文檔demo很漂亮,很清晰。比較輕量級。
ichartJs中國的一個傢伙搞的,感覺還不錯。
時間選取組件
foundation-datepicker
DatePicker一個簡單的日歷詳細
full calendar支持脫放的方式來改變待辦事宜的時間
Simple Events Calendar外觀很喜歡。收費 5$
jQuery ui datepicker經典,不是很好看
pickadate輕量級,手機友好的,漂亮。但貌似只能在彈出層中顯示,而沒有下拉這種方式顯示。
zebra-datepicker可配置性很強。但貌似只能在彈出在右上方。。。
bootstrap-datepickerbootstrap風格。
dateRangePicker選取時間段。bootstrap風格。該組件依賴Twitter Bootstrap, Moment.js和jQuery.
自定義滾動條
perfect scrollbar輕量級的滾動條。外觀與mac上chrome的滾動條一樣。
iscroll在移動設備上用不錯
載入(Loding)效果
CSS SpinnersCSS做的
Loaders.cssCSS做的
表格組件
jsGridData Grid。詳細
backgrid基於Backbone.js的DataGrid
excellentexport把表格的內容生成excel。兼容 Firefox, Chrome, IE6+
datatables表格可交互(對內容進行排序,刪除等)
handsontable生成Excel外觀的數據
JSpreadsheets表格數據的組件庫
選取顏色
Spectrum
分享到SNS
JiaThis生成分享代碼。
編輯器
ace代碼編輯器,可以用來做demo演示
ckeditor
ueditor網路做的
tinymce對html內容進行實時的編輯
summernote在移動設備上用不錯
通知組件
notie.js
HTML5播放器
jwplayer被大量網站使用
html5media簡單的h5player,輕量級
jplayer功能強太,可換膚
展示
Impress.js各種旋轉,和奇特的體驗
fullPage全屏顯示。用滾輪來翻頁詳細
zepto.fullpage專注於移動端的fullPage.js,依賴Zepto
pagePiling和fullPage類似
turn.js做一本書,帶漂亮的翻頁的效果
幻燈
slidesjs挺好用的,只是那幻燈導航的CSS都要自己寫,呵呵詳細
iSlider無任何插件依賴的手機平台javascript滑動組件詳細
bgstretcher全屏幻燈,會隨著頁面大小的變化而變化。
Swiper開源、免費、強大的移動端觸摸滑動插件Swiper中文網
coin-slider兼容IE6。蠻好的~。不過其切換方式是一塊塊的。不能配置切換方式。。。
wowslider幻燈切換時各種很炫的效果。收費。
cycle2普通的幻燈,竟然不支持垂直滾動。。。
jcarousel普通的幻燈,不兼容IE6
reveal3d滾動。做ppt相當不錯
nodePPT國人做的,做ppt也相當不錯。有些方面比 reveal做的還好。但生成導出的html有些問題
roundabout3d切換,看的後面圖片的邊
彈出框
Magnific-Popup兼容PC,Mobile。還不錯,有5k+的star
layer國人開發的,兼容ie6+。不喜歡其調用方式。
動畫效果
mixitup用漂亮的動畫效果來完成排序和篩選
jQuery.Marquee跑馬燈效果
quickflip卡片翻轉效果
卡片翻轉效果2兼容性可以。寫的比較簡單:1,只支持x方向翻轉 2,類名都是規定好的 3,只能被調用一次。 需要改寫一下。我的改進版見這里
TheaterJS模擬兩個人在屏幕上對話
midnight.js文字顏色隨著背景變,屌炸了
color-animationjquery的顏色漸變動畫插件。jquery的動畫不支持顏色值的變化。改庫提供了這個支持。
transit對元素進行css的變換
tagcanvas3D標簽雲效果詳細
iconate圖片切換動畫
Snap.js左/右側導航的出現效果
CSS shake抖動動畫
ClickSpark.js點擊後的一些酷炫的效果
視覺差插件
scrollorama比較簡單
superscrollorama能做的效果更多,但要用第三方Tween的庫,使用起來比較復雜。
scrolldeck
flash
swfobj能夠自動檢測PC、Mac機器上各種主流瀏覽器對Flash插件的支持情況。它使得插入Flash媒體資源盡量簡捷、安全。而且它是非常符合搜索引擎優化的原則的。此外,它能夠避免您的HTML、XHTML中出現object、embed等非標准標簽,從而符合更加標准。詳細
抽獎
wScratchPad刮刮卡刮獎效果
jqueryrotate旋轉插件。可以用來做轉盤抽獎效果
Intro.js用來介紹網站的功能很不錯。也可以做新手引導。
blockUILolding組件。
simple-hint提示信息。用css做的。兼容性IE 9+。
dotdotdot文字溢出時,添加在文字末尾加省略號
jQuery-menu-aim二級菜單的切換如Amazon主頁上一樣迅速
AnythingZoomer放大鏡功能
美化/高亮語法代碼
google-code-prettify
DlHighlight僅支持JavaScript、CSS、XML、HTML 這4語法高亮
please按要求隨機舒服的顏色
Awesomplete輸入的智能提示,自動補全
proTip提示。感覺比 Bootstrap 的 tip 好
Hammerjs手勢庫。封裝了 Swipe, Tap, Pinch, Pan等手勢
用戶體驗增強類
動畫
velocity提高Jquery動畫的性能。以及顏色動畫之類的新特性。
Snap.svg操作 SVG 的 JS 庫。號稱 SVG 的 jQuery。demo
walkway以動畫的方式,漸漸地畫出 SVG 的路徑。
SVG
測試
Mocha
Chai
Should
Snoion
DeviceMock.jsmock 設備。
其他類
ZeroClipboard將內容復制到剪切板兼容主流瀏覽器的解決方案詳細
html2canvashtml轉化成canvas,可以用來做截圖。詳細
Ink響應式html郵件框架
性能測試
抓取,解析RSS內容(不能跨域,所以後台要做代理,所謂的解析Rss其實就是解析xml)
jFeed
jRss簡單版的jFeed
scriptcam與攝像頭交互
cylon.js機器人框架,支持35個平台
Masonry一個瀑布流框架
devices.css移動設備邊框的外觀。做原型的時候用不錯。
Bootbox.js對bootstrap的彈出框做的一些封裝
免費皮膚
AdminLTE
Bootstrap相關類
JS Plugins倉庫
jQuery Cards高質量的 jQuery 插件網站
jster
node moles
npmrankSort npm packages by page rank
YOU MIGHT NOT NEED JQUERY PLUGINS不依賴 jQuery 的 js 插件。
awesome-nodejs
Libraries.io各種語言的庫
OniUI去哪兒網做的一套基於Avalon的框架
常用的移動端框架
zepto.js
語法與jquery幾乎一樣,會jquery基本會zepto~
最新版本已經更新到1.16
iscroll.js
解決頁面不支持彈性滾動,不支持fixed引起的問題~
實現下拉刷新,滑屏,縮放等功能~
最新版本已經更新到5.0
underscore.js
筆者沒用過,不過聽說好用,推薦給大家~
該庫提供了一整套函數式編程的實用功能,但是沒有擴展任何JavaScript內置對象。
最新版本已經更新到1.8.2
滑屏框架
適合上下滑屏、左右滑屏等滑屏切換頁面的效果
slip.js
iSlider.js
fullpage.js
swiper.js
flex布局
flex布局目前可使用在移動中,並非所有的語法都全兼容,效果良好~
E. web前端上傳圖片的幾種方法
下面給你介紹3種web前端上傳圖片的方法:
1.表單上傳
最傳統的圖片上傳方式是form表單上傳,使用form表單的input[type=」file」]控制項,打開系統的文件選擇對話框,從而達到選擇文件並上傳的目的。
ajax無刷新上傳
Ajax無刷新上傳的方式,本質上與表單上傳無異,只是把表單里的內容提出來採用ajax提交,並且由前端決定請求結果回傳後的展示結果。
3.各類插件上傳
當上傳的需求要求可預覽、顯示上傳進度、中斷上傳過程、大文件分片上傳等等,這時傳統的表單上傳很難實現這些功能,我們可以藉助現有插件完成。
如網路上傳插件Web Uploader、jQuery圖片預覽插件imgPreview 、拖拽上傳與圖像預覽插件Dropzone.js等等,大家可根據項目實際需求選擇適合的插件。
F. chrome中有沒有拖拽搜索的插件
1、有個叫gestures for chrome,我正在用,包含了手勢、拖拽等功能,可以試試看;
2、在chrome的webstore裡面搜索下,就有很多;
G. 前端開發visual studio code要裝什麼插件
WijmoJS 前端開發工具包由多款高效、靈活的純前端控制項組成,全面支持 Angular、React、Vue、TypeScript、Knockout 和 Ionic框架,用於快速搭建企業級桌面/移動 Web 應用程序。WijmoJS 可靈活應對客戶需求變化,縮短新項目研發周期,高效處理海量用戶數據,提升產品核心競爭力。
藉助葡萄城深厚的技術底蘊,WijmoJS 為各領域用戶提供更穩定、更高效的前端開發工具,幫助中國招商銀行、微軟、思科、特斯拉、富士通等知名企業快速搭建其 Web 應用程序。WijmoJS 憑借先進的觸控設計、全面的框架支持、頂級的控制項性能、零依賴的產品特性和易用、輕松的操作體驗,全面滿足前端開發所需,已成為構建企業 Web 應用程序最高效的純前端開發工具包。
與此同時,WijmoJS 的可視化設計器已正式推出,包含 VSCode 設計器和在線設計器。通過使用設計器,您可以在想要配置的控制項中選擇並瀏覽所有可用的內置選項,然後導出要在 WijmoJS 應用程序中使用的代碼,或者通過設計器自動更新 HTML 源文件。
H. 有哪些優秀的前端插件
編寫html代碼,一定要使用emmet(前身是zencoding),還有以下插件也是可以考慮的:
bracketHighter 高亮引號、括弧等
code Aligment 代碼對齊
DocBlockr 如果你寫js,這個就很有用了
emmet 書寫html必備
emmet css snippets 書寫css必備
Encoding Helper 當你遇到載入的文件亂碼時,這個插件就很有用了
jsFormat 格式化js代碼
theme soda 軟體主題,挺漂亮的
minifier 壓縮js/css
sidebarenhance 增強型邊欄
livereload 配合瀏覽器(firefox、chrome)上的livereload插件,就不用老是按F5了
I. chrome最好用的拖拽插件是什麼
pig toolbox !
J. 谷歌瀏覽器進行前端開發需要什麼插件
1.firebug:大名鼎鼎的firebug,雖然Chrome自帶的審查元素就很牛叉,不過有的地方還是firebug用得要順手些。審查元素+firebug,雙劍出鞘,威力驚人啊。
2.WebDeveloper:這個也是名氣很大的插件,不錯值得推薦使用。
3.code cola :一款在線修改css的插件,使用很傻瓜化,可以完全不用神馬css代碼,拖動滑塊,選擇屬性是類的操作幫你很迅速的修改css。相當帥氣(國人開發的喲,絕對要支持),對於css不是很熟的童鞋,此插件吐血推薦啊!
4.Editor Lite:一個在線編輯html代碼的插件,可以當成一個簡潔版的Dw編輯器,一些少點的代碼可以在此插件內,很快的編寫,還加入了w3c認證功能,灰常不錯。