Kor. En iyi bahis

Bir sonraki uygulamanızı oluşturmanıza yardımcı olacak hangi aracı kullanacağınızı düşünüyorsanız, Ember.js'yi düşünmeniz gerekir. Bir ön uç uygulaması oluşturmak son derece karmaşıktır ve çeşitli konuları kapsar. Tek başına almak istemediğiniz ve ortaya çıkan herhangi bir senaryoya hazırlıklı olmak istediğiniz bir macera. Ember arkanı alıyor ve bir sonraki projen için neden düşünmen gerektiğine biraz ışık tutacağım.

Kütüphaneler çerçeveler değildir.

Kütüphaneler bir araçtır. Belirli bir şey yapmanızı sağlar. Bir boya fırçası düşünün, sadece bir işi ve bir işi yapar. Altyapılar, birden çok aracı kapsar. Ember'de, bu araçlar, topluluk tarafından ön uç geliştirmedeki en karmaşık ve yaygın sorunların bazılarına en iyi çözümler olarak küratörlüğünü yaptı.

Ember, iyi küratörlüğünde bir alet kutusudur

Gördüğüm sorun, ön cephe toplumunun bir bütün olarak ikisini biraz şaşırtmış olmasıdır. Örneğin, Glimmer.js, Vue.js ve React.js, katman katman araçlarını gösterir; sayfadaki görüntü oluşturma öğelerini yönetmenize yardımcı olur. Bununla birlikte, yönlendirme desteği için React-Router ve router.js gibi diğer sorunları gideren araçların yanı sıra takım oluşturma için create-react-app ve ember-cli gibi araçlar da vardır.

Altyapılar, bu araçları kapsar; böylece uygulamanızı oluşturmaya başlayabilirsiniz. İlk çerçevem ​​Rails, bazı mükemmel kütüphanelerden oluşan bir çerçevenin mükemmel bir örneği. Sorun şu ki, bir arka uç çerçevesinin zihinsel olarak ön uçta çevrilmemesi, çünkü tüm ön uçtan sonra sadece UI - değil mi?

Hayır. Frontend geliştirme, web api desteği, takım, dağıtım, test etme ve daha fazlasını içerir. Bu bireysel parçalar birçok kitaplık tarafından geliştirilmiştir, ancak cebinizde bir çerçeve olması çok önemlidir - karar vermedeki yorgunluğu en aza indirerek yazılımı daha hızlı sunmanıza olanak tanır.

Yazılım Teslimi.

Mükemmel yazılımın gönderilmesini sağlamak benim sorumluluğumdur. Bir yazılım mühendisi olarak bazı şeyler yapıyorum. Bu şeyler müşteriyle yüzleşir ve bu hedefin önüne geçen herhangi bir şey dikkat dağıtıcıdır.

Bazıları, bir çerçeve oluşturmanın bir yazılım mühendisinin sorumluluğunda olduğunu söyleyebilir. Ve budur. Ancak, işleri karşılama ile kullanıcının karşı karşıya olduğu değeri dengelememiz gerekir.

Sevkıyat yazılımını en çok önemseyen ekipler arasında çalışmayı seviyorum. Müşterinin ihtiyaçları ile sık karşılaşılan gelişme sorunlarını çözme ihtiyacı arasında hassas bir denge ve belirgin bir fark olduğunu kabul ederler.

Ember bunu kutunun dışında yapıyor. Uygulamanızda en çok ihtiyaç duyduğunuz özellikleri sunarken, ortak sorunları çözmek için birlikte çalışan bir topluluk kuruldu. İhtiyacınız olana sahip değilse, kapsamlı addon ekosisteminin sizin için kesinlikle bir çözümü vardır. Sonuçta bu işe yaramazsa, size yardım etmeye istekli başkalarını bulacağınızdan eminim.

Ember'i seçmenin faydaları.

Daha basit bir yaşam.

Ember'i seçtiğimden beri, takım, web api desteği, güvenlik uyumluluğu ve daha fazlası hakkında endişelenmedim. Neden? Çünkü topluluk, yaşamını sana, bana ve diğer herkese yardım etmeye adayan bu alanlardaki uzmanlardan oluşuyor.

