當前位置:首頁 » 網頁前端 » 螞蟻前端框架
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

螞蟻前端框架

發布時間: 2022-04-12 18:03:51

A. 一個會後端,前端,能開發iOS和安卓應用的程序員一般能拿多少薪資這樣的程序員普遍嗎

前端企鵝圈:784783012 分享學習方法和需要注意的細節
前端程序員是大家都公認的高薪崗位,那他們的工資到底有沒有傳說中那麼高呢?我們來看看職友集的數據。

數據來源:職友集

就北上廣深杭的前端薪資來看,平均薪資均達到一萬以上。

通常來講:

工作1~2年後會成為前端高級軟體工程師,年薪可以達到15萬以上。

工作3-5年後可以成為前端技術主管或者經理,年薪在15-50萬之間。

工作年限5年以上,會成為互聯網公司的技術總監或產品經理,年薪將達到50萬-100萬之間。

前端程序員的薪資處在行業中的較高水平,那麼相對的,他們需要掌握這些重要技術。

企業對前端人才有什麼要求?

根據對100家互聯網名企對前端開發工程師的招聘要求分析如下:

核心要求包括:

語言技術:JS基礎和核心、html5、CSS

框架技術:JQuery、AJAX、Bootstrap、AngularJS

通訊協議技術:HTTP協議、服務端開發技術

交互技術:UI交互設計

客戶端技術:微信開發技術、html5、JS、Android、iOS、Web App開發技術

輔助要求:

學歷及相關專業、文檔規范寫作能力、團隊合作能力、責任心

現在常常網路上常說前端已經飽和,現在入行已經晚了,但事實真的如此嗎?通過下面幾則數據,我們看看前端發展前景如何。

前端發展前景怎麼樣?

數據來源:網路指數

通過網路搜索指數的趨勢圖我們可以看到,從2014年開始至今,前端一直處於逐步上升、正常波動的狀態。2020年1月,受疫情影響有所降低,但總體來看,前端發展前景還是較為穩定的。

數據來源:網路百聘

從網路百聘數據來看,前端崗位的需求依然很大。

資料來源:拉鉤網

從拉鉤網的前端崗位的發布頻率來看,崗位發布時間較為密集。因此公司對前端程序員的需求量還是比較大的。

如果你依然在編程的世界裡迷茫,打算深入了解這個web前端行業的朋友,這里推薦一下我們的前端學習圈,每晚分享干貨,學習工具,零基礎到實戰項目教程,面試就業分析。一線大廠的web全棧工程師什麼標准?需要掌握哪些技術棧?以及如何成長為一名符合大廠標准web全棧工程師?

B. 有做web前端的朋友請進,web前端學好很難嗎比後端如何,師傅說前端不容易啊,迷茫中

自從接觸網站開發以來到現在已經有六個年頭了,今天偶然整理電腦資料看到當時為參加系裡面一個比賽而做的第一個網站時,勾起了在這網站開發道路上的一串串回憶,成功與喜悅、煩惱與糾結都歷歷在目,感慨頗多。在此與大家分享,希望對初學Web前端的各位童鞋來說有所幫助。歡迎各位吐槽、拍磚。


先從大家學習上的一個誤區開始談起。

在CSS布局時需要注意的一個問題是很多同學缺乏對頁面布局進行整體分析,不能夠從宏觀上對頁面中盒子間的嵌套關系進行把握,就急於動手去做,導致頁面中各元素間的關系很混亂,容易出現盒子在浮動時錯位等情況。建議大家在布局時採用「自頂向下,逐步細化」的思想,先用幾個盒子將頁面從整體上劃分,然後逐步在盒子中繼續嵌套盒子。

「君子生非異也,善假於物也」,在學習的過程中還要多瀏覽一些優秀的網站,善於分析借鑒其設計思路和布局方法,見多方能識廣,進而才可以融會貫通,取他人之長為我所用。

同時還要善於使用Firebug這個利器。Firebug一方面可以在我們學習過程中幫助我們調試自己的頁面,另一方面我們可以使用Firebug方便地查看、分析別人網站的源代碼,「偷」也是一種技能!


隨著移動互聯網熱潮的到來,移動開發越來越受到大家的追捧,響應式布局、微網站等需求量不斷增加,也是我們Web前端未來的發展方向之一,學有餘力的同學可以多多關注。最後祝願大家能在Web前端開發道路上走出一片更寬更廣的天地!

C. 學習好HTML5前端開發,都學習哪些內容知識

自從接觸網站開發以來到現在已經有六個年頭了,今天偶然整理電腦資料看到當時為參加系裡面一個比賽而做的第一個網站時,勾起了在這網站開發道路上的一串串回憶,成功與喜悅、煩惱與糾結都歷歷在目,感慨頗多。在此與大家分享,希望對初學Web前端的各位童鞋來說有所幫助。歡迎各位吐槽、拍磚。

先從大家學習上的一個誤區開始談起。

前端開發是一個近幾年興起的新興行業,所以遠沒有電子商務那樣成熟的課程體系,大學內也沒有完整的前端課程體系,所以學習前端在國內無非就是培訓,以及自學。
培訓是針對那些有條件的人來說,很多小夥伴更喜歡的是自學。但是一個人自學畢竟力量是有限的,為了讓想學習的人可以更好的學習,給大家推薦一個裙,前面是4
9 4,中間是〇 6 4,最後面就是 9 三 4
,這里有很多想學習的人和你一起交流,也有大牛每天晚上免費教學,想要學習的人都可以加入我們,但是我們只歡迎想學習的人,不是來學習,隨便看看的就不要進了。

