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
- Yukarıdaki kaynaklardan birini kullanarak yüklemek istediğiniz eklentiyi bulun ve README bölümünü bulun.
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';
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.