国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

為什么我們從Angular 2遷移到Vue.js(為什么我們沒有選擇React)

zhjx922 / 2816人閱讀

摘要:在,我們剛剛使用發(fā)布了我們的客戶端的新版本。得到了最多的提及,排在第二位。根據(jù),這個(gè)許可證旨在保護(hù)他們免受專利巨魔的侵害。正在獲得更多開發(fā)者的支持,我們?cè)陂_發(fā)過(guò)程中看到了這一點(diǎn),讓我們更加相信,我們的選擇是對(duì)的。


在Rever(www.reverscore.com),我們剛剛使用Vue.js發(fā)布了我們的Web客戶端的新版本。經(jīng)過(guò)641次提交和16周的緊張開發(fā),我們非常自豪之前做出的決定。
8個(gè)月前,我們的前端在使用Angular 2.確切地說(shuō),它使用的是Angular 2 beta 9.這是一個(gè)由外包公司編寫的產(chǎn)品,我們從很多層面上都沒有完全滿意,從UX / UI到架構(gòu),在某種程度上,與Angular 2本身有很大的關(guān)系。

在之前,我承認(rèn)Angular 2 beta 9是與Angular 2.0不同的產(chǎn)品,但這正是其中一個(gè)問(wèn)題。從beta9到2.0.0,有8個(gè)beta版本,8個(gè)RC和2.0.0版本,總共有17個(gè)版本需要升級(jí)。我們確實(shí)嘗試從beta 9升級(jí)到2.0.0但是太多的api更改了使升級(jí)變得非常困難。此外,大約在同一時(shí)間我們質(zhì)疑Angular 2作為我們選擇的框架,Angular團(tuán)隊(duì)決定開始研究Angular 4.雖然他們承諾版本改變不會(huì)太大,這意味著當(dāng)我們完成升級(jí)到Angular時(shí)2.0.0我們需要另一次升級(jí)。多么浪費(fèi)時(shí)間和僅有的資源。
我們不喜歡的主要原因是不喜歡Angular 2是Typescript開發(fā)的。我知道Angular 2可以和Javascript一起使用但是同樣,使用Typescript的決定已經(jīng)被內(nèi)部使用了,根據(jù)我的理解,使用純Javascript和Angular 2并不是你應(yīng)該使用Angular 2的理想方式。無(wú)論如何,擺脫Typescript意味著完全重寫項(xiàng)目。

我沒有覺得Typescript增加了實(shí)質(zhì)性的價(jià)值,更糟糕的是,我們注意到我們的編碼速度降低了。使用Typescript在Javascript上很容易做的事情就像定義一個(gè)簡(jiǎn)單的對(duì)象一樣在Typescript上更復(fù)雜。我強(qiáng)烈建議您在開始使用Typescript之前閱讀以下文章。這對(duì)每個(gè)人來(lái)說(shuō)都不一定是正確的解決方案。
我還記得使用Angular 1是多么容易,它有自己的不足,但與其他框架相比,Angular 2在途中失去了某些東西。關(guān)于Angular 2的結(jié)論很簡(jiǎn)單,Angular 1和2的唯一共同點(diǎn)是名稱,它們是完全不同的框架。
因此,考慮到我們?cè)谖唇?jīng)測(cè)試的系統(tǒng)上有17個(gè)版本進(jìn)行升級(jí),來(lái)自業(yè)務(wù)的很多壓力來(lái)編寫新功能,大量錯(cuò)誤和編寫得不好的代碼,原始開發(fā)人員不再在團(tuán)隊(duì)中,只有一個(gè)開發(fā)人員(我)當(dāng)時(shí)有許多其他職責(zé),自從我使用測(cè)試版以來(lái)找到正確文檔的問(wèn)題,以及Angular 2轉(zhuǎn)移到版本4.他的負(fù)面消息開始迅速地積累。
我們做了一個(gè)決議,如果我們要花費(fèi)那么多時(shí)間升級(jí),那還不如看看別的框架。

應(yīng)對(duì)

第一個(gè)顯而易見的選擇是React,因?yàn)榇蟛糠止径荚谑褂盟切]用的人正在談?wù)撍K赃@是一個(gè)選擇,當(dāng)然知道Facebook支持它是很有幫助。但是,React本身不是一個(gè)簡(jiǎn)簡(jiǎn)單單框架,你需要添加額外的組件才能讓它綻放光芒。

Vue.js