Web前端的學習誤區

網頁製作是計算機專業同學在大學期間都會接觸到的一門課程,而學習網頁製作所用的第一個集成開發環境(IDE)想必大多是Dreamweaver,這種所見即所得的「吊炸天」IDE為我們製作網頁帶來了極大的方便。

入門快、見效快讓我們在不知不覺中已經深深愛上了網頁製作。此時,很多人會陷入一個誤區,那就是既然藉助這么帥的IDE,通過滑鼠點擊菜單就可以快速方便地製作網頁。

那麼我們為什麼還要去學習HTML、CSS、JavaScrpt、jQuery等這些苦逼的代碼呢?這不是舍簡求繁嗎?

但是隨著學習的深入,就會發現我們步入了一種窘境——過分的依賴IDE導致我們不清楚其實現的本質,知其然但不知其所以然。

因此在頁面效果出現問題時,我們便手足無措,更不用提如何進行頁面優化以及完成一些更高級的應用了。其原因是顯而易見的——聰明的IDE成全了我們的惰性,使我們忽略了華麗的網頁背後最本質的內容——code。

正確的方向勝過無謂的努力

有兩只螞蟻想翻越一段牆,尋找牆那頭的食物。一隻螞蟻來到牆腳就毫不猶豫地向上爬去,可是每當它爬到大半時,就會由於勞累、疲倦而跌落下來。雖然它不氣餒,一次次跌下來,又迅速地調整一下自己,重新開始向上爬去。

另一隻螞蟻觀察了一下,決定繞過牆去。很快,這只螞蟻繞過牆來到食物前,開始享受起來;而另一隻螞蟻還在不停地跌落下去又重新開始。

很多時候,成功除了勇氣、堅持不懈外,更需要方向。也許有了一個好的方向,成功來得比想像的更快。如果在錯誤的路上奔跑,再怎麼努力也是白搭。學習Web前端也是如此,首先應該選擇一個正確的學習路線。

Web前端的學習路線結合我的學習經歷、近年來輔導學生的經驗以及公司中實際項目的需求,在這里將Web前端的學習分為以下幾個階段,具體的學習路線圖如圖所示。

第一階段——HTML的學習。

超文本標記語言(HyperText
Mark-up Language
簡稱HTML)是一個網頁的骨架,無論是靜態網頁還是動態網頁,最終返回到瀏覽器端的都是HTML代碼,瀏覽器將HTML代碼解釋渲染後呈現給用戶。因此,我們必須掌握HTML的基本結構和常用標記及屬性。

HTML的學習是一個記憶和理解的過程,在學習過程中可以藉助Dreamweaver的「拆分」視圖輔助學習。在「設計」視圖中看效果,在「代碼」視圖中學本質,將各種視圖的優勢發揮到極致,這種對照學習的方法彌補了單純識記HTML標簽和屬性的枯燥乏味,想必對各位初學的小盆友們來說必定是極好的!

在學習了HTML之後,我們只是掌握了各種「原材料」的製作方法,要想蓋一幢樓房就還需要把這些「原材料」按照我們設計的方案組合布局在一起並進行一些樣式的美化。

於是進入第二個階段——CSS的學習。

CSS是英文Cascading Style Sheets的縮寫,叫做層疊樣式表,是能夠真正做到網頁表現與內容分離的一種樣式設計語言。相對於傳統HTML的表現而言其樣式是可以復用的,這樣就極大地提高了我們開發的速度,降低了維護的成本。

同時CSS中的盒子模型、相對布局、絕對布局等能夠實現對網頁中各對象的位置排版進行像素級的精確控制。通過此階段的學習,我們就可以順利完成「一幢樓房」的建設。

「樓房」建設完成之後,我們可以交給用戶使用,但是如果想讓用戶獲得更佳的體驗,我們還可以對「樓房」進行更深一步的「裝修」,讓它看起來更「豪華」一些。

為了完成這個任務,我們進入第三個階段——JavaScript的學習。

JavaScript是一種在客戶端廣泛使用的腳步語言,在JavaScript當中為我們提供了一些內置函數、對象和DOM操作,藉助這些內容我們可以來實現一些客戶端的特效、驗證、交互等,使我們的頁面看起來不那麼呆板,屌絲瞬間逆襲高富帥!有么有?

此時,也許你還沉浸在JavaScript給你帶來的驚喜之中,但你的項目經理卻突然對你大吼道:
「這個效果在××瀏覽器下不兼容,重新搞……」
「不兼容?」瞬間石化了有木有?
「我擦,坑爹啊!那可是花了我一個晚上寫了幾百行代碼搞定的啊,吐血了都!」

JavaScript的兼容性和復雜性有時候的確讓我們頭疼,還好有「大神」幫我們做了封裝。

接下來我們進入第四個階段——jQUery的學習。

jQuery是一個免費、開源的輕量級的JavaScript庫,並且兼容各種瀏覽器(jQuery2.0及後續版本放棄了對IE6/7/8瀏覽器的支持),同時現在有很多基於jQuery的插件可供選擇,這樣在我們實現一些豐富的動態效果時更方便快捷,大大節省了我們開發的時間,提高了開發速度,這也充分體現了其write
less,do more的核心宗旨。這個Feel倍兒爽!有么有?

