Neden hemen React'i bırakıp Vue kullanmalıyım?

Artık Vue.js, Github'da React'ten daha fazla yıldıza sahip. Bu çerçevenin popülaritesi artmaya devam ediyor ve Facebok (React) veya Google (Angular) gibi büyük şirketler tarafından desteklenmediği için bu büyüme çok şaşırtıcı.

Bu yazıda, Vue'nun popülaritesi ve neden rekabeti geride bırakabileceği konusundaki görüşlerimi açıklayacağım. Vue'nun tasarım felsefesi ve özellikleri React'e çok benzediğinden, ikisini karşılaştıracağım ve React'in (iyi bir çerçeve olsa bile) neden aldatıcı olduğunu açıklayacağım.

Web geliştirmenin gelişimi

1990'larda, web sitesi yazmak yalnızca HTML, artı bazı basit CSS stilleriydi. Avantajı, çok basit olmasıdır. Dezavantajı, birçok işlevden yoksun olmasıdır.

Sonra PHP ortaya çıktı, bu yüzden kodu şöyle yazmaktan mutluluk duyduk:

Bu kod bugün korkunç görünse de, o zamanlar büyük bir gelişmeydi. Bu tür bir ilerleme şimdiye kadar aynı kaldı: Bir gün daha iyi bir rakip ortaya çıkana kadar sevdiğimiz yeni dili ve çerçeveyi seçiyoruz.

React gelmeden önce Ember kullandım. Sonra her şeyi web bileşenleri, sanal DOM'u ve verimli renderleme olarak değerlendiren React'e geçtim ve hepsi beni tazeledi. Her şey mükemmel olmasa da, kod yazma şeklinden büyük bir gelişme.

Daha sonra Vue.js'ye geçmeye karar verdim ve artık React kullanmıyorum.

Tepki fena değil, ancak çok beceriksiz ve ustalaşması zor buldum ve bazı yerlerdeki kod tamamen mantıksız görünüyor. Ve Vue'nun bu sorunları çözme şekli beni çok rahatlatıyor.

Nedeni hakkında konuşmama izin verin.

verim

Önce performanstan bahsedelim.

Her web geliştiricisi bant genişliği sınırlamalarıyla karşı karşıyadır, bu nedenle web sayfasının boyutu çok önemlidir. Sayfa ne kadar küçükse o kadar iyidir. Ve şimdi mobil tarayıcıların popülaritesi nedeniyle, bu konu birkaç yıl öncesine göre daha önemlidir.

Bir dizi sayıya bakalım:

Vue kütüphanesinin boyutu 25.6KB'dir. React'in mimarisinin benzer işlevlere ulaşmasını sağlamak için, React DOM + React Router + React ve diğer eklentilere ihtiyaç vardır, bu toplamda 48,8KB'dir.

Vue bir puan alıyor.

Gerçek performans aşağıdaki şekilde gösterilmektedir:

Bu performans testlerinin, Vue'nun daha az bellek kapladığını ve React'ten daha hızlı çalıştığını gösterdiği görülebilir.

Vue'nun işleme hattı daha hızlıdır ve bu, karmaşık uygulamalar oluştururken çok kullanışlıdır. Proje oluşturma daha verimlidir, bu nedenle kodu optimize etmeyi çok düşünmeye gerek yoktur, bu nedenle proje için gerçekten yararlı olan işlevlere daha fazla enerji harcanır. Mobil cihazlardaki performansı da çok iyi, bu nedenle cep telefonlarında daha sorunsuz çalışması için belirli bir algoritma kullanmaya gerek yok.

React'ten Vue.js'ye geçerken boyut ve performanstan ödün vermenize gerek yoktur. Her ikisine de aynı anda sahip olabilirsiniz.

öğrenme eğrisi

React'i öğrenmek oldukça iyidir. Tüm kitaplık, harika bir şekilde web bileşenleri etrafında oluşturulmuştur. React'in çekirdeği çok iyi ve kararlı, ancak gelişmiş yönlendirme yapılandırmasını henüz çözemedim. Bu kadar çok yönlendirme kitaplığı sürümü ne yapıyor? Mevcut sürüm 4 (+ React-router-dom), ancak v3'ü kullandım. Sürümü seçtikten sonra, yine de çok kullanışlıdır, ancak öğrenme süreci çok zahmetlidir.