Vue.js是一個(gè)新玩家,我以前從未聽說(shuō)過(guò)它,雖然他們剛剛發(fā)布版本2時(shí)我們開始考慮不同的框架。起初它引起了我們的注意,但是還是有一定風(fēng)險(xiǎn)的。

決策過(guò)程

我們首先開始定義我們的決策點(diǎn)。我們知道框架需要具備以下條件:

它應(yīng)該是穩(wěn)定的

由強(qiáng)大的社區(qū)或一些大玩家支持

StackOverflow上有很好的文檔或很多問(wèn)題被解決了

簡(jiǎn)單易學(xué)

與Bootstrap集成

小巧

理想情況下,它允許我們重用代碼

應(yīng)該增加編碼速度

基于組件

我們列出所有需求點(diǎn)以后,我不得不開始動(dòng)手了,所以我給了React和Vue.js幾天,分別審查了Google無(wú)法回答的每個(gè)決策點(diǎn)。由于我對(duì)它們中的任何一個(gè)都一無(wú)所知,所以在兩天結(jié)束時(shí),我會(huì)重新評(píng)估我在多大程度上重寫了我們要遷移的實(shí)際項(xiàng)目的某些部分。
我選擇重寫的部分是:

一些基本的API調(diào)用

兩個(gè)不同頁(yè)面的兩個(gè)布局

用戶相關(guān)內(nèi)容的兼容性

登錄表單和一些內(nèi)容表單

一個(gè)bootstrap模式

