Dahili JS - Ext JS
|
Ext JS 2.0 Web Masaüstü
| |
| kararlı sürüm | 7.4.0 / 10 Mayıs 2021
|
|---|---|
| Tip | JavaScript kitaplığı |
| Lisans | tescilli |
| İnternet sitesi | www |
Ext JS , Ajax , DHTML ve DOM komut dosyası oluşturma gibi teknikleri kullanarak etkileşimli platformlar arası web uygulamaları oluşturmaya yönelik saf bir JavaScript uygulama çerçevesidir . Basit bir bileşen çerçevesi olarak kullanılabilir (örneğin, aksi takdirde statik sayfalarda dinamik ızgaralar oluşturmak için), aynı zamanda tek sayfalık uygulamalar oluşturmak için tam bir çerçeve olarak kullanılabilir .
Orijinal olarak 15 Nisan 2007'de Jack Slocum tarafından 1.1 sürümünden başlayarak YUI'nin bir eklenti kitaplık uzantısı olarak inşa edilen Ext JS, harici kitaplıklara bağımlılık yapmaz, bunun yerine kullanımlarını isteğe bağlı hale getirir. Günümüzde Ext JS, hem tek bir komut dosyası (tüm sınıflar ve bileşenler tek bir dosyada) olarak hem de Sencha Cmd ile uygulama oluşturularak kullanılabilir.
Özellikleri
GUI kontrolleri (bileşenler)
Ext JS, web uygulamalarında kullanım için bir dizi GUI tabanlı form denetimi (veya " widget'lar ") içerir:
- metin alanı ve textarea giriş kontrolleri
- açılır tarih seçicili tarih alanları
- sayısal alanlar
- liste kutusu ve birleşik giriş kutuları
- radyo ve onay kutusu kontrolleri
- html düzenleyici kontrolü
- ızgara kontrolü (hem salt okunur hem de düzenleme modları, sıralanabilir veriler, kilitlenebilir ve sürüklenebilir sütunlar ve çeşitli diğer özelliklerle)
- ağaç kontrolü
- sekme panelleri
- araç çubukları
- masaüstü uygulama tarzı menüler
- bir formun birden çok alt bölüme bölünmesine izin vermek için bölge panelleri
- kaydırıcılar
- vektör grafikleri
Temalar ve araç takımları
Sencha ayrıca bileşenleri şekillendirmek için bazı temalar da sağlar. Bir temayı değiştirmek, basitçe CSS'yi ve temanın bir komut dosyasını değiştirmeyi gerektirir. Sencha CMD'yi kullanırken uygulamanın yeniden oluşturulması gerekebilir.
Tüm bileşenler her temayla çalışmalıdır, ancak görünüm ve hisleri değişecektir. Örneğin Klasik tema, dokunmatik cihazlar için uygun olmayan oldukça küçük öğelere sahiptir. Neptune Touch, tabletler ve telefonlar için daha uygun olan daha büyük öğelere sahiptir.
Ext JS, modern ve klasik araç seti olarak adlandırılan iki farklı şekilde gelir . Sadece mevcut temalarla değil, aralarında bazı API farklılıkları da var. Bu nedenle, bir araç setinden diğerine geçmek, temalar için olduğu kadar kolay değildir. 2019 için planlanan Ext JS 7.1'de araç takımları arasındaki bazı farklılıkların giderilmesi planlanmaktadır.
Programlama araç takımı
Ext JS, birçok yeteneğe sahip sınıfların bir bileşimidir. Bazı örnekler:
- tarayıcılar için soyut bir katman (örneğin
Ext.isArray, yerine kullanılabilirArray.isArray) - devlet yönetimi (mağazalar)
- sunucu iletişim katmanı (proxy'ler ve
Ext.Ajax.request) - düzen ve pencere yönetimi
- olay yönetimi (özel bileşenler için basitleştirilmiş özel olaylar oluşturma ile)
- yönlendirme
Sınıf sistemi
Ext JS'nin kendi sınıf sistemi vardır. Sınıflar ile tanımlanır Ext.defineve ardından ile bir örnek oluşturulabilir Ext.create. Bazı sınıflar (örn. bileşenler ve mağazalar) takma adlara sahip olabilir ve bir takma adla oluşturulabilir. Üst bileşen oluşturulduğunda bileşenlerin örnekleri otomatik olarak oluşturulur.
Class hem özel hem de yerleşik sınıfları genişletebilir. Tipik olarak özel bileşenler, yerleşik bileşenleri genişletir (örneğin MyApp.views.ProductsTable, yerleşik bileşenleri genişletir Ext.grid.Panel).
Yerleşik bir dinamik yükleyici vardır, böylece sınıflar dinamik bağımlılıklara sahip olabilir (isteğe bağlı olarak yüklenir). ExtJS'de iki tür bağımlılık vardır. requiresÖzellik ile bildirilen bağımlılıklar , sınıfın örneği oluşturulmadan önce yüklenir. Özellikte tanımlanan bağımlılıklar uses, sınıfın örneği oluşturulduktan sonra yüklenebilir.
Sınıfları geçersiz kılmak da mümkündür. Hatta yerleşik sınıflar. Yerleşik sınıfları geçersiz kılmak, örneğin uluslararasılaştırma sağlamak veya yamalar oluşturmak için yararlı olabilir. Geçersiz kılınan sınıf, yeni bildirimle birleştirilir. Her sınıf gerektiği kadar geçersiz kılınabilir (örn. i18n ve ardından l10n sağlanması).
Ext JS sürüm geçmişi
Dahili JS 2.0
Ext JS sürüm 2.0, 4 Aralık 2007'de yayınlandı. Bu sürüm, geleneksel olarak masaüstü uygulamalarıyla ilişkilendirilenlere daha çok benzeyen bir arabirim ve özellikler sağladığı için tanıtıldı. Ayrıca yeni kullanıcı belgeleri, API belgeleri ve örnekler de tanıtıldı .
Ext JS 2.0, sürüm 1.1 ile geriye dönük uyumluluk sağlamadı. Bunu ele almak için bir geçiş kılavuzu geliştirilmiştir.
Dahili JS 3.0
Ext JS sürüm 3.0, 6 Temmuz 2009'da yayınlandı. Bu sürüm, REST için iletişim desteği ve yeni bir Ext.Direct sunucu tarafı platformu ekledi. Standart görüntüleme bileşenlerine yeni flash grafik ve ListView öğeleri eklendi. Sürüm 2.0 koduyla geriye dönük uyumluydu.
Harici JS 4.0
Ext çerçevesinin 4.0 sürümü 26 Nisan 2011'de yayınlandı. Tamamen revize edilmiş bir sınıf yapısı, revize edilmiş bir veri paketi, SVG ve VML kullanan bir animasyon ve çizim paketi ve revize edilmiş grafik ve tema içerir. Ayrıca, model-görünüm-denetleyici (MVC) stili kod organizasyonu sağlayan isteğe bağlı bir mimari içerir .
Dahili JS 5.0
Ext JS çerçevesinin 5.0 sürümü 2 Haziran 2014'te yayınlandı. Tek bir kod tabanı, bir Model View ViewModel ( MVVM ) mimarisi, iki yönlü veri bağlama, dokunmatik özellikli cihazlarda masaüstü uygulamaları oluşturma yeteneğini içerir. veri görselleştirme ve büyük veri analitiği için bir ızgara hücresinin içine widget ekleme desteği ile duyarlı düzenler ve diğer bileşen yükseltmeleri. Ext JS 5, ek finansal çizelgeleme yetenekleriyle birlikte, yükseltilmiş bir dokunmatik optimizasyonlu çizelge paketini de içerir.
Ext JS 5, Safari 6+, Firefox, IE8+, Chrome ve Opera 12+ dahil olmak üzere modern ve eski tarayıcıları destekler. Mobil platformda Ext JS 5, iOS 6 ve 7'de Safari'yi, Android 4.1+ üzerinde Chrome'u ve IE10+ çalıştıran Windows 8 dokunmatik ekranlı cihazları (Surface ve dokunmatik ekranlı dizüstü bilgisayarlar gibi) destekler.
Önemli: Ext JS 5 sürümünden 5'ten az geliştirici için lisans satın alamazsınız.
Harici JS 6.0
Ext JS çerçevesinin 6.0 sürümü 1 Temmuz 2015'te yayınlandı. Sencha Touch (mobil) çerçevesini Ext JS ile birleştirir.
Dahili JS 7.0
Ext JS çerçevesinin 7.0 sürümü 29 Ağustos 2019'da yayınlandı. Ext JS 7.0 küçük bir sürümdü. Modern Toolkit'e birkaç bileşen eklendi. Klasik Araç Takımı, Materyal Tasarım Temasını aldı .
Sencha
15-Haziran-2010 tarihinde, Ext JS'nin JQTouch ve Raphaël ile birleştiği ve Sencha Inc adlı yeni bir organizasyon oluşturduğu duyuruldu. Ext JS, Sencha Touch , Sencha GWT (şimdi Sencha GXT), Sencha Architect, Sencha Animator ve Ext core.
23-Ağustos-2017'de Sencha, IDERA (sırasıyla Embarcadero Technologies'in sahibi ) tarafından satın alındı . Embarcadero, Delphi ( birincil programlama dili olarak Object Pascal'a dayanan) gibi hızlı uygulama geliştirme yazılımlarının satın alınmasıyla tanınır .
Sencha JetBrains eklentisi
Sencha'nın JetBrains eklentisi, Sencha Frameworks ve JetBrains yazılımı arasında bir birleşme oluşturan bir Entegre Geliştirme Ortamı aracıdır. Bu entegrasyon , yerel JetBrains davranışıyla işbirliği yaparken kod tamamlama , inceleme ve öneri biçiminde gelir .
Dahili.NET
Ext.NET, Ext kitaplığını entegre eden bir ASP.NET bileşen çerçevesidir, mevcut sürüm (Eylül 2017 itibariyle) 4.4'tür ve ExtJS sürüm 6.5.1'i entegre eder.
Lisans geçmişi
YUI-Ext, BSD lisansı altında mevcuttu . Nisan 2008'de Ext ile ilişkili açık kaynak lisansı değiştirildi. 2.0.2 sürümü, yazarlar Dahili bir altında mevcut olduğunu belirtti LGPL sürece tarzı lisans olarak önlüyor olmayan kullanarak bu açık kaynak projesine veya" "Bir kişisel, eğitimsel veya kar amacı gütmeyen bir şekilde Ext kullanmak planı" -açık kaynaklı yazılım" veya "Ext'i bir yazılım geliştirme kitaplığı veya araç takımı olmayan ticari bir uygulamada kullanıyorlar". Ext 2.1 ile artık durum böyle değildi. Dahili yazarlar, ifade edildiği şekliyle LGPL'nin 7. bölümünün, bölüm 7'nin bir distribütörün kaldırmasına izin verdiği "ek kısıtlamalar"ın aksine, LGPL kapsamında dağıtımdan önce lisanslarının gerekli olduğu "koşullar" için geçerli olmadığını iddia etmektedir.
20 Nisan 2008'de Ext 2.1, tam GPL 3.0 lisansı veya özel lisans seçeneklerine izin veren yeni bir ikili lisans yapısı altında yayınlandı.
İzin verilen bir açık kaynak lisansından kısıtlayıcı bir ikili lisansa kadar zaman içinde lisanstaki değişiklik, Ext kullanıcı topluluğunda tartışmalara neden oldu.
Sencha, ticari ve GPL lisans koşullarıyla ilgili ayrıntıları web sitesinde yayınladı.
Kasım 2018'de Sencha, ücretsiz olan ancak ExtJS kullanan bir kişi veya şirketin yıllık geliriyle sınırlı olan Topluluk Sürümünü duyurdu.
Ayrıca bakınız
Referanslar
bibliyografya
- Orchard, Leslie M.; Pehlivanyan, Ara; Koon, Scott; Jones, Harley (31 Ağustos 2009). Profesyonel JavaScript Çerçeveleri: Prototip, YUI, ExtJS, Dojo ve MooTools (1. baskı). Wrox'a basın . P. 888. ISBN 978-0-470-38459-6.
- Frederick, Shea; Ramsay, Colin; 'Kesici' Bıçaklar, Steve (28 Kasım 2008). Ext JS Öğrenme (1. baskı). Paket Yayıncılık . P. 299. ISBN'si 978-1-84719-514-2.
- Gonzalez, Armando; Villa, Crysfel (2012-10-08). Öğrenme Ext JS 4 (1. baskı). Paket Yayıncılık . P. 434. ISBN'si 978-1-84951-684-6.