Üçüncü taraf kitaplığı

Çoğu modern çerçeve aynı tasarım felsefesine sahiptir: birkaç özelliği olan basit bir çekirdek ve ardından işlevselliğini geliştirmek için başka kitaplıklar ekleyin. Diğer kütüphaneler kolayca ve aynı şekilde entegre edilebilirse, bir teknoloji yığını oluşturmak çok basit olacaktır. Bence bu adımın basitliği ve doğruluğu çok önemli.

Hem React hem de Vue, projenizi başlatmanıza ve çeşitli araçları yapılandırmanıza yardımcı olacak bir dizi araca sahiptir. React ekosisteminde, çeşitli kitaplıklarda uzmanlaşmak zor olabilir, çünkü genellikle aynı sorunu çözmeye çalışan birkaç kitaplık vardır.

Bu konuda hem React hem de Vue iyi gidiyor.

Kod netliği

Bence React'in kod netliği çok zayıf. JSX, kodun netliği açısından bir felaket olan HTML kodunun koda gömülmesine izin verir.

Ayrıca başka sorunlarla da karşılaşacaksınız. Bileşen şablonlarından yöntemlerin çağrılması genellikle buna erişilemezlik ile sonuçlanır ve sonuç olarak manuel olarak bağlama yapılması gerekir: < div onClick = {this.someFunction.bind (this, listItem)} / > .

Bazen React tamamen mantıksız hale gelebilir ...

Uygulamalarda birçok koşullu yargının kullanılabileceği düşünüldüğünde, JSX'in yöntemi çok kötü. Döngü yazmanın yolu daha çok şaka gibidir. Elbette şablon sistemini değiştirebilir, JSX'i React yığınından kaldırabilir veya JSX'i Vue'da kullanabilirsiniz, ancak çerçeveyi öğrenirken öğrenmenin ilk yolu bu değildir, bu yüzden burada tartışmayacağım.

Bir başka nokta da Vue'nun setState veya benzeri yöntemleri kullanmanızı gerektirmemesidir. Elbette, yine de veri yöntemindeki tüm durum özniteliklerini tanımlamanız gerekir, ancak bunu tanımlamayı unutursanız, konsolda bir komut istemi görüntülenecektir. Geri kalanı otomatik olarak dahili olarak işlenecektir, sadece normal bir Javascript nesnesi kullanırken olduğu gibi bileşendeki değeri değiştirmeniz gerekir.

React'i kullanırken birçok hata var. Esas prensip basit olsa bile, bu hatalar öğrenmenin ilerlemesini yavaşlatacaktır.

Basitlik açısından, Vue'de yazılan kod, diğer çerçevelerde yazılan koddan çok daha küçüktür. Bu, Vue çerçevesinin en iyi noktasıdır. Her şey basit, sadece birkaç satırlık kısa ve anlaşılır kodla karmaşık işlevler yazabilirsiniz. Diğer çerçevelerle% 10,% 20 ve hatta% 50 daha fazla kod yazmanız gerekir.

Vue'yu kullanmak için çok şey öğrenmenize gerek yok. Her şey sezgiseldir. Vue.js kodu yazmak, fikirleri en yakın şekilde ifade edebilir.

Vue'nun bu kullanım kolaylığı, Vue'nun kabul edilmesini kolaylaştıran ve aynı zamanda ekip iletişimini kolaylaştıran çok iyi bir araçtır. İster teknoloji yığınının diğer bölümlerini değiştirmek isteyin, ister acil bir durumda ekibe daha fazla kişi eklemek veya ürününüzü açıklamak isteyin, Vue size zaman ve para kazandırabilir.

Zaman tahmini de kolaydır, çünkü işlevi uygulamak için gereken süre geliştirici tarafından tahmin edilen zamanı aşmayacaktır, bu da daha az yanlış anlamaya, hataya veya iyimser tahminlere yol açacaktır. Vue'da anlaşılması gereken daha az kavram vardır, bu da proje yöneticileriyle iletişimi kolaylaştırır.

sonuç olarak

İster boyut, performans, basitlik veya öğrenme eğrisi açısından olsun, Vue.js'yi benimsemek kesinlikle şu anda hem zaman hem de para sorunlarını çözebilecek en iyi seçimdir.