我對(duì)Vue.js的實(shí)力感到驚訝,在幾天之內(nèi)我實(shí)際上有了一個(gè)概念證明,以展示給團(tuán)隊(duì)的其他成員和我的CTO。我對(duì)Vue.js的基本概念有了很好的理解,定義了一個(gè)良好的,可擴(kuò)展的架構(gòu),但最重要的是我非常喜歡用它編寫代碼的經(jīng)驗(yàn),我覺得比React上手更快一些。
React比我想象的要難得多,在Redux和MobX之間進(jìn)行選擇比有一個(gè)與Vue.js和Vuex這樣的框架完全集成的選項(xiàng)更有問(wèn)題。這很簡(jiǎn)單,因?yàn)楫?dāng)沒有框架經(jīng)驗(yàn)時(shí),它會(huì)讓你更自信,而不是一個(gè)框架有一個(gè)正式的庫(kù)來(lái)做某事。順便說(shuō)一句,我覺得Vuex的適用性比Redux更容易,但可能這只是個(gè)人的一種感知,就像所有的學(xué)習(xí)曲線一樣。
JSX也是一個(gè)問(wèn)題,因?yàn)槲覀儫o(wú)法重用HTML代碼,而Vue.js確實(shí)允許我們?cè)谀撤N程度上這樣做。Vue文件實(shí)際上非常適合使用,因?yàn)槲也幌矚g內(nèi)聯(lián)模板。React將JSX / HTML與JS代碼混合在一起,我只是不喜歡,因?yàn)槲覉?jiān)信分離關(guān)注點(diǎn),看起來(lái)很丑。
編碼速度
編碼速度是Vue.js擅長(zhǎng)的領(lǐng)域,不需要學(xué)習(xí)JSX是一個(gè)巨大的幫助。當(dāng)另一位開發(fā)人員加入該項(xiàng)目并在大約1小時(shí)的培訓(xùn)課程后的幾個(gè)小時(shí)之后就開始項(xiàng)目開發(fā)。
這對(duì)我們來(lái)說(shuō)非常重要,您可以通過(guò)打開vue文件立即看到它。它包含一個(gè)帶有HTML和標(biāo)簽的模板部分,看起來(lái)類似于Angular 1,所以如果你做了一些Angular 1,它將非常熟悉。一個(gè)vue文件也有一個(gè)樣式和純javascript部分,你實(shí)際上使用javascript,你只需要學(xué)習(xí)一些關(guān)于Vue.js的東西來(lái)完全理解它們。理解Vue.js屬性(如方法,計(jì)算,屬性,數(shù)據(jù)和創(chuàng)建)將使您了解開始編碼所需的大約90%,非常簡(jiǎn)單。
文檔
為了獲得適當(dāng)?shù)乃俣龋覀冃枰己玫奈臋n和Vue.js文檔是一流的。指南,示例,問(wèn)題和API都記錄得非常好,涵蓋了我們?cè)陂_發(fā)過(guò)程中發(fā)現(xiàn)的所有疑問(wèn)。我們害怕找到我們會(huì)遇到的許多問(wèn)題的中文文檔,但事實(shí)并非如此,一切都以英文提供。
問(wèn)答
經(jīng)過(guò)一個(gè)多星期的考慮后,Vue.js表現(xiàn)非常好,但令我驚訝的是,周圍的問(wèn)題都迎刃而解,因?yàn)橹皼]有人使用過(guò)Vue.js,我得到的唯一評(píng)論是“ 看起來(lái)很酷,但我還沒有”用它“。React得到了最多的提及,Angular 2排在第二位。
我開始尋找具有Vue.js經(jīng)驗(yàn)的本地人才,我確實(shí)找到了一些非常好的人,所以我開始認(rèn)為我并不孤單,我的社交技術(shù)圈可能太小而且我不應(yīng)該對(duì)事實(shí)上,我不認(rèn)識(shí)任何人與Vue.js合作進(jìn)行制作。
移動(dòng)端
在我們考慮Vue.js vs React的時(shí)候,我們也在考慮重寫我們的移動(dòng)應(yīng)用程序,React Native看起來(lái)是一個(gè)非常好的選擇。這對(duì)React來(lái)說(shuō)是一個(gè)很大的優(yōu)勢(shì),因?yàn)閂ue.js沒有任何類似于React Native試圖做的長(zhǎng)遠(yuǎn)穩(wěn)定的開發(fā),所以在網(wǎng)絡(luò)和應(yīng)用程序客戶端之間重用代碼的可能性是一個(gè)巨大的優(yōu)勢(shì),但我決定我不會(huì)考慮。畢竟,根據(jù)我的經(jīng)驗(yàn),使用Node.js,我在瀏覽器和服務(wù)器之間重用了非常少量的代碼。
許可
在我寫這篇文章時(shí),有很多討論,因?yàn)镕acebook將React許可證更改為BSD +專利。根據(jù)Facebook,這個(gè)許可證旨在保護(hù)他們免受專利巨魔的侵害。這在我們的決策過(guò)程中并不是最原始的,但我很高興我們沒有采用React的方式,因?yàn)槿魏闻c許可相關(guān)的噪音都不是你想聽的噪音。
最終,F(xiàn)acebook落后于React可能會(huì)成為項(xiàng)目的責(zé)任而不是實(shí)力,這就是為什么擁有獨(dú)立基金會(huì)或組織負(fù)責(zé)成功的開源軟件項(xiàng)目通常會(huì)更好。Facebook應(yīng)該做正確的事情,以IBM為例,當(dāng)IBM收購(gòu)Strongloop時(shí),他們將Express.js捐贈(zèng)給Node.js這樣一個(gè)重要軟件所屬的基金會(huì)。社區(qū)的壓力和IBM的意愿確保了軟件的連續(xù)性。Twitter是另一個(gè)很好的例子,他們?cè)诜浅捤傻腗IT許可下發(fā)布了Bootstrap,沒有人在談?wù)揃ootstrap的License問(wèn)題。
最后的話
在我做出決定之前研究的許多網(wǎng)頁(yè)中,有一個(gè)圖表引起了我的注意,開發(fā)人員對(duì)Sacha Greif @sachagreif每年進(jìn)行的Javascript調(diào)查狀態(tài)的滿意度。我承認(rèn),正如作者所做的那樣,這不是科學(xué)調(diào)查,但確實(shí)提供了大量信息,后來(lái)當(dāng)我們有更清晰的圖片時(shí),我們的決策點(diǎn)證實(shí)了這一點(diǎn),特別是關(guān)于Vue.js,因?yàn)槲覀儗?duì)它一無(wú)所知我們研究的開始。您可以通過(guò)以下鏈接閱讀Javascript狀態(tài)。
總體而言,Vue.js是我們?cè)u(píng)估的贏家,它在Stack Overflow上有很多問(wèn)題,最簡(jiǎn)單的三個(gè)選項(xiàng)的官方文檔,最小的代碼庫(kù),與Bootstrap很好地集成,并且學(xué)習(xí)它是有強(qiáng)大的項(xiàng)目支持的Laravel和像阿里巴巴這樣的大公司是一個(gè)很大的優(yōu)勢(shì)。沒有像React這樣大的社區(qū)并不是影響我去用它的一個(gè)真正的因素,因?yàn)樗旧碜銐虼蟆?br>選擇Vue.js是正確的選擇,我花了一段時(shí)間來(lái)說(shuō)服我的首席技術(shù)官,我非常感激他總是問(wèn)正確和棘手的問(wèn)題并100%肯定我的所做出的決定。如果我弄錯(cuò)了,我會(huì)后悔的。
最后整個(gè)決策過(guò)程真的很有幫助,但是我能夠快速學(xué)習(xí)的事實(shí)產(chǎn)生了巨大的變化,如果你喜歡就稱之為直覺,但是學(xué)習(xí)一些東西真的快的時(shí)候讓我對(duì)更復(fù)雜的問(wèn)題有了很大的信心。我知道在實(shí)際開發(fā)過(guò)程中我會(huì)面對(duì)。
我不是說(shuō)React是一個(gè)糟糕的選擇,我對(duì)社區(qū)如此之大感到驚訝,并且有充分的理由,雖然jQuery也有很多人使用,并沒有使它成為我們想要的項(xiàng)目的良好框架/庫(kù)去做。
Vue.js正在獲得更多開發(fā)者的支持,我們?cè)陂_發(fā)過(guò)程中看到了這一點(diǎn),讓我們更加相信,我們的選擇是對(duì)的。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/52616.html

