成都web前端開(kāi)發(fā)工程師培訓(xùn),互聯(lián)網(wǎng)的飛速發(fā)展過(guò)后,后面會(huì)逐漸走向平穩(wěn),不合格的濫竽充數(shù)的開(kāi)發(fā)者會(huì)逐漸被市場(chǎng)淘汰,一邊是前端開(kāi)發(fā)在未來(lái)有著巨大的發(fā)展前景和優(yōu)勢(shì),另一邊則是互聯(lián)網(wǎng)企業(yè)日益提高的需求門(mén)檻。那么要怎么學(xué)習(xí)web前端開(kāi)發(fā)呢?全棧工程師如何快速構(gòu)建一個(gè)Web應(yīng)用???。
1.全棧工程師如何快速構(gòu)建一個(gè)Web應(yīng)用?
如果你問(wèn)十個(gè)全棧工程師,如何快速構(gòu)建一個(gè)Web應(yīng)用,我相信你會(huì)得到10個(gè)不同的答案,因?yàn)槊恳幻珬9こ處煹募夹g(shù)棧都不盡相同。以設(shè)計(jì)見(jiàn)長(zhǎng)的全棧設(shè)計(jì)師可能會(huì)告訴你,做一個(gè)很好的設(shè)計(jì),然后套用一個(gè)博客系統(tǒng)或基于CMS的內(nèi)容管理平臺(tái)(如Drupal,Jommla,Wordpress)就可以快速建站,而前端全棧工程師可能會(huì)建議,用HTML5+(AngularJS或React)來(lái)寫(xiě)網(wǎng)站的前端,用Node.js來(lái)寫(xiě)后端服務(wù)。我最早是一名Java程序員,后來(lái)當(dāng)了架構(gòu)師,又自學(xué)設(shè)計(jì),成為了一名全棧工程師。因此,我會(huì)更偏向于使用Java來(lái)構(gòu)建穩(wěn)定且便于擴(kuò)展的后端服務(wù),并用Html5+CSS3+,再結(jié)合一些流行的前端框架來(lái)快速寫(xiě)出一個(gè)Web應(yīng)用來(lái)。當(dāng)然,這絕對(duì)不是*或*秀的技術(shù)組合,你需要根據(jù)不同的應(yīng)用場(chǎng)景和你自身的專長(zhǎng)來(lái)進(jìn)行合理的選擇。 網(wǎng)站定位與功能設(shè)定 網(wǎng)站無(wú)論大小都應(yīng)該有清晰的定位,也就是你希望你的網(wǎng)站做什么?這一點(diǎn)非常重要,我見(jiàn)過(guò)很多網(wǎng)站雖然功能很多,但由于缺少明晰的定位而少人問(wèn)津。而我要寫(xiě)的這個(gè)小站只有一個(gè)核心功能,那就是要幫助我的微信訂閱用戶們(大多是學(xué)習(xí)計(jì)算機(jī)或設(shè)計(jì)的在校*生和那些工作不久希望提升技能的設(shè)計(jì)師或程序員們)分享那些優(yōu)秀的開(kāi)發(fā)或設(shè)計(jì)(學(xué)習(xí))資源。 圍繞這個(gè)核心功能,便得到了構(gòu)成這個(gè)網(wǎng)站所需要的三個(gè)主體功能: 資源發(fā)布與展示。(核心功能,用戶可以分享他們的資源,也可以看到其他人的分享) 用戶的第三方登錄(為了快速開(kāi)發(fā),我省略了不必要的用戶注冊(cè)功能,全部采用第三方社交平臺(tái)登錄) 用戶反饋功能。(用戶反饋幾乎是我自建的每個(gè)網(wǎng)站中都包含的功能,這使我能通過(guò)不斷收集用戶的反饋來(lái)改進(jìn)這個(gè)平臺(tái)。) 至此,已經(jīng)完成了網(wǎng)站的功能設(shè)定,我盡可能省略了一切不必要網(wǎng)站功能,也沒(méi)有寫(xiě)任何文檔,這使我能夠以最快的速度將這個(gè)Web應(yīng)用實(shí)現(xiàn)出來(lái)。這種方式也是目前增長(zhǎng)黑客們所普遍采用的一種做法:快速搭建出一個(gè)具備核心功能的應(yīng)用原型 —— MVP(Most Viable Product 最小化可行產(chǎn)品),來(lái)驗(yàn)證自己的業(yè)務(wù)模型,然后再根據(jù)用戶的需求和反饋來(lái)不斷進(jìn)行改進(jìn)。當(dāng)然,隨著項(xiàng)目規(guī)模的不斷擴(kuò)大,以及更多團(tuán)隊(duì)成員的加入,我們可以回過(guò)頭來(lái)再去補(bǔ)齊那些在前期遺漏的文檔,記住,僅當(dāng)確認(rèn)文檔能夠產(chǎn)生價(jià)值時(shí),才去編寫(xiě)它們?! ⌒畔⒓軜?gòu) 這個(gè)階段在不同的團(tuán)隊(duì)或項(xiàng)目中會(huì)有很多不同的名字,比如概要設(shè)計(jì)、業(yè)務(wù)建模等等,而我最喜歡信息架構(gòu)這個(gè)名字,因?yàn)樵谶@個(gè)階段,我們所要做的就是對(duì)不同緯度和粒度的信息進(jìn)行抽象、規(guī)劃、設(shè)計(jì),來(lái)支撐整個(gè)網(wǎng)站的信息體系。我曾經(jīng)歷過(guò)很多不同的信息架構(gòu)方法論,從最初基于模塊的設(shè)計(jì),到后來(lái)的領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)、面向服務(wù)的設(shè)計(jì)(SOA),Oracle的基于數(shù)據(jù)建模驅(qū)動(dòng)的設(shè)計(jì),再到*的微服務(wù)架構(gòu)設(shè)計(jì) 等等。我想說(shuō),這些方法論大多是針對(duì)那些大規(guī)模應(yīng)用而言的,你需要了解它們,并有意識(shí)地在你的系統(tǒng)設(shè)計(jì)中去匹配這些優(yōu)秀的架構(gòu)和設(shè)計(jì)思想,這有利于你做出可擴(kuò)展性良好的系統(tǒng),從而避免因整個(gè)系統(tǒng)復(fù)雜度與規(guī)模的擴(kuò)大而導(dǎo)致的大規(guī)模重構(gòu)風(fēng)險(xiǎn)。 對(duì)于我們這個(gè)小站來(lái)說(shuō),我們只需要先定義出合適的業(yè)務(wù)領(lǐng)域和實(shí)體模型,這里,我們定義出以下三個(gè)業(yè)務(wù)實(shí)體,并為這些實(shí)體添加所需要的字段?! ser-用戶 Resource-資源 Feedback-用戶反饋?! @著這三個(gè)領(lǐng)域模型,我們?cè)俣x出三個(gè)服務(wù),并為它們?cè)黾酉鄳?yīng)的方法: -用戶服務(wù) -資源服務(wù) -用戶反饋服務(wù)?! ⌒畔⒓軜?gòu)階段完成后,我們已經(jīng)對(duì)整個(gè)網(wǎng)站有了一個(gè)全面的視圖,下一步,我們就可以進(jìn)入U(xiǎn)I設(shè)計(jì)階段了。想獲得跟多的web技術(shù)可以關(guān)注一下成都朗沃教育(www.lovoedu.com),專注it教育培訓(xùn)年!
全棧工程師如何快速構(gòu)建一個(gè)Web應(yīng)用???。文章部分內(nèi)容來(lái)自于互聯(lián)網(wǎng),學(xué)對(duì)自己有用的東西,感覺(jué)有不對(duì)的地方可以直接無(wú)視,只是一個(gè)參考,愿大家的前端之路越走越順。