Ember'de test etmek hayatın nasıl kolaylaştığına mükemmel bir örnektir. Birim, entegrasyon ve kabul testlerinde tam çerçevenin bir parçasıdır. Sadece hangi test koşucusunu (örneğin qunit [2], mocha, vb…) kullanmak istediğinizi seçmeniz gerekir. Her şey bir araya gelir ve testlerinizi yazmaya ve uygulamaya hızla başlayabilirsiniz.

Mühendislerin acısız bir şekilde kabul testleri yazmalarını sağlamak, özellikle küçük ekipler ve dar bütçeler için ayrı bir KG departmanının gereksinimini ortadan kaldırabilir. Ve bunların hepsini bedavaya alıyorsun.

Arkadaş canlısı bir topluluk.

Topluluk muhtemelen Ember'i seçmenin en iyi yönlerinden biridir. Konuşmalar şeffaf ve halka açık olduğu için, bir modelin bir başkasına uygulanmasının ya da belirli bir tekniğin neden daha iyi olmasının ardındaki nedenlerin tümü web üzerinde belgelenmiştir [3]. İncelemeniz, eleştirmeniz, sakınmanız veya uygulamanız için hazır.

Ayrıca, Ember'in uzaklara gitmediğini de unutmayın. Ember topluluğunun kurduğu vakıf, bireyler ve şirketler koalisyonu ile inşa edilmiştir. Topluluktaki herkes, farklı sorunlardan ve farklı fikirlerden oluşan farklı geçmişlerden geliyor. Ancak bu, çerçevenin temel gücünün yattığı yerdir - sağlıklı tartışma, test edilmiş çözümlerin uygulanması ve sunumu.

Belgeler.

Kütüphane oldukça iyi belgelenmiştir [4]. Kaynak kodundan, kılavuzlardan veya temsili kanal konuşmalarından - sorunuzun cevabını bulabilirsiniz. Ve daha da iyisi - bu ciddiye alındı. Belgeler geliştirildi, Github'daki topluluk temelli konuşmalar tamamlandı ve çekirdek ekip, bu standart prosedürün kapsamlı addon sisteminde uygulanmasına yardımcı olan kılavuzları uyguladı.

Ember'in ortak eleştirileri.

Hoş değil.

Şey, öyle - kullanmak istediğinizi iddia ettiğiniz çerçevede bir sürü özellik var. Örneğin, kaynak haritalar kutudan çıkar, yani uygulamanızı kapsamlı bir şekilde oluşturmak için Chrome’un geliştirici araçlarını kullanabilirsiniz.

İstikrarlı olursanız kararlılık göze çarpmayabilir ve Ember'in işleri kırmanıza izin vermemesi sizi rahatsız edebilir. Bunu yapardık ve bu hiç eğlenceli değildi.

İyi haber şu ki sesiniz duyulabilir. Ember, çerçevedeki büyük değişiklikleri tartışmak için organize bir RFC sürecine sahiptir. Değişiklikler yapmadan önce öğrenebilir, iki sentinizi verebilir veya geri bildirim için kendi RFC'nizi oluşturabilirsiniz.

Öğrenme eğrisi dik.

Köz, uygulama geliştirme sürecini kolaylaştırmaya yardımcı olan çeşitli önemli parçalardan oluşur. Örneğin, yönlendirme, dağıtımlar ve otomatik testler hazırlanmıştır. Bu, yalnızca Ember’in önerilen tasarım modellerini öğrenmenizin yanı sıra, iyi çalışan yazılımları sevkıyat için diğer yönleri de öğrenmeniz gerekecektir.

Bu, öğrenme eğrisini biraz dik yapar, çünkü görsel katman için bileşenleri oluşturmayı öğrenmekten daha fazlası vardır. Ember’in dik öğrenme eğrisi hakkındaki argüman buna karşı kullanılmıştır, ancak ihtiyaçlarınız görünüm katmanının ötesinde büyüdükçe eninde sonunda gelişmenin bu diğer yönlerini öğrenmeniz gerekeceği gerçeğiyle de meydan okuyorum.