相關(guān)文章

  • 什么我們Angular 2遷移Vue.js什么我們沒有選擇React

    摘要:在,我們剛剛使用發(fā)布了我們的客戶端的新版本。得到了最多的提及,排在第二位。根據(jù),這個(gè)許可證旨在保護(hù)他們免受專利巨魔的侵害。正在獲得更多開發(fā)者的支持,我們?cè)陂_發(fā)過(guò)程中看到了這一點(diǎn),讓我們更加相信,我們的選擇是對(duì)的。 showImg(https://segmentfault.com/img/bVbdxdq?w=1960&h=960);在Rever(www.reverscore.com),我...

    wpw 評(píng)論0 收藏0
  • 前端每周清單第 34 期:Vue 現(xiàn)狀盤點(diǎn)與 3.0 展望,React 代碼遷移與優(yōu)化,圖片優(yōu)化詳論

    摘要:工程實(shí)踐立足實(shí)踐,提示實(shí)際水平內(nèi)聯(lián)函數(shù)與性能很多關(guān)于性能優(yōu)化的文章都會(huì)談及內(nèi)聯(lián)函數(shù),其也是常見的被詬病為拖慢性能表現(xiàn)的元兇之一不過(guò)本文卻是打破砂鍋問(wèn)到底,論證了內(nèi)聯(lián)函數(shù)并不一定就會(huì)拖慢性能,過(guò)度的性能優(yōu)化反而會(huì)有損于應(yīng)用性能。 showImg(https://segmentfault.com/img/remote/1460000011481413?w=1240&h=825); 前端每周...

    CoderStudy 評(píng)論0 收藏0
  • Vue面試題精選:VueReact的區(qū)別,分別在哪些場(chǎng)景下使用更合適?

    摘要:它們是高度重視且廣泛使用的框架,用于界面設(shè)計(jì)。應(yīng)用程序開發(fā)引起了全球開發(fā)人員的極大關(guān)注,以構(gòu)建令人驚嘆的應(yīng)用程序。但是,具有適應(yīng)性強(qiáng)的體系結(jié)構(gòu),使其成為廣泛使用的框架之一,具有最新的庫(kù)和包。專業(yè)和出色的社區(qū)支持,以解決任何問(wèn)題。 JavaScript是世界上最流行的語(yǔ)言之一,React和Vue是JS最流行的兩個(gè)框架。但哪一款最適合你? JavaScript越來(lái)越受歡迎,許多科技巨頭正在...

    mcterry 評(píng)論0 收藏0
  • Vue面試題精選:VueReact的區(qū)別,分別在哪些場(chǎng)景下使用更合適?

    摘要:它們是高度重視且廣泛使用的框架,用于界面設(shè)計(jì)。應(yīng)用程序開發(fā)引起了全球開發(fā)人員的極大關(guān)注,以構(gòu)建令人驚嘆的應(yīng)用程序。但是,具有適應(yīng)性強(qiáng)的體系結(jié)構(gòu),使其成為廣泛使用的框架之一,具有最新的庫(kù)和包。專業(yè)和出色的社區(qū)支持,以解決任何問(wèn)題。 JavaScript是世界上最流行的語(yǔ)言之一,React和Vue是JS最流行的兩個(gè)框架。但哪一款最適合你? JavaScript越來(lái)越受歡迎,許多科技巨頭正在...

    lijy91 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<