「豪華大樓」至此拔地而起,但是每天這樣日復一日,年復一年的蓋樓,好繁瑣!能不能將大樓裡面每一個單獨部件模塊化,當需要蓋樓時就像堆積木一樣組合在一起,這樣豈不是爽歪歪?可以實現嗎?答案是肯定的。

這種思想在Web前端開發中也是適合的,於是乎就出現了各種前端框架,在這里推薦給大家的是Bootstrap。 Bootstrap是Twitter推出的一個開源的用於前端開發的工具包,是一個CSS/HTML框架,並且支持響應式布局。一經推出後頗受歡迎,一直是GitHub上的熱門開源項目。
在項目開發過程中,我們可以藉助Bootstrap提供的CSS樣式、組件、JavaScript插件等快速的完成頁面布局和樣式設置,然後再有針對性的微調樣式,這樣基於框架進行開發大大縮短了開發周期。站在巨人的肩膀上就是爽!

Web前端的學習建議

最後給大家聊聊在學習Web前端中的一些建議和方法。

在CSS布局時需要注意的一個問題是很多同學缺乏對頁面布局進行整體分析,不能夠從宏觀上對頁面中盒子間的嵌套關系進行把握,就急於動手去做,導致頁面中各元素間的關系很混亂,容易出現盒子在浮動時錯位等情況。建議大家在布局時採用「自頂向下,逐步細化」的思想,先用幾個盒子將頁面從整體上劃分,然後逐步在盒子中繼續嵌套盒子。

「君子生非異也,善假於物也」,在學習的過程中還要多瀏覽一些優秀的網站,善於分析借鑒其設計思路和布局方法,見多方能識廣,進而才可以融會貫通,取他人之長為我所用。

同時還要善於使用Firebug這個利器。Firebug一方面可以在我們學習過程中幫助我們調試自己的頁面,另一方面我們可以使用Firebug方便地查看、分析別人網站的源代碼,「偷」也是一種技能!

隨著移動互聯網熱潮的到來,移動開發越來越受到大家的追捧,響應式布局、微網站等需求量不斷增加,也是我們Web前端未來的發展方向之一,學有餘力的同學可以多多關注。最後祝願大家能在Web前端開發道路上走出一片更寬更廣的天地!

D. 螞蟻的身體構造有什麼特點

一、螞蟻的外部形態
螞蟻的身體分為頭、胸、腹三部分,有6足,體壁薄且有彈性,有膜翅,硬而易碎。
二、螞蟻的生長概況
從卵到小工蟻要經過14天,通過幼蟲、蛹等兩個環節。卵為白色或淡黃色,細長形,大小為0.5毫米,形如米粒狀。幼蟻為乳白色,前端較細,常做彎曲狀,易被人們誤認為是「蟻卵」。蛹是最後一齡,幼蟻體縮短,不食不動,被稱為前蛹,前蛹蛻皮後即為蛹。蛹初為乳白色,後漸變為黃褐色。常堆放在一起,也被誤認為「蟻卵」。
螞蟻的壽命比較長,個別螞蟻的壽命長得驚人,有的工蟻可活7天,蟻後壽命可長達20年。但一隻離群的螞蟻只能活幾天。這是由於蟻群內部明確分工和各負其責、相互依存的群體結構所致。這是其繁殖的基本因素。
三、螞蟻的食性
螞蟻因食性分為:低等種類,肉食性,以昆蟲、小動物乃至病、死的大動物為食;臭蟻亞種,切葉蟻亞科及蟻亞科中的較高等種類,對動植物均能取食,尤喜蚜、蚧蟲分泌的「蜜露」;其他大部分蟻類為草食性,多以枯物葉片、種子、果實、枝乾等為食。
擬黑多刺蟻屬較高等雜食性種類,可喂米糠、麥麩、豆類、糖類、瓜果類及動物性飼料如魚粉、蠶蛹、骨頭、雞蛋、死活蟲等,也可用雞飼料或自配飼料。
四、螞蟻的生理習性
1.螞蟻在15℃~40℃之內都可正常生長,但最佳溫度為25℃~35℃之間。冬季低於10℃就進入冬眠。
2.蟻的土壤濕度應控制在10%~20%之間;空氣相對濕度應控制在70%~90%之間。
3.蟻是群集而居的社會性昆蟲,而且戀巢性很強。多數種類築巢於地下,且食性雜,一般植、肉兼有。擬黑多刺蟻和其它螞蟻一樣,一般以窩為一個家庭。一窩中有蟻王(雄蟻)蟻後(雌蟻)有一個或數十個。工蟻專築巢、覓食、育幼等,數量最多;兵蟻保衛群眾安全,數量較少。
五、螞蟻的繁殖習性
螞蟻的繁殖的過程一般分為交配、產卵、分窩三個部分。當一窩螞蟻達到一定數量時,蟻後就提前繁殖出雄性螞蟻和雌性螞蟻,時機成熟後雌性螞蟻飛出窩巢交配後建立自己的窩巢開始繁殖後代成為一個新的家族。螞蟻屬完全變態的昆蟲。完全變態就是由卵到成蟲要經過幼蟲期和蛹期這樣一個變化過程。
回答者:michealee3721 - 大魔導師 十二級 10-9 17:46

