Eklentiler

Giriş

Eklenti, Blockly'ye işlev ekleyen bağımsız bir kod parçasıdır. Eklentiler alan ekleyebilir, temalar tanımlayabilir, oluşturucular oluşturabilir ve daha pek çok şey yapabilir.

Bir eklentinin hedef kullanıcısı, eklentiyi npm aracılığıyla bulup kullanan bir geliştiricidir. Eklenti oluşturma hakkında daha fazla bilgi için 2021 "Eklenti Nasıl Oluşturulur?" konuşmamızı ve 2021 Eklentilere Genel Bakış konuşmamızı izleyebilirsiniz.

Birinci taraf ve üçüncü taraf

blockly-samples deposunda tanımlanan eklentiler, birinci taraf eklentilerdir. Diğer bir deyişle, bu eklentiler Blockly ekibi tarafından desteklenir ve npm tarihinde @blockly kapsamında yayınlanır.

Harika birinci taraf eklentileri:

  • belirli kullanım alanlarına sahiptirler
  • genel amaçlıdır
  • stabil
  • ve kullanımı kolaydır

Üçüncü taraf eklentileri bağımsız olarak korunur ve yayınlanır. Üçüncü taraf eklentileri daha karmaşık, daha deneysel veya daha hedefli olabilir.

Örneğin, birçok robotik projesinde motor hızının ayarlanmasıyla ilgili bir alan kullanılabilir. Diğer yandan, veritabanı şemanız tarafından tanımlanan belirli bir nesneyi düzenlemeye yönelik bir alan üçüncü taraf bir eklenti olarak daha iyidir.

Birinci taraf ölçütleri

Birinci taraf eklentiler aşağıdaki şartları karşılamalıdır:

  • Blockly ekibi tarafından muafiyet verilmediği sürece tüm büyük platformlarda çalışır.
    • Chrome, Firefox, Safari, Edge
  • İlk yıl hataları ele almaya istekli bir yazarı vardır.
  • Blockly'de maymun yama yapmaz.
  • Açıkça tanımlanmış ve belgelenmiş bir API'ya sahip olmalıdır.
  • Blockly ekibi tarafından muafiyet verilmediği sürece Blockly core'dan özel veya paket işlevleri çağırmaz.
    • Tanımladığınız bir alt sınıfta paket işlevlerinin geçersiz kılınmasına izin verilir.
    • Muafiyet istiyorsanız blok halinde örneklerle ilgili sorunu bize sorun.
  • Testler var.

Eklentileri bulma

  • GitHub Sayfalarında Birinci taraf eklentilerin canlı demolarını keşfedin.
  • npm'de Blockly ekibi tarafından yayınlanan eklentilerin listesini görmek için @blockly araması yapın.
  • GitHub'da Blok örnekler deposundaki eklentiler dizinine bakın. Her eklentinin, davranışını ve kullanım amacını açıklayan bir BENİOKU işlevi vardır.

Eklentileri yükleme

  1. Yukarıdaki kaynaklardan birini kullanarak yüklemek istediğiniz eklentiyi bulun ve README bölümünü bulun.
  2. BENİOKU bölümündeki yükleme talimatlarını uygulayın. Genel olarak, eklentiyi npm'den yüklemeniz gerekir.Ör.

    npm install @blockly/block-plus-minus --save
    

    ve kodunuza aktarın.Ör.

    import Blockly from 'blockly';
    import '@blockly/block-plus-minus';
    
  3. Bazı eklentiler, eklentiyi başlatma veya kaydetme gibi ek adımlar gerektirebilir. Bu adımlar BENİOKU'da listelenir.

Eklenti sürümleri

Blok örneklerdeki eklentiler, anlamsal sürüm oluşturmayı izler. Bu nedenle, kesintiye uğrayan değişiklikler yeni bir ana sürümde yapılır. Maymun yamalama çekirdeğine dayanan tüm yeni eklentilerin ana sürümü, semver spesifikasyonunda belirtildiği gibi ilk geliştirmeyi belirtmek için 0 olacaktır.

Çoğu eklenti, ana blockly paketini bağımlılık yerine bir peerDependency olarak içerir. Bunun nedeni, Blockly'yi kendi uygulamanıza zaten yüklemiş olmanızdır (Blockly'yi kullanmadan bir eklenti kullanmak mantıklı olmaz). Bu nedenle, Blockly sürümünü kendiniz de yönetebilirsiniz. Ancak birçok eklenti, Blockly'nin en son sürümünde bulunan yeni API'leri kullanacak şekilde geliştirilmiştir. Bu nedenle sürüm gereksinimlerini bilmeniz gerekir. Eklentinin package.json etiketi, bu eklentiyle uyumlu olan en düşük Blockly sürümünü belirtir. Bir eklenti, Blockly'nin daha yeni bir sürümünü gerektirecek şekilde güncellenirse (ör.yepyeni bir API'den yararlanmak için) eklentinin ana sürümü yükseltilir. Çünkü bu değişikliği zarar verici bir değişiklik olarak değerlendiririz.

Eklentiyi package.json öğenize eklediğinizde, varsayılan olarak

"@blockly/block-plus-minus": "^2.0.15"

Bu işlem, npm'nin listelenen sürümdeki veya üzerindeki tüm alt sürümleri yüklemesine izin verir. Böylece 2.0.20 veya 2.1.0 sürümü çalışabilir ancak 3.0.1 gibi yeni bir ana sürümü kullanamaz. Blockly'nin yeni bir sürümüne güncellerken, eklentilerinizden herhangi birinin de yeni bir ana sürüme güncellenip güncellenemeyeceğini kontrol etmek iyi bir fikirdir.

npm olmayan eklentileri yükleme

Güncellemeleri kolayca almak için genellikle npm kullanılmasını önersek de npm olmayan eklentiler de kullanılabilir.

Eklenti dosyalarını klonlamadan eklemek için unpkg'ı kullanabilirsiniz. Örneğin,

<script src="https://unpkg.com/@blockly/block-plus-minus"></script>

Alternatif olarak blockly-samples deposunu klonlayıp dosyaları, Blockly'yi klonladığınızda yaptığınıza benzer şekilde ekleyebilirsiniz. Ancak, eklentideki en son özelliklerden ve hata düzeltmelerinden haberdar olmanıza yardımcı olacağı için mümkünse paket yöneticisi kullanmanızı öneririz.

Bu yöntemle, eklentinin BENİOKU bölümünde listelenen başlatma veya kayıt adımlarını yine de gerçekleştirmeniz gerekir.