Hafifliği ve performansı, projenizde aynı anda iki çerçeve (Angular ve Vue gibi) kullanmanıza izin verir, bu nedenle Vue'ya taşımak daha kolaydır.

Topluluk ve popülariteye gelince, Vue şu anda çok fazla ilgi görse de React'in popülaritesine ulaştığını söylemek zor. Ancak büyük BT şirketlerinin desteği olmayan bir çerçevenin bu kadar popüler olabileceği gerçeğinin kendisi de dikkate değerdir. Pazar payı, bilinmeyen bir projeden, ön uç geliştirmede en büyük rakibe hızla büyüdü.

Vue'daki modül sayısı da hızla artıyor ve ihtiyacınız olan modülü bulamasanız bile, kendiniz bir tane yazmak çok zaman almayacaktır.

Bu çerçeve, anlamayı, paylaşmayı ve düzenlemeyi kolaylaştırır. Başkalarının kodunu okumak sadece kolay olmayacak, diğerlerinin uygulamasını değiştirmek de zor değil. Vue ile çeşitli alt projeleri ve dışarıdan gelenler tarafından projede yapılan değişiklikleri sadece birkaç ay içinde güvenle halledebiliyorum. Bana zaman kazandırıyor ve sistem tasarımına odaklanmamı sağlıyor.

React, tasarımdan setState gibi yardımcı fonksiyonların kullanılmasını gerektirir ve programlama sırasında bunları kullanmayı kesinlikle unuttuğunuz zamanlar olacaktır. Ayrıca şablon yazmak çok çaba gerektirir ve şablonların yazılma şekli de projenin anlaşılmasını ve sürdürülmesini zorlaştırır.

Bu çerçevelerin büyük projelerde kullanımını göz önünde bulundurarak, React'i kullanırken diğer kitaplıklarda uzmanlaşmanız ve ekibinize bunları nasıl kullanacağını öğretmeniz gerekir. Ayrıca çeşitli ilgili konuları ele alın (A bu kitaplığı sevmiyor, B bu kitaplığı anlamıyor vb.). Vue yığını daha basittir ve ekipler için daha uygundur.

Bir geliştirici olarak kendimi mutlu, kendinden emin ve özgür hissediyorum. Proje yöneticisi olarak ekiple daha kolay plan yapıp iletişim kurabiliyorum. Serbest çalışan olarak zamandan ve paradan tasarruf ediyorum.

Elbette, Vue tarafından kapsanmayan birçok gereksinim vardır (özellikle yerel uygulamalar oluşturuyorsanız). React, bu alanlarda harika bir iş çıkarıyor, ancak Evan You ve Vue ekibi zaten bu sorunları çözmek için çalışıyor.

React, iyi konseptleri ve bu kavramların gerçekleştirilmesi nedeniyle popülerdir. Ama şimdi görünüşe göre konsepti karışmış durumda.

React kodunu yazarken, gün boyu çeşitli geçici önlemlerle uğraşmanız ("Kod Netliği" bölümüne bakın), anlamlı kod yazmaya çalışmanız ve sonunda kimsenin anlayamayacağı bir dizi çözüm bulmanız gerekir. Kendiniz bile, bu çözümü birkaç ay sonra okumak zor olacaktır. Projeyi yayınlamak için çok çalışmak zorundasınız ve elde ettiğiniz tek şey bakımı zor ve hatalarla dolu bir şey ve onu değiştirmek için bile biraz eğitim almanız gerekiyor.

Bu olumsuz faktörler, projede kimsenin görmek istemediği şeylerdir. Neden bu sıkıntılarla uğraşmak zorundasın? Yalnızca topluluk ve üçüncü taraf kitaplıkları için mi? Faydaların küçük bir kısmını elde etmek için çok fazla acıya katlanmak zorundayız ve faydaların bu küçük kısmı bile giderek daha az önemli hale geliyor.