螞蟻的基本習性

一、螞蟻的外部形態
螞蟻的身體分為頭、胸、腹三部分,有6足,體壁薄且有彈性,有膜翅,硬而易碎。
二、螞蟻的生長概況
從卵到小工蟻要經過14天,通過幼蟲、蛹等兩個環節。卵為白色或淡黃色,細長形,大小為0.5毫米,形如米粒狀。幼蟻為乳白色,前端較細,常做彎曲狀,易被人們誤認為是「蟻卵」。蛹是最後一齡,幼蟻體縮短,不食不動,被稱為前蛹,前蛹蛻皮後即為蛹。蛹初為乳白色,後漸變為黃褐色。常堆放在一起,也被誤認為「蟻卵」。
螞蟻的壽命比較長,個別螞蟻的壽命長得驚人,有的工蟻可活7天,蟻後壽命可長達20年。但一隻離群的螞蟻只能活幾天。這是由於蟻群內部明確分工和各負其責、相互依存的群體結構所致。這是其繁殖的基本因素。
三、螞蟻的食性
螞蟻因食性分為:低等種類,肉食性,以昆蟲、小動物乃至病、死的大動物為食;臭蟻亞種,切葉蟻亞科及蟻亞科中的較高等種類,對動植物均能取食,尤喜蚜、蚧蟲分泌的「蜜露」;其他大部分蟻類為草食性,多以枯物葉片、種子、果實、枝乾等為食。
擬黑多刺蟻屬較高等雜食性種類,可喂米糠、麥麩、豆類、糖類、瓜果類及動物性飼料如魚粉、蠶蛹、骨頭、雞蛋、死活蟲等,也可用雞飼料或自配飼料。
四、螞蟻的生理習性
1.螞蟻在15℃~40℃之內都可正常生長,但最佳溫度為25℃~35℃之間。冬季低於10℃就進入冬眠。
2.蟻的土壤濕度應控制在10%~20%之間;空氣相對濕度應控制在70%~90%之間。
3.蟻是群集而居的社會性昆蟲,而且戀巢性很強。多數種類築巢於地下,且食性雜,一般植、肉兼有。擬黑多刺蟻和其它螞蟻一樣,一般以窩為一個家庭。一窩中有蟻王(雄蟻)蟻後(雌蟻)有一個或數十個。工蟻專築巢、覓食、育幼等,數量最多;兵蟻保衛群眾安全,數量較少。
五、螞蟻的繁殖習性
螞蟻的繁殖的過程一般分為交配、產卵、分窩三個部分。當一窩螞蟻達到一定數量時,蟻後就提前繁殖出雄性螞蟻和雌性螞蟻,時機成熟後雌性螞蟻飛出窩巢交配後建立自己的窩巢開始繁殖後代成為一個新的家族。螞蟻屬完全變態的昆蟲。完全變態就是由卵到成蟲要經過幼蟲期和蛹期這樣一個變化過程。

E. express框架怎麼用react框架作為前端框架

1.不要陷入糾結工具的怪圈我們團隊一開始用React的時候,工具棧應該是grunt+grunt-react;寫了一段時間感覺有局限,然後老大帶頭把工具換成了gulp+browserify+watchify+reactify,然後又愉快的寫了大概半年吧,發現流行的庫都上webpack了;於是我們的工具棧又變成了gulp+webpack+babel-loader。最後大家一致認為gulp是多餘的,所以我們的工具棧又圍繞webpack重新搭建了一遍。到最近我負責的一個內部項目,什麼hot-mole-replacement、extract-text-plugin(讓你在js里require('style.scss');這么寫的玩意兒)一股腦的造。當然再後來因為業務需要我們又基於webpack搭建了自己的構建工具,這是後話……這將近一年半的折騰歷史告訴大家,1)前端就是個大坑,1個月不學新知識你就會被社區遺忘2)現在上React真幸福,工具棧基本都穩定了(什麼?你還不懂?用webpack!),不用花太多時間糾結。PS.HMR也就那樣,雖然dan吹得神乎其神,但實際在項目里我發現大家還是習慣手動Cmd+R,因為項目大了以後rebuild也需要1、2秒。2.DOM操作是不可避免的但凡是上點兒規模的前端項目,沒有DOM操作基本是不可能的。且不說最常見的後端「埋點」,你總得用DOMAPI去取值吧;就說一個最簡單的,比如右手邊這個「回到頂部」的按鈕,你純用React寫一個試試。當然你會說什麼requestAnimationFrame,什麼,真正到項目里你會發現還是DOMAPI簡單。3.擁抱ES6,擁抱Reactv0.14這倆為什麼放在一起說呢?因為Reactv0.14里提出了一個全新的組件概念叫做:無狀態的函數式組件(Statelessfunctionalcomponents)。它大概長這樣:varAquarium=({species})=>({getFish(species)});有沒有發現被傳統的createClass方法精簡了很多?當然這樣寫組件也有很多局限,比如不能聲明各種生命周期方法等等,但是在常見的前端業務場景中,純render的組件不在少數。在這樣的語法推出後,我們就能把這些組件更方便的抽出來復用了。此外,擁抱ES6還有很多的好處,比如在載入依賴的時候不用先varxxx=require('xxx');再varyyy=xxx.yyy;而是可以直接import{yyy}from'xxx';簡潔明了。4.生態環境仍然在成長中,坑不少其中首先要口誅筆伐一下的就是react-router,我們從v0.10開始用,到現在v1.0。你知道為了升級這玩意兒我們改了多少次業務代碼么?每次升級API都要變,無力吐槽。當年好不容易搞懂了v0.11,在博客里寫了篇技術文章分享,結果後面的日子就是各種被催更……一個月前抽空就0.13版又重寫了一遍教程,這不1.0版又出了,API基本全都不一樣了!!不一樣了!!一樣了!!樣了!當然除了坑也有不少高質量的生態環境產品,比如螞蟻的antdesign。5.Server端渲染很美,至今沒看見哪個規模級的產品用到可能是我孤陋寡聞吧,歡迎評論中跟進。自己摸索著寫過一個最簡單的server端渲染,但是這套邏輯如果套到我們現在的業務邏輯中,幾乎可以直接槍斃。為了實現server端渲染需要做出的tradeoff太多。6.React很簡單,也很難簡單是因為React的API真的很少,官網的各種文檔花一個下午也能看個七七八八(此時此刻再看看Angular……)。但是當你以為你真的搞懂React的時候,看看React源碼剖析系列-解密setState-purerender-知乎專欄這篇文章開頭提的問題,有多少人能不假思索的答對呢?(順便安利一下,我們團隊的知乎專欄,目前處於死磕React的狀態)當你真正在業務項目中使用React的時候,你會發現它的生命周期比你想像的復雜;它的API背後的邏輯比你以為的麻煩。當然,首先你要踩進這個坑。7.對於樓上某位仁兄表示《React:引領未來的用戶界面開發框架》這本書太難的回答,作為譯者之一表示對不起你。作為補償,所有購買本書的同學均可憑拍照私信我咨詢React相關的問題。

