wed數(shù)據(jù)庫面試常見的幾大問題
發(fā)布時(shí)間:2019-09-25 廣州兄弟連IT教育 訪問 : 483是時(shí)候讀一些評(píng)論和做一些總結(jié)了。當(dāng)我們開始寫這一系列博客時(shí),我們知道JAVAScript/網(wǎng)絡(luò)應(yīng)用程序框架不是一個(gè)好的總結(jié)。我們試圖回答這個(gè)無法回答的問題:我應(yīng)該使用什么樣的框架?
在本文中,我們將總結(jié)本系列中提到的每個(gè)框架,包括我們認(rèn)為的優(yōu)勢和劣勢。此外,我們還留給你一些值得思考的問題。wed數(shù)據(jù)庫面試常見的幾大問題在下面看看對(duì)您有沒有幫助呢?
我需要使用框架嗎?
如果我們不嘗試回答這個(gè)問題,那就是我們的失職,這已經(jīng)成為社會(huì)上一些人的口頭禪。關(guān)于網(wǎng)絡(luò)平臺(tái)的爭論也發(fā)展到這樣一個(gè)程度,即無需額外的應(yīng)用編程接口就可以更容易地創(chuàng)建網(wǎng)絡(luò)應(yīng)用程序。像本系列的所有內(nèi)容一樣,我們的答案大多基于這些內(nèi)容。
盡管沒有框架它也能正常工作,但它也是有代價(jià)的。那些提倡無框架手寫Javascript的人,以及那些通常被認(rèn)為是斯德哥爾摩綜合癥(情感依賴且容易移動(dòng))的人,忘記了網(wǎng)絡(luò)平臺(tái)上有許多快速開發(fā)的應(yīng)用編程接口集,至少有三種不同的技術(shù)和三種完全不同的語法。該網(wǎng)絡(luò)平臺(tái)已經(jīng)標(biāo)準(zhǔn)化并確定了12,000多個(gè)應(yīng)用編程接口。事實(shí)上,瀏覽器中的文氏圖也顯示了這些巨大的差距。
如果你是一個(gè)有著深厚技能和經(jīng)驗(yàn)的人,你真的可以不用框架坦誠相待。但是你團(tuán)隊(duì)的其他成員呢?你的人在哪里?還是你的決定給你帶來了麻煩?在這種情況下,我們將看到一個(gè)不需要承擔(dān)風(fēng)險(xiǎn)的框架的團(tuán)隊(duì),最后他們將發(fā)現(xiàn)他們已經(jīng)創(chuàng)建了一個(gè)需要自己維護(hù)的框架。接下來就是尋找人才的問題了。他們不需要知道框架是如何工作的。他們只需要尋找能夠調(diào)用網(wǎng)絡(luò)平臺(tái)應(yīng)用編程接口的高技能人才或者一些自稱有經(jīng)驗(yàn)的人才,卻發(fā)現(xiàn)他們?nèi)狈τ欣趫F(tuán)隊(duì)發(fā)展的深度技能和經(jīng)驗(yàn)。
團(tuán)隊(duì)?wèi)?yīng)該避免虛假對(duì)等的陷阱。顯然,創(chuàng)新型公司在應(yīng)用網(wǎng)絡(luò)技術(shù)方面正在不斷提高其市場價(jià)值和競爭力。谷歌、臉書和網(wǎng)飛就是很好的例子。但大多數(shù)公司不是,他們應(yīng)該承認(rèn)這一點(diǎn)。
角度2+
優(yōu)勢是什么?
角度2+的最大優(yōu)勢是它的受歡迎程度。有些人還認(rèn)為它的名字與谷歌密切相關(guān),會(huì)影響團(tuán)隊(duì)對(duì)它的使用。Angular 1正迅速變得流行起來,因?yàn)閬碜云渌换ナ綉?yīng)用程序開發(fā)環(huán)境的人會(huì)發(fā)現(xiàn)類似的模型視圖模式來開發(fā)單頁網(wǎng)頁應(yīng)用程序。通過角力1的現(xiàn)代化和框架某些部分的重建,角力2+真的爆發(fā)了。正規(guī)和非正規(guī)培訓(xùn)機(jī)構(gòu)的數(shù)量令人印象深刻,開發(fā)商具有強(qiáng)大的市場競爭力。對(duì)于用戶來說,它有一套豐富的組件來構(gòu)建用戶界面,這也是本系列中能夠做到這一點(diǎn)的少數(shù)框架之一。
缺點(diǎn)和挑戰(zhàn)是什么?
我們認(rèn)為角度框架側(cè)重于在單頁應(yīng)用程序中創(chuàng)建用戶界面,而沒有處理構(gòu)建完整的網(wǎng)絡(luò)應(yīng)用程序這一更大的問題。如果不及早確定,將導(dǎo)致整個(gè)項(xiàng)目難以維持。在實(shí)際項(xiàng)目中,在運(yùn)行時(shí)提供不屬于核心框架的技術(shù)通常是不可思議的,這大大降低了TypeScript對(duì)最終開發(fā)人員的價(jià)值。
未來是什么?
角度5剛剛發(fā)布,這似乎是角度已經(jīng)成功地證實(shí)了它的承諾,迅速發(fā)布版本。在谷歌的不斷支持下,安格魯將變得越來越成熟。
像許多大型組織一樣,谷歌有多重人格。從外部來看,安格爾的團(tuán)隊(duì)和那些專注于瀏覽器標(biāo)準(zhǔn)的團(tuán)隊(duì)似乎是和諧的。但是我們認(rèn)為和諧只是一層薄薄的窗簾布。Angular團(tuán)隊(duì)對(duì)于網(wǎng)絡(luò)組件和漸進(jìn)式網(wǎng)絡(luò)應(yīng)用程序沒有真正的解決方案。我們相信業(yè)內(nèi)普遍接受的標(biāo)準(zhǔn)將在角度框架內(nèi)逐步實(shí)施,這將影響如何更好地構(gòu)建角度應(yīng)用,并將成為中長期風(fēng)險(xiǎn)。
何時(shí)選擇角度2+
如果您需要在一個(gè)大框架內(nèi)獲得技術(shù)資源,那么框架內(nèi)的技術(shù)通常很容易移植?;蛘?,您需要在框架中培訓(xùn)開發(fā)人員,并對(duì)他們將在短時(shí)間內(nèi)獲得一定的開發(fā)能力抱有一定的信心,因此您可以考慮角度2+。需要注意的是,Angular1(angular.js)和Angular2+完全不同,應(yīng)用、技術(shù)和經(jīng)驗(yàn)不能直接移植到Angular2+的開發(fā)中。
如果您的網(wǎng)絡(luò)應(yīng)用程序可以很好地轉(zhuǎn)換成標(biāo)準(zhǔn)的模型視圖模式,那么您也可以忽略使用Angular2+的其他直接考慮因素。
如果你對(duì)谷歌材質(zhì)UX的設(shè)計(jì)模式感到滿意,那么材質(zhì)角度是一個(gè)快速、簡單和可靠的遵循模式的方法。
反應(yīng)+還原
優(yōu)勢是什么?
“反應(yīng)”和“還原”的最大優(yōu)勢是它們相對(duì)簡單和集中。做一件事并把它做好是非常困難的,但是兩個(gè)圖書館都有效地實(shí)現(xiàn)了他們的目標(biāo)。盡管某些狀態(tài)容器的方法可能是外部的,但大多數(shù)開發(fā)人員仍然可以輕松掌握概念,理解單向數(shù)據(jù)架構(gòu)的好處,并簡化大量用戶界面應(yīng)用程序。
缺點(diǎn)和挑戰(zhàn)是什么?
反應(yīng)和還原的最大弱點(diǎn)不是它們是什么,而是它們不是什么。要構(gòu)建一個(gè)功能豐富的網(wǎng)絡(luò)應(yīng)用程序,您需要許多功能。一旦您離開React和Redux以及其他庫的核心,您將會(huì)發(fā)現(xiàn)一個(gè)非常分散的社區(qū),其中有許多不容易集成的解決方案和模式。
因此,盡管React和Redux是非常專注的庫,但是沒有經(jīng)驗(yàn)的團(tuán)隊(duì)很容易生成不可維護(hù)的解決方案,而不會(huì)意識(shí)到他們的選擇會(huì)導(dǎo)致性能差或錯(cuò)誤。甚至有經(jīng)驗(yàn)的開發(fā)人員也可能意識(shí)到一個(gè)松散的架構(gòu)或約定可能會(huì)在未來給他們帶來麻煩。
虛假存錢是對(duì)自己的一種欺騙。在組織內(nèi)采用反應(yīng)和還原將很容易降低效率。沒有其他庫和模式的廣泛約定和標(biāo)準(zhǔn)化,標(biāo)準(zhǔn)化的React+Reux比我們用來編寫應(yīng)用程序的JavaScript更有效。
未來是什么?
臉譜網(wǎng)和反應(yīng)公司最近已經(jīng)擺脫了復(fù)雜的專利糾紛,并意識(shí)到,像其他項(xiàng)目一樣,一個(gè)更廣泛的社區(qū)可以提高自己的聲音。我認(rèn)為這有助于臉譜網(wǎng)認(rèn)識(shí)到他們無法更好地了解我們,并相信我們會(huì)指導(dǎo)這個(gè)項(xiàng)目。希望這將繼續(xù)貫穿項(xiàng)目的特點(diǎn)和技術(shù)方向。
很難預(yù)測反應(yīng)和還原的未來。然而,將庫聚集在一起確實(shí)顯著提高了適應(yīng)性,并且大多數(shù)React+Redux模式促進(jìn)了一個(gè)可以容易地重構(gòu)和迭代的獨(dú)立架構(gòu)。兩年前,每個(gè)人都喜歡反應(yīng)+流量,但整個(gè)社區(qū)很快就接受了Redux。思維或模式的其他重大變化也很容易被采納。這一關(guān)鍵能力可能會(huì)持續(xù)到未來。
何時(shí)選擇反應(yīng)+還原?
如果你很少需要實(shí)踐指導(dǎo),并且正在尋找一個(gè)更好的庫而不是一個(gè)全面的框架,反應(yīng)+還原可能是正確的。在這個(gè)過程中,您不僅需要對(duì)團(tuán)隊(duì)和組織的能力誠實(shí),還需要在初始開發(fā)和整個(gè)應(yīng)用程序的長期維護(hù)期間誠實(shí)。
優(yōu)勢是什么?
增量構(gòu)建能力是vue的最大優(yōu)勢,js. vue具有簡潔合理的架構(gòu),這使得理解和構(gòu)建變得容易。
Vue擁有一個(gè)強(qiáng)大而充滿激情的社區(qū),這為vue.js增加了巨大的價(jià)值,并使得為空白項(xiàng)目創(chuàng)建一個(gè)全面的解決方案變得非常容易。
缺點(diǎn)和挑戰(zhàn)是什么?
模型視圖應(yīng)用程序和狀態(tài)容器類型應(yīng)用程序之間的相互轉(zhuǎn)換可能會(huì)令人困惑,即使沒有從一種模式到另一種模式的完美轉(zhuǎn)換,也讓人感覺希望保持兩種模式之間的相關(guān)性。對(duì)于那些期望從vue.js獲得完美解決方案并可能難以維護(hù)不一致的應(yīng)用程序的人來說,這至少令人困惑。
一個(gè)更大的挑戰(zhàn)是vue.js依賴于一個(gè)人。顯然,其他項(xiàng)目基本上是由一個(gè)組織支持的,但這讓人們感覺更有意義。雖然它有一個(gè)強(qiáng)大的文檔社區(qū)和許多創(chuàng)新的新項(xiàng)目,vue核心的開發(fā)基本上落在一個(gè)人身上。
我們很高興看到vue更容易接受新興的標(biāo)準(zhǔn)方法,但是它的類似網(wǎng)絡(luò)組件的模式并不是真正的網(wǎng)絡(luò)組件,這可能是vue弊大于利的地方。
未來是什么?
盡管vue.js被廣泛使用,但很難預(yù)測這種勢頭在中期會(huì)持續(xù)多久。它不是由商業(yè)組織直接支持和維護(hù)的。因此,它在很大程度上取決于維護(hù)者的生存能力和他們維護(hù)它的愿望。
它還顯示了一定程度的語言適應(yīng)性,并隨著一些模式的落后和失寵,繼續(xù)保持自己語言的現(xiàn)代化和更新。目前,沒有跡象表明vue.js架構(gòu)不能適應(yīng)未來的進(jìn)一步發(fā)展。
什么時(shí)候被選中?
如果您有一個(gè)傳統(tǒng)的網(wǎng)絡(luò)應(yīng)用程序,并且需要一個(gè)強(qiáng)大的應(yīng)用層,vue.js可能是一個(gè)很好的選擇,它有一個(gè)清晰的模式,甚至沒有經(jīng)驗(yàn)的團(tuán)隊(duì)也可以正確或錯(cuò)誤地使用它。盡管虛擬環(huán)境UX框架沒有現(xiàn)成的功能,但是大量的應(yīng)用程序可以在虛擬環(huán)境中持續(xù)構(gòu)建,這將有利于您的項(xiàng)目。
Dojo 2優(yōu)勢是什么?
Dojo2側(cè)重于帶來更多基于狀態(tài)容器系統(tǒng)的動(dòng)態(tài)組件的經(jīng)驗(yàn)?zāi)J?,填補(bǔ)react+redux和其他框架中的許多空白。
Dojo2還知道,它不僅在自己的生態(tài)系統(tǒng)中開發(fā),還通過包含web組件的導(dǎo)入和導(dǎo)出功能來實(shí)現(xiàn)支持不同應(yīng)用程序?qū)嵗男枨蟆H欢?,它仍然提供了一個(gè)結(jié)構(gòu)化和內(nèi)在的框架價(jià)值。Dojo2的核心基礎(chǔ)仍然是提供交互性。
Dojo2認(rèn)為它提供了大量重要的功能和解決方案,這對(duì)構(gòu)建完整的網(wǎng)絡(luò)應(yīng)用程序非常重要,而不是大多數(shù)其他框架的焦點(diǎn)。它還提供了國際化的系統(tǒng)和廣泛的可訪問性模式,以及主題系統(tǒng)和演化模式,以確保不僅能為Typescript/JavaScript進(jìn)行良好的代碼開發(fā),還能進(jìn)行像CSS這樣的資源管理。
Dojo2專注于提供結(jié)構(gòu)化和符合人體工程學(xué)的開發(fā)環(huán)境。通過使用typescript和其他開發(fā)模型,它試圖提供一種安全的保護(hù)機(jī)制來指導(dǎo)新手開發(fā)人員。通過專注于提高框架開發(fā)的效率和安全性,它旨在使開發(fā)團(tuán)隊(duì)能夠快速交付更好的網(wǎng)絡(luò)應(yīng)用程序。
缺點(diǎn)和挑戰(zhàn)是什么?
有爭議的是Dojo2發(fā)布時(shí)間的進(jìn)一步延長是否會(huì)阻礙框架的開發(fā),而其他項(xiàng)目由于其資源的擴(kuò)展會(huì)繼續(xù)開發(fā)并快速迭代,導(dǎo)致Dojo2明顯處于擁擠的競爭環(huán)境中。
這可能是一個(gè)潛在的開發(fā)機(jī)會(huì)和挑戰(zhàn),我希望在靈活性和交互性方面使用Dojo2,而不是其他特殊原因。
未來是什么?
Dojo2將是未來最好的網(wǎng)絡(luò)框架之一,它將繼續(xù)努力為構(gòu)建可擴(kuò)展的網(wǎng)絡(luò)應(yīng)用程序提供清晰的模式和指導(dǎo)。隨著新標(biāo)準(zhǔn)的出現(xiàn),Dojo2將進(jìn)一步努力在框架中實(shí)現(xiàn)新的標(biāo)準(zhǔn)方法,繼續(xù)嘗試擴(kuò)展框架的開放性和交互性,并創(chuàng)建適合更多人使用的解決方案。
你什么時(shí)候選擇Dojo2的?
如果您想要采用靈活、現(xiàn)代且響應(yīng)迅速的網(wǎng)絡(luò)應(yīng)用程序架構(gòu),并且需要許多智能默認(rèn)設(shè)置,Dojo2是一個(gè)不錯(cuò)的選擇。不需要拼湊和構(gòu)建管道,它為您提供了更高級(jí)別的命令模式,以便您可以更加關(guān)注開發(fā)項(xiàng)目,并確認(rèn)它已經(jīng)為直接生產(chǎn)和開發(fā)做好了直接準(zhǔn)備。此外,如果您理解類型腳本的優(yōu)勢,Dojo2將嚴(yán)格使用類型腳本來管理和提供穩(wěn)定的開發(fā)環(huán)境。