中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

早期采用新技術(shù)的利弊

發(fā)布于:2020-12-31 13:40:59

0

129

0

早期 新技術(shù) 先驅(qū)者

當(dāng)人類決定嘗試登陸月球時(shí),他們不得不從頭開(kāi)始為該項(xiàng)目發(fā)明很多技術(shù)。這是一項(xiàng)艱苦,昂貴,耗時(shí)的工作,有很多錯(cuò)誤的轉(zhuǎn)折和死胡同。這就是使用沒(méi)有人經(jīng)驗(yàn)的系統(tǒng)時(shí)的感覺(jué)。當(dāng)您遇到困難時(shí),沒(méi)有經(jīng)驗(yàn)豐富的人來(lái)回答您的問(wèn)題。

我是卡西迪?威廉姆斯(Cassidy Williams),我一直在CodePen團(tuán)隊(duì)中工作。最近,我們決定切換堆棧以 在React代碼之上使用Apollo和GraphQL,這是一個(gè)很棒的學(xué)習(xí)經(jīng)驗(yàn)。我個(gè)人喜歡我們?nèi)绾畏浅DK化地組織組件,這與我們使用Redux進(jìn)行組織的方式不同。但是,由于Apollo是一項(xiàng)相對(duì)較新的技術(shù),因此在團(tuán)隊(duì)采用它并隨著它的發(fā)展而不斷學(xué)習(xí)時(shí),肯定會(huì)有一些利弊。

當(dāng)我第一次尋找與Apollo有關(guān)的問(wèn)題的答案時(shí),那里并沒(méi)有太多東西。當(dāng)您決定投資一個(gè)相對(duì)較年輕的技術(shù)時(shí),即使是簡(jiǎn)單的問(wèn)題,也很難找到支持。這迫使您自己尋找內(nèi)幕,這可能是學(xué)習(xí)的好方法。這也意味著您可以幫助建立和塑造新生的社區(qū),并在其他人開(kāi)始看到您幫助提高的工具中的價(jià)值時(shí)獲得回報(bào)。

對(duì)于那些不知道Apollo是什么的人,它是一個(gè)單一的查詢系統(tǒng),可幫助您在項(xiàng)目中大規(guī)模運(yùn)行GraphQL。它為您建立了一個(gè)數(shù)據(jù)圖,以使您的所有微服務(wù)和客戶端以完全相同的方式相互交談。

僅憑單詞很難解釋,所以讓我們通過(guò)一個(gè)例子來(lái)談?wù)?。在CodePen的前端中,在給定的組件中,我們可能希望獲取有關(guān)當(dāng)前登錄用戶的數(shù)據(jù)。以前,如果我們需要這些信息,我們必須設(shè)置某種中間件來(lái)處理調(diào)用,或在某處進(jìn)行調(diào)用操作,或者只是將API調(diào)用保留在componentDidMount中,然后確保對(duì)所有不同的組件分別進(jìn)行調(diào)用我們需要的數(shù)據(jù)元素。至少,我們需要與后端團(tuán)隊(duì)聯(lián)系,以確保我們以所需的格式獲取數(shù)據(jù)。使用Apollo,在組件頂部,我們可以在這里放置這個(gè)小塊,它將返回當(dāng)前登錄的用戶,其ID以及他們是否是CodePen Pro用戶。代碼如下:

現(xiàn)在,假設(shè)我實(shí)際上需要的數(shù)據(jù)更多,并且還需要獲取他們的頭像和用戶名。無(wú)需進(jìn)行其他查詢或與后端團(tuán)隊(duì)聯(lián)系以將該信息添加到API端點(diǎn),而只需修改查詢即可:

瞧,我有我的數(shù)據(jù)!這就是擁有單個(gè)數(shù)據(jù)圖的力量。如果數(shù)據(jù)在圖形中,則可以對(duì)其進(jìn)行查詢,并且前端可以根據(jù)需要獲取和使用該數(shù)據(jù)。

現(xiàn)在,這并不意味著要成為Apollo的推銷員。Apollo很棒,但是它也是新的,并且仍然在開(kāi)發(fā)社區(qū)中立足。通常,當(dāng)有新事物出現(xiàn)時(shí),它會(huì)非常新鮮和令人興奮,并且如果它引入了新的概念供我們作為開(kāi)發(fā)人員使用,那么這將是一個(gè)有趣的新世界。至少,直到我們遇到問(wèn)題為止。

我在Apollo中遇到的很多事情之一就是它的錯(cuò)誤消息令人非常不滿意。他們有相當(dāng)普通的消息發(fā)送給您,因此如果您不熟悉它,可能很難調(diào)試。

因此,有一天,我去了很好的Stack Overflow,嘗試找出組件的問(wèn)題所在。而且,令我震驚的是……那里沒(méi)有答案。完全沒(méi)有關(guān)于這個(gè)主題的問(wèn)題!通常,當(dāng)我在Stack Overflow上提出問(wèn)題時(shí),我可以在一個(gè)小時(shí)左右的時(shí)間內(nèi)得到很多答案。我等了幾個(gè)星期,但沒(méi)有回應(yīng)。

因?yàn)槲覜](méi)有一個(gè)可用的答案,所以我不得不仔細(xì)研究并真正熟悉使Apollo正常工作的代碼。再次,這是一個(gè)權(quán)衡。這花費(fèi)了很多時(shí)間,精力和挫敗感。但是通過(guò)這種方式教給我很多東西。這也有助于揭開(kāi)別人建造的黑匣子的神秘感,使我充滿信心,無(wú)論他們看起來(lái)多么出色,我都可以理解這個(gè)工具以及創(chuàng)作者。

我的Apollo問(wèn)題有一些評(píng)論,但實(shí)際上一個(gè)多月沒(méi)有得到答案。經(jīng)過(guò)幾個(gè)同事的討論,我最終自己回答了這個(gè)問(wèn)題,然后我仔細(xì)研究了這個(gè)問(wèn)題。您如何通過(guò)遇到問(wèn)題的人數(shù)來(lái)判斷框架是多么新穎或流行,這不是很有趣嗎?Vue.js目前在Stack Overflow上有大約38.5k個(gè)問(wèn)題。React有超過(guò)150k。Apollo?在撰寫(xiě)本文時(shí),不到5,000個(gè)問(wèn)題,其中約三分之一來(lái)自過(guò)去6個(gè)月!

很高興看到Apollo在開(kāi)發(fā)者社區(qū)加快了步伐。僅基于Stack Overflow問(wèn)題,GitHub問(wèn)題甚至Twitter線程,您就會(huì)看到人們感到興奮,并分享他們遇到的困難和所學(xué)到的東西。

給開(kāi)發(fā)人員的我的動(dòng)作項(xiàng)目:當(dāng)您開(kāi)始使用嶄新的,閃亮的技術(shù)時(shí),請(qǐng)談?wù)撍?!提出?wèn)題,撰寫(xiě)博客文章,在社交媒體上分享以及公開(kāi)您的發(fā)現(xiàn)。您永遠(yuǎn)不知道可以為誰(shuí)提供幫助!您分享的內(nèi)容越多,其他人就會(huì)更容易找到您并回報(bào)您的青睞。