F. web前端開發和網頁製作有什麼區別詳細點

網頁設計一般包含整站網頁視覺方案,提供PSD或PNG格式的主要頁面預覽圖,高級一點的還會給出標准配色表,風格設計指南(內含一般性風格設計規格:設計理念,留白間距,按鈕樣式,使用場景)等附件。大公司一般還有交互設計師,主要關注人機界面的易用性和用戶友好性。

前端開發簡單來說就是負責將網頁設計和互動設計的方案轉換為可工作的Html + Css + js文件。
在互聯網行業中, 網頁設計和前端開發是項目中的不同環節。
網頁設計一般指交互設計和視覺設計, 他們負責將商業需求轉化為 Web 解決方案, 最終產物是交互稿和視覺稿, 分別用於說明網頁的外觀和 actions. 而前端開發則是通過交互稿, 視覺稿, 將預期的效果實現出來, 最終產物是 HTML Demo, 包括 HTML, CSS, JavaScript 代碼。(但據三點共圓所知, 有些公司的 CSS 和 JavaScript 開發也是分開的, 比如騰訊。)
前端開發,需要涉及ajax交互,需要改變頁面顯示,復雜的ajax應用需要涉及很多模塊的劃分、業務邏輯的考慮,在ajax應用越來越成熟強大的今天,很多過去後端處理的業務邏輯工作也慢慢放在了用戶的瀏覽器上來完成,這些工作也就交給前端工程師來做了。
如果根據明確分工的話,前端開發不包含ui設計部分,主要工作在於切圖、製作靜態頁面、製作特效、jq、ajax、與後台程序結合部分。
大家所認為的前端開發工作主要在於UI設計和用戶體驗。三點共圓向客戶提供的前端開發內容包括:UI設計,axure交互文檔,靜態頁面製作,css3 動畫和jq動畫。最終提供的成品文件包括:img、css、js、html、icon、font。至於與後台程序結合的工作則可以不負責。

G. React作為時下最熱的前端框架,各位有什麼經驗分享下嗎

1. 不要陷入糾結工具的怪圈
我們團隊一開始用 React 的時候,工具棧應該是 grunt +
grunt-react;寫了一段時間感覺有局限,然後老大帶頭把工具換成了 gulp + browserify + watchify +
reactify,然後又愉快的寫了大概半年吧,發現流行的庫都上 webpack 了;於是我們的工具棧又變成了 gulp + webpack +
babel-loader。最後大家一致認為 gulp 是多餘的,所以我們的工具棧又圍繞 webpack
重新搭建了一遍。到最近我負責的一個內部項目,什麼 hot-mole-replacement、extract-text-plugin(讓你在
js 里 require('style.scss'); 這么寫的玩意兒)一股腦的造。當然再後來因為業務需要我們又基於 webpack
搭建了自己的構建工具,這是後話……

這將近一年半的折騰歷史告訴大家,1) 前端就是個大坑,1個月不學新知識你就會被社區遺忘 2) 現在上 React 真幸福,工具棧基本都穩定了(什麼?你還不懂?用 webpack!),不用花太多時間糾結。

PS. HMR 也就那樣,雖然 dan 吹得神乎其神,但實際在項目里我發現大家還是習慣手動 Cmd + R
,因為項目大了以後 rebuild 也需要 1、2 秒。

2. DOM 操作是不可避免的