React eskiden hayatımı kolaylaştırırdı, ancak bazı yönlerden uygulamayı daha karmaşık hale getirdi. Yıllar sonra, Vue sonunda ondan kurtulmama izin verdi. Gerçekleşmesi, hayal gücümdeki gelişmeye çok benziyor ve geliştirme sürecinde, temelde gerçekleştirilmesi gerekenden başka bir şeyi düşünmeye gerek yok. Yerel JavaScript mantığına çok benziyor (setState yok, koşullu yapıları uygulamak için özel kullanım ve algoritma yok). Kodu hayal ettiğiniz gibi yazın. Hızlıdır, güvenlidir ve sizi mutlu edebilir. Vue'nun front-end geliştiriciler ve şirketler tarafından gittikçe daha fazla kabul edildiğini görmekten çok mutluyum ve umarım React'in hakimiyetini sona erdirir.

Feragatname: Bu makale benim kişisel görüşüm, sadece şu anki fikrimi ifade ediyor. Teknoloji ilerledikçe, bu görüşler değişecektir (daha iyi veya daha kötü hale gelebilir).

Orijinal: https://blog.sourcerer.io/why-you-should-leave-react-for-vue-and-never-use-it-again-5e274bef27c2

Yazar: Gwenael P, ön uç mühendisler, Vue.js hayranları.

Çevirmen: Crescent Moon, Kurgu: Tu Min

"Belgeler için arayın!"

CSDN halka açık hesabı, "on binlerce teknik insanla büyüme" kavramına bağlıdır. Teknik insanların ilk kez ilgilendikleri endüstri odak olaylarını teknik insanların benzersiz bakış açılarından tanımlamak için yalnızca "inek başlıkları" ve "konuşma" sütunlarını kullanmakla kalmaz, aynı zamanda "Teknoloji Başlıkları" sütunu, sektördeki popüler teknolojilerin ve uygulamaların derinlemesine bir yorumunu sunarak, tüm geliştiricilerin teknolojik trendlere ayak uydurmasına, uyanık bir teknolojik anlayışı sürdürmesine ve sektör eğilimleri ve teknolojileri hakkında daha kapsamlı bir anlayışa sahip olmasına olanak tanır.

Yüksek kaliteli makaleleriniz veya sektörün sıcak olayları, teknoloji trendlerine ilişkin içgörüler veya derinlemesine uygulama uygulamaları, senaryolara ilişkin yeni bilgiler vb. Varsa, başvurular için CSDN ile iletişime geçebilirsiniz, iletişim: WeChat (guorui_1118, lütfen gönderim + ad + Şirket pozisyonu), e-posta (guorui@csdn.net).

Depozito ödendi, arabayı almak için bekliyorum, hayatımdaki ilk araba, Pentium T77
önceki
Audi Q7 veya Weilai ES8, hangi yedi koltuklu lüks SUV'u seçmeli?
Sonraki
"Hardcore" Mart'ta geliyor! Bu yeni düzenlemeler yakında uygulanacak, fiyatların düşeceğini duydum ...
Hacker News Temmuz Programlama Listesi: Python birinci sırada, Go Java'yı başarıyla yeniyor
"Fucai" ve "Refah Piyangosu Kazı Kazan Piyangosu Her Gün Otomobil Gönderin" etkinliği son kez! Qingdao Piyangosu tekrar Buick'e gitti
Lüks orta boy SUV pazarını sallayan Weilai ES6 uygun mu?
2008'den 2018'e, İnternet'in on yıllık iniş ve çıkışları
4 yıllık en iyi takım Meizhou antrenmanı, ilk kampüs milli takımı ordu olmak üzere
İyi şanslar, bu gece "tavuk yeme" şeklindeki doğru duruşun kilidini açmak için Python nasıl kullanılır?
20 yıllık duygu araba modeli Audi TT 20. yıl dönümü hatıra modelini başlattı
Google, Apple ve Amazon kısa süre önce satın alınan şirketler, sıradaki siz misiniz?
Borgward'ın güncellenmiş BX7 casus fotoğrafları, elektronik vardiya kolları ile ortaya çıktı / resmi olarak 2019 sonbaharında listelendi
Bahar Şenliği sırasında ücretsiz otoyol nasıl sayılır? Bilmiyorsam yine de ödemek zorundayım!
Pekin "Sanyuanli" Sebze Pazarı: Sebze pazarında, kalkınmaya ve dünyaya ayak uydurmaya odaklanan İnternet ünlü mağazaları
To Top