Bunun çekirdek ekibin dikkatini çektiğini ve giriş engelinin basitleştirilmesini sağlamak için işleri basitleştirmek için büyük bir hareket olduğunu unutmayın. Örneğin, JavaScript sınıflarına geçmek, this.get ve this.set ve daha fazlasına olan ihtiyacı ortadan kaldırmak, JavaScript geliştiricileri için en büyük karışıklık kaynaklarını ortadan kaldırmak için önerildi.

Yerli birincil vatandaş değil.

Ember, Tek Sayfa Uygulama (SPA) mimarisine bağlı bir çerçevedir. SPA'dan aldığınız faydalar Ember'in faydaları. SPA, yerel uygulamalar için bir konsept olmadığından Ember, yerel kullanıcılar için kötü bir seçenektir.

Aklınızda bulundurun Ember, ilerici web uygulamaları konusunda ilerleme kaydetti. Bu nedenle, bu göz önünde bulundurmak istediğiniz bir seçenek ise, Ember ile Progressive Web Uygulaması Geliştirmeyi mixonic ile kontrol edin.

Neden Ember'i seçmelisin?

Ember başlangıç ​​dünyasında ve işletme düzeyinde kullanılıyor. Orada zamana dayanıklı olduklarını kanıtlamış çeşitli uygulamalar var. Birçok sektörde kullanılmaktadır ve hızlı ve etkili bir şekilde ölçeklendiğini kanıtlamıştır. Ember, işletmelerin değer kazanmasına ve geliştirme ekiplerini dengelemesine yardımcı oldu.

Yazılım mühendisliği bakış açısıyla, bir ekibin dengelenmesi üzerinde çalıştığım her şeyden daha değerli. Bir takım üzerinde çalışıp aynı dili paylaşabildiğiniz zaman teknikler konusunda kafa karışıklığı olmadan, ekip büyür ve gerçek üründen daha değerli hale gelir.

Ürün açısından hızlı ilerleme görebilirsiniz. Aslında, seçtiğiniz araç size özellikleri hızlı bir şekilde yineleme ve çok kısa bir süre içinde geri bildirimde bulunma yeteneği verirse, bu bana iş için doğru araç gibi görünüyor.

Ve nihayetinde iş perspektifinden, ürünüme değer ne kadar erken katılırsam o kadar iyi olur.

Ekibinizin değer sunarken daha üretken ve memnun kalmasını istiyorsanız, Ember'i seçmeyi düşünmelisiniz. Hala tereddüt ediyorsanız, bana @ alvincrespo adresinden Twitter üzerinden ulaşmaktan çekinmeyin, iş için en iyi aracı bulmanıza yardımcı olmaktan mutluluk duyarım.

Teşekkürler.

Bu yazıyı yazmama yardımcı olan herkese teşekkür ederim. Zamanınız ve çabanız çok takdir edilir ve umarım buradaki kelimelerim yorumunuzu doğru şekilde yansıtır.

Notlar.

[1] create-react-app (CRA), biraz köz-cli ile aynı felsefeye dayanmaktadır. CRA, bir uygulama oluşturma konusunda başlangıç ​​deneyimi sağlar, ancak ihtiyaçlarınız bu projenin hedeflerini aştığında, kendi başınızasınız demektir. Öte yandan, ember-cli, yapımlarınızı kişiselleştirmek için klibe bağlanabilme olanağı sağlayan bir addos ekosistemi sunar.

[2] ember-qunit, önden konfigürasyon gerektirmeyen varsayılan test çalıştırıcısıdır

[3] Şeffaf konuşma örnekleri:

  • https://github.com/emberjs/rfcs/pull/176
  • https://github.com/emberjs/rfcs/pull/240

[4] Dokümantasyon örnekleri:

  • https://github.com/emberjs/ember.js/blob/v2.15.0/packages/ember-runtime/lib/mixins/observable.js#L96
  • https://github.com/emberjs/ember.js/blob/v2.15.0/packages/ember-routing/lib/system/route.js#L1458