凡是上點兒規模的前端項目,沒有 DOM 操作基本是不可能的。且不說最常見的後端「埋點」,你總得用 DOM API
去取值吧;就說一個最簡單的,比如右手邊這個「回到頂部」的按鈕,你純用 React 寫一個試試。當然你會說什麼
requestAnimationFrame,什麼 ReactCSSTransitionGroup blah blah
blah,真正到項目里你會發現還是 DOM API 簡單。

3. 擁抱 ES 6,擁抱 React v0.14
這倆為什麼放在一起說呢?因為 React v0.14 里提出了一個全新的組件概念叫做:無狀態的函數式組件(Stateless functional components)。它大概長這樣:
var Aquarium = ({species}) => (
<Tank>
{getFish(species)}
</Tank>
);

有沒有發現被傳統的 createClass 方法精簡了很多?當然這樣寫組件也有很多局限,比如不能聲明各種生命周期方法等等,但是在常見的前端業務場景中,純 render 的組件不在少數。在這樣的語法推出後,我們就能把這些組件更方便的抽出來復用了。
此外,擁抱 ES 6 還有很多的好處,比如在載入依賴的時候不用先 var xxx = require('xxx'); 再 var yyy = xxx.yyy; 而是可以直接 import {yyy} from 'xxx'; 簡潔明了。

4. 生態環境仍然在成長中,坑不少

中首先要口誅筆伐一下的就是 react-router,我們從 v0.10 開始用,到現在
v1.0。你知道為了升級這玩意兒我們改了多少次業務代碼么?每次升級 API 都要變,無力吐槽。當年好不容易搞懂了
v0.11,在博客里寫了篇技術文章分享,結果後面的日子就是各種被催更……一個月前抽空就 0.13 版又重寫了一遍教程,這不 1.0
版又出了,API 基本全都不一樣了!!不一樣了!!一樣了!!樣了!

當然除了坑也有不少高質量的生態環境產品,比如螞蟻的 ant design。

5. Server 端渲染很美,至今沒看見哪個規模級的產品用到
可能是我孤陋寡聞吧,歡迎評論中跟進。自己摸索著寫過一個最簡單的 server 端渲染,但是這套邏輯如果套到我們現在的業務邏輯中,幾乎可以直接槍斃。為了實現 server 端渲染需要做出的 trade off 太多。

6. React 很簡單,也很難
簡單是因為 React 的 API 真的很少,官網的各種文檔花一個下午也能看個七七八八(此時此刻再看看 Angular……)。但是當你以為你真的搞懂 React 的時候,看看React 源碼剖析系列 - 解密 setState - pure render - 知乎專欄這篇文章開頭提的問題,有多少人能不假思索的答對呢?(順便安利一下,我們團隊的知乎專欄,目前處於死磕 React 的狀態)

當你真正在業務項目中使用 React 的時候,你會發現它的生命周期比你想像的復雜;它的 API 背後的邏輯比你以為的麻煩。當然,首先你要踩進這個坑。

7. 對於樓上某位仁兄表示《React:引領未來的用戶界面開發框架》這本書太難的回答,作為譯者之一表示對不起你。作為補償,所有購買本書的同學均可憑拍照私信我咨詢 React 相關的問題。

H. 螞蟻金服刷臉支付為何上榜《MIT科技評論》全球十大突破性技術

2016年雲棲大會上,螞蟻金服展區開張了一家「未來咖啡館」,客人對著攝像頭刷刷臉,就能完成支付。據悉,刷臉支付很快就將落地真實場景。

在人臉識別研究領域,一批傑出的華人研究學者是推動技術不斷發展的重要力量,可以說在世界范圍內,中國的人臉識別技術不管是技術還是應用都處於領先地位。刷臉支付由螞蟻金服與中國人臉識別技術公司Face++合作研發,在人臉識別核心比對演算法的基礎上,螞蟻金服開發了具有專利的活體檢測技術,並結合其基於金融雲的風控防攻擊安全策略等多個維度的核心技術,能夠提供金融級的准確度和安全性。

您可以聊聊這幾年螞蟻金服在人臉識別領域的投入和發展嗎?在整個人臉識別領域中,處於什麼樣的位置?

螞蟻金服幾年前就開始在人臉識別領域投入資金和人才,同時也在其他生物特徵識別技術研發方面有持續投入,生物識別技術已成為螞蟻金服技術體系和安全風控體系中的重要組成部分。螞蟻金服從2015年開始將人臉識別技術應用於支付寶用戶登錄、實名認證、找回密碼、支付風險校驗等場景,迄今已有超過1.5億用戶使用,據我們所知,這是目前國內外用戶量和訪問量最大的人臉識別系統,更是在金融領域全球范圍內第一家大規模商用的在線系統。

螞蟻金服的人臉識別技術

人臉識別常用的演算法模型您能不能簡單介紹一下?螞蟻金服又採用了什麼樣的演算法策略呢?

通常大家說的人臉識別是指人臉比對演算法,又分為1:1比對(verification)和1:N識別(identification),其演算法核心是讓機器自動判斷不同人臉圖片之間的相似度。人臉識別系統的研究始於20世紀60年代,80年代後隨著計算機技術和光學成像技術的發展得到提高,在這一技術發展過程中涉及到的演算法模型既有基於人臉局部特徵點的識別模型,也有基於全局特徵變換或幾何特徵的識別模型,還有基於2D或3D模板建模的識別模型。目前人臉識別技術已經全面轉向了基於卷積神經網路(CNN)的識別模型。

除了識別模型的准確性之外,人臉識別還有一個重要環節就是活體檢測,也就是確保機器要識別的人臉圖片是來自一個活體人臉,而不是照片、視頻或面具等偽造的人臉,因此活體檢測技術也是人臉識別成功應用的關鍵。活體檢測涉及的演算法也非常多,同時又與感測器技術關系非常緊密,比如指紋識別可以通過電容/電感感測器檢測活體,虹膜識別可以通過紅外攝像頭檢測活體。由於紅外攝像頭在在智能手機上的普及率還很低,目前活體人臉檢測技術主要依賴一系列軟體演算法,包括基於動作交互的識別模型,以及基於圖像分析的識別模型等。

螞蟻金服在人臉識別和活體檢測兩方面都在同步推進,也同時在研發如眼紋識別和聲紋識別等用於增強人臉識別的多因子生物特徵識別技術。此外還基於大數據分析技術研發基於用戶行為和不同場景的智能識別模型,從而形成一整套完備的身份識別解決方案

您能介紹下支付寶刷臉支付服務的人臉識別請求並發量峰值能達到多大?單日請求數能到什麼數量級?螞蟻金服又是使用什麼樣的技術架構做業務支撐的呢?

金融級人臉識別的技術要求和難點,我們總結以下幾點:

1. 高安全性:人臉活體檢測技術(防止照片偽造、視頻、面具以及專業軟體工具等攻擊)

2. 高准確率:極低誤識率下(<0.001%)的高識別通過率(90%以上)

3. 高可用性:海量並發人臉比對服務(tps="">1000)

4. 高實時性:人臉比對結果實時返回(響應時間<100ms)

支付寶的人臉識別,除了達到金融級的准確度和安全級別外,還需要極高的穩定性、可靠性和極低的實時響應。我們基於螞蟻金融雲的基礎架構,實現了高可用、動態擴展的服務框架體系,來保證刷臉服務能夠滿足雙十一、新春紅包等高並發峰值要求。

螞蟻金服是如何做數據迴流的可以跟我們介紹一下嗎?

數據迴流確實是改進演算法識別精度以及提高產品用戶體驗的有效手段,我們在嚴格遵守螞蟻金服數據安全和隱私保護等相關規范的前提下,通過記錄用戶刷臉過程中的一些關鍵參數信息(如光照、距離、角度、時長等)來驗證和分析人臉識別在各種真實環境下的魯棒性,再基於這種實際場景下的分析結果進一步對演算法和產品進行針對性改進,做到完全數據驅動的產品開發和優化閉環。

人臉識別的難點所在

能否介紹一下螞蟻金服的人臉識別底庫數據量級,單次從人臉檢測到返回比對結果的耗時,以及人臉識別的准確率?准確率的適用范圍?准確率是只針對漢族而言,還是所有種族(少數民族、白人、黑人)?在不同種族的人臉識別范疇,是否有什麼難點?如何解決?

螞蟻金服刷臉服務目前只針對中國大陸公民的支付寶實名用戶。截止到目前,支付寶全部4.5億實名用戶中已經有三分之一使用過刷臉服務登錄賬戶,實名認證,找回密碼,或者在高風險交易中進行身份驗證。人臉識別全流程(以刷臉登錄為例)的通過率在95%以上(其中沒通過的用戶中還包括很大比例的主動退出)。不同種族的人臉具有更大的多樣性,會給人臉識別系統的准確性帶來挑戰,但是目前基於深度學習的識別模型已具備處理海量數據的可能,如果能不斷對不同種族的人臉數據持續訓練和學習,這一問題也能很好的解決。

您能分別談一談人臉檢測、活體檢測、圖像脫敏、人臉比對這幾個方面當下的發展和難點么?對於配戴眼鏡、口罩、面具,或者手持照片、視頻刷臉的行為,如何處理?

人臉檢測:人臉檢測演算法是目前最成熟的人臉識別技術分支,准確性和輕量化都已滿足商用,除了能作為後台服務使用,也廣泛應用在智能手機、數碼相機等前端設備上。目前的挑戰是低光照環境以及大角度側臉條件下的人臉檢測。

活體檢測:活體檢測技術在過去幾年也有很大發展,已經能解決絕大部分照片和視頻攻擊,但活體攻擊手段也在不斷演進,特別是各種人臉相關建模軟體合成或變換的人臉越來越逼真。人臉活體檢測技術將是持續攻防和不斷改進的過程。

圖像脫敏:圖像脫敏會帶來信息損失,與提高人臉識別精度形成矛盾,螞蟻金服研發了一套獨特的單向變換脫敏技術,能夠比較好的解決這個問題。目前學術上這方面的成果不多。

人臉比對:目前機器的識別能力已經超過人眼,但是低光照、誇張表情、重度化妝和整容、年齡老化、雙胞胎仍然是人臉比對需要持續解決的問題,隨著數據的不斷累積和訓練,性能也在不斷提升。

挑戰

您能談談目前人臉識別領域面臨的最大挑戰是什麼嗎?能否從人臉識別的演算法和工程兩個角度聊一聊各自的挑戰?

演算法方面仍然要不斷提高人臉識別和活體檢測的准確性,識別的難題上面已經提及,活體檢測需要防範不斷演進和出現的新型攻擊方式。

工程方面的挑戰主要在用戶體驗和系統的穩定性及可靠性,不斷降低用戶的使用門檻的同時保證極致的刷臉體驗,涉及交互文案、設備兼容、演算法加速、參數自適應等多方面。由於人臉識別核心是圖像特徵提取及比對,這是CPU密集型的計算應用,面對支付寶上億用戶的身份驗證需求,特別是在雙十一、新春紅包等高並發峰值的情況下如何保證刷臉服務的性能和高可用性是系統方面的挑戰。

螞蟻金服人臉識別產品從2015年7月正式上線,在此之前做的都是小規模的測試,進行快速產品優化和迭代。我們發現,真實場景是十分復雜的,用戶會在室內和室外,白天和晚上各種光線,不同角度和姿勢下使用刷臉,有的是躺在床上刷臉,有的甚至在敷面膜的時候刷臉,如何解決各種復雜真實環境中的刷臉體驗,尤其是用戶達到億級規模的時候,保證普通用戶能夠便捷的通過是很大的挑戰。這不單單是演算法問題,更是涉及從產品、交互、用戶體驗、環境參數適配,安全策略,高並發系統架構等一系列問題,這是一個系統工程。經過一年多的產品優化,現在能保證在各種復雜的環境下仍有不錯的刷臉體驗和安全性。

未來目標

您可以聊一下人臉識別在刷臉支付之外,未來還可能應用在哪些地方嗎?

身份驗證已經變成了互聯網金融的基礎設施,甚至是整個互聯網+的基礎設施。基於人臉識別的身份驗證方式可以在數字世界中更好的證明「你是你」,提升便捷性和安全性。另外信用體系是整個社會的基礎服務,而身份識別和身份驗證又是信用體系的基礎,所有的信貸類服務的核心基礎就是要知道個人的信用等級,當然其前提還是要證明「你是你」,否則評價出來的信用等級也有可能變成別人的了。除了信用和金融的應用,安全領域也是人臉識別的重要應用,全國多個城市火車站上線了人臉識別驗票、北京機場刷臉出關。

螞蟻金服未來幾年在人臉識別領域希望達到的階段和目標可以介紹一下嗎?

首先在技術上不斷保持世界領先地位,驅動各個業務場景更深層次的應用,形成AI驅動、數據驅動的良性循環,同時不僅僅應用在中國,也隨著螞蟻金服國際化的推進,將人臉識別技術應用到全球,為世界上更多的用戶提供既安全又便利的刷臉產品和服務。

您怎麼看待整個人臉識別行業未來幾年的發展?

人臉識別行業目前整體上還只是起步階段,如前面講的,要應用到各行各業和各個用戶群體,還有很長的路要走,不管是國際還是國內,還沒針對人臉識別的行業標准,目前的人臉識別相關產品使用上還具備一定門檻,沒有達到普適性的程度。但是隨著技術的持續投入,產業環境的不斷成熟,以及相關標准不斷出台,相信未來幾年會迎來人臉識別行業應用真正的爆發期。

寄語

對於想轉行人臉識別的新人,您有什麼建議?是否門檻太高,很難切入?

人臉識別是一個系統工程,除了演算法本身,產品、交互、工程都需要深入研究和探索,從演算法到線上服務再到用戶體驗,從實驗室性能到實際場景系統性能,仍然有很多挑戰性問題需要解決,在各個環節都有很多可以切入的點,重要的在於是否真正解決了用戶的問題。

I. 學習WEb前端開發的需要哪些條件

一、學習前端,你需要具備哪些素質?

(1)如果web的任何一個元素(web界面,靈活的編程風格等)有一點吸引了你,讓你著實著迷,恭喜你,有了一個完美的開始。確認一下自己是否喜歡和合適前端,而不是為了一份看起來體面而且薪水不菲的工作。

(2)不斷學習,每日的積累,關注前端動態,是你跟上前端潮流的主要途徑。前端的體系過於龐大,技術框架爭涌而出,如果你經常抱怨累死碼農的節奏,那就審視一下自己對前端的態度。

(3)主抓基礎,避免盲目。前端領域知識點很多,值得學的東西也很多,聰明的人懂得花時間學習成體系的知識並且研究得足夠深入,而不是盲目的看到別人用什麼框架就去學什麼。只停留在實踐運用的階段,到頭來框架們都一個一個被淘汰,你仍在原地踏步。

(4)整理總結,先模仿後創造。將每日的積累做好規整,記錄到博客也好,筆記也好。多看看牛人的源代碼,等你達到了一定的層次水準,自然會得心應手。

(5)持有一顆造福前端社區的心。寫一些有意思的小工具、插件,推廣出去, 始終堅信,在從事前端的道路上You are not alone。

(6)要有專業人士的指導,尤其是學習前端找工作的,不要妄想自己一個人自學前端能找到工作,現在非常難,如果沒有一個明白人幫你解決一下問題,會有非常多的彎路,中間很容易放棄,學習的不專業不說,最重要是浪費時間。

(7)一個好的心態和一個堅持的心很重要,很多沖著高薪的人想學習前端,但是能學到最後的沒有幾個,遇到困難就放棄了,這種人到處都是,就是因為有的東西難,所以他的回報才很大,我們評判一個前端開發者是什麼水平,就是他解決問題的能力有多強。