Tarih ve Felsefe¶
BeeWare projesi basit bir soruyla başladı: Neden araçlar Python geliştiricileri olarak kullandığımız, diğerleriyle aynı oranda gelişen günlük olarak kullandığımız teknolojinin bir parçası mı?
Python, yeni başlayanlar için kolay anlaşılır, ancak uzmanların elinde güçlü bir dil olarak kendini kanıtlamıştır. Python, veri analizi, bilimsel hesaplama ve web geliştirme alanlarında hızla önemli bir yer edinmektedir. Ve Django Girls gibi girişimler, Python kullanarak programlama deneyimi olmayan kişilere Python'u tanıtan 1 günlük eğitim kursları düzenlenebileceğini ve kursun sonunda katılımcıların veritabanı destekli dinamik bir web sitesi geliştirip halka açık bir sunucuya yerleştirebildiklerini göstermiştir.
Ancak, Python yazan birinin geliştirici deneyimi bazen yeni milenyumdan çok 90'ların başlarını yansıtıyor. Python için varsayılan geliştirme ortamı hala 80x25 konsol penceresi. Windows veya Apple ortamından gelen ve son derece ayrıntılı, iyi tasarlanmış grafik arayüzlere alışkın kullanıcılar için bu 30 yıllık geri dönüş tamamen yabancı bir deneyim olabilir.
Ve evet, IDE'ler (Entegre Geliştirme Ortamları) var. kod yazmak için yerel bir uygulama deneyimi sağlar. Ama bunlar araçları, IDE'nin bakış açısını toptan benimsemenizi gerektirir. proje. Genellikle geliştirme sürecine birçok baş ağrısı getirirler çözerken süreç.
Ve böylece, "eski yöntem" ile "yeni yöntem" arasında ilginç bir ayrılıkla karşı karşıya kalıyoruz. Konsol penceresinde Unix geliştirme ve hepsi bir arada aygıtın "yeni yolu" IDE'ler.
Unix Felsefesi¶
Ancak, böyle olmak zorunda değildir. Unix Felsefesinin temel ilkesi, "her araç tek bir şeyi iyi yapar"dır. Bu çok güçlü bir felsefedir ve son derece odaklanmış, bağımsız araçlardan oluşan bir paket bir araya getirerek son derece güçlü araç zincirlerinin oluşturulmasını sağlar.
Ne yazık ki, çoğu UNIX aracı bunu aynı zamanda "tüm araçları bir konsol arayüzü kullanmalıdır". Ancak, bu belgede hiçbir şey yok. Araçların bir konsol arayüzü kullanması gerektiğini söyleyen UNIX felsefesi - sadece bu şekilde ortaya çıktı.
BeeWare projesi, en iyisine sahip olabileceğimiz öncülüyle başladı her iki dünya. Her biri bir iş yapan birleşik araçlar zincirine sahip olabiliriz. şey, iyi. Ancak bu araçlar aynı zamanda işlevselliklerini bir zengin grafik kullanıcı arayüzü.
Sadece koddan daha fazlası¶
Ancak bu, koddan daha fazlasıdır. Başarılı bir yazılım projesi dokümantasyon, tasarım becerileri, geri bildirim ve hata raporları gerektirir. Bu BeeWare topluluğu tüm katkıların önemli olduğunu kabul eder - Sadece GitHub'da çekme isteği olarak gelenler değil.
O zaman bile, bir projeyi bir boşlukta, aşağıdakilerin toplamı olarak düşünmek kolaydır tüm katkılar. Ancak durum asla böyle değildir. Açık kaynaklı bir proje toplum hakkında.
Çeşitlilik ve kapsayıcılık¶
Çeşitliliğe sahip bir toplum güçlü bir toplumdur. Bu, insanları kabul etmek anlamına gelir Her deneyim seviyesinden, her geçmişten, her ırktan, her inançtan, yönelimler ve ifadeler. BeeWare projesi aşağıdakileri taahhüt etmektedir Kapsayıcı, çeşitlilik içeren ve misafirperver bir toplum geliştirmek ve sürdürmek.
Bunu desteklemek için, katkıda bulunmak isteyen herkese mentorluk yapmaya hazır olduğumuzu açıkça belirtiriz ve Davranış Kuralları titizlikle uygulanır. Bu davranış kurallarının ihlal edildiğine dair herhangi bir bildirim - üst düzey topluluk üyeleri tarafından yapılmış olsa bile - saygıyla ele alınacak ve uygun şekilde işlem yapılacaktır.
Sağlıklı ve sürdürülebilir¶
Topluluğun erişilebilir olduğundan emin olmak da önemlidir ve sürdürülebilir. Ne yazık ki Açık Kaynak'ın kabul edilmiş bir parçası haline geldi "gerçek" Açık Kaynak projelerinin tamamen geliştirilmesi gerektiğine dair kültür gönüllüler tarafından. Bu durum birçok grup için giriş engeli teşkil etmektedir - Boş zamanlarını gönüllülük yaparak geçirebilenler sadece *Boş zamanım var.
Ayrıca, katkıda bulunanlar arasında sık sık tükenmişlik ve diğer zihinsel sağlık sorunlarına yol açmaktadır. Yazılım geliştirme topluluklarında depresyon, anksiyete ve tükenmişliğin bu kadar yaygın olması, bir onur nişanesi veya geliştirme ekibinin ne kadar adanmış olduğunun bir göstergesi olarak görülmemelidir. Bu, doğrudan ele alınması gereken ve bir yazılım hatası gibi ele alınması gereken bir sorundur - acil çözümler ve sorunun sistemik nedenini ortadan kaldırmak için uzun vadeli planlar ile.
Gönüllülerin katkılarına inanılmaz değer verirken, biz de aynı zamanda gönüllü çabaların tek başına bir sivil toplum örgütü geliştirmenin yolu olmadığını da bilir. sağlıklı ve sürdürülebilir bir toplum. Bu nedenle, finansal BeeWare'in işletilmesinde sürdürülebilirlik kilit bir husustur proje. Toplum olarak, paranın oynadığı rolü göz ardı etmiyoruz İnsanların iş hayatına başlamalarına ve devam etmelerine olanak tanıyan kaynakları sağlamada katkıda bulunacağız. Toplum olarak, aşağıdakiler için kabul edilmiş mekanizmalar sağlayacağız bireylerin çalışmalarından anlamlı yollarla para kazanmalarını sağlamak ve her yerde mümkünse, insanlara yaptıkları işlerin karşılığını verin. Açık Kaynak geliştirme idealleri.
Hedef¶
BeeWare projesinin nihai hedefi: Mobil cihazlar için yapabilme ve Django'nun web için yaptığının aynısını masaüstü kullanıcıya yönelik yazılım yazılım - kullanıcıların eline bir dizi araç ve kütüphane vermek zengin, yerel kullanıcı arayüzleri geliştirmelerini ve dağıtmalarını sağlayan cihazlarına yükleyebilirsiniz. Buna şunlar dahildir:
- Python'un farklı cihazlarda çalışmasını sağlayan araçlar,
- Python projesini bu cihazlarda çalıştırılabilecek şekilde paketlemek için gerekli araçlar,
- Cihazların yerel widget'larına ve özelliklerine erişmek için kütüphaneler,
- Bu projelerin geliştirilmesi, hata ayıklanması ve analiz edilmesine yardımcı olacak araçlar.
Bu amaç, bu araç setinin aşağıdakiler için kullanımı yeterince kolay olmasıdır Django Girls benzeri bir ortamda kullanmak için tamamen yeni gelenler; ancak güçlü bir sonraki Instagram, Pinterest veya Pinterest'i yönlendirmek için kullanılabilecek kadar Disqus.
En önemlisi, tüm bunları bir Açık Kaynak topluluğu olarak yapmayı hedeflemektedir. Açık Kaynak geliştirme süreci kendini en iyi şekilde kanıtlamıştır. sağlam ve güvenilir yazılım geliştirmenin güvenilir bir yolu ve herkesin yazılıma erişebilmesi, herkesin yazılımla başlayabileceği anlamına gelir. İster uzman ister hevesli amatör olsunlar, aynı mükemmel araç setine sahiptirler.
Her yerde Python¶
Modern bir bilgi işlem projesi, bilgisayar teknolojilerindeki en büyük gelişmeyi göz ardı edemez. son 10 yılın bilgi işlem. Python bir bilgisayar yazılımı çapraz platform dili. 10 yıl önce, çapraz platform olmak demek Windows, macOS ve Linux için mevcuttur. Bugünlerde mobil bilgi işlem çok daha önemli. Buna rağmen, aşağıdakiler için çok fazla iyi seçenek yoktur Mobil platformlarda Python programlama ve platformlar arası mobil kodlama hala zor.
BeeWare, mobil ve diğer gelişmekte olan platformları (saatler ve set üstü kutular) bilişim ekosisteminin birinci sınıf vatandaşı olarak - çünkü insanlar bu cihazlara sahipse, neden bu cihazları Python'da onlar için yazılım yazmak.
Her yerde yerli¶
Çapraz platform elde etmek için temaları kullanmak kolaydır. Ancak, bunu yapmak çok kolay. temalar kullanılarak oluşturulmuş uygulamaları tespit edin - bunlar diğer uygulamalar gibi davranmıyor. Widget'lar tam olarak doğru görünmüyor, veya bir OS X uygulamasındaki bir pencerede bir menü çubuğu vardır. Temalar oldukça yakın - ama her zaman açık işaretler vardır.
Bunun da ötesinde, yerel widget'lar her zaman temalı genel bir widget'tan daha hızlıdır. Widget. Ne de olsa, yerel sistem yeteneklerini kullanıyorsunuz. ayarlanmış ve optimize edilmiş bir çizim motoru değil genel bir widget.
Temalar ayrıca yerel platformların erişilebilirlik avantajlarının çoğunu da kaçırıyor. Modern işletim sistemi yazarları, aşağıdaki özelliklere sahip kişiler için kolaylıkları ayarlamak için çok zaman harcıyor hareket kabiliyeti, görme veya biliş bozukluğu. Yerel widget'lar kullanıyorsanız genellikle bu olanaklara ücretsiz olarak sahip olursunuz. Widget'ları şu şekilde yeniden uygularsanız bir tema oluşturduğunuzda, olanakları da yeniden uygulamanız gerekir.
BeeWare, yerel widget'ları ve yerel işlevleri kullanmak yerine uygulama geliştirmeye yönelik tema tabanlı bir yaklaşım.
Python yerel dili¶
BeeWare ayrıca, "Python öncelikli" bir çerçeve. Python'u seviyoruz. Görünüşünü
ve çalışma şeklini seviyoruz. Python belirli bir platformda birinci sınıf bir
seçenek olarak mevcut değilse, Python'u bir geliştirme dili olarak
kullanılabilir hale getirmek için ne gerekiyorsa yapacağız. Ve bir API veya
tasarım için Python deyimini benimseme fırsatımız olduğunda, bunu yapacağız. Bu,
çapraz platform uygulama geliştirme için en iyi Python yerel API'sini sağlamak
amacıyla jeneratörler, bağlam yöneticileri, yield from asenkron çağrılar ve
daha fazlasını kullanacağımız anlamına gelir.
Ayrıca geleceğe de bakıyoruz - bu Python 3'ü desteklediğimiz anlamına geliyor Sadece.
Yerel deneyim¶
Herhangi bir aracı kullanma deneyimi kurulum süreci ile başlar. BeeWare'in "Her yerde yerel" felsefesinin bir parçası da uygun kurulum için yerel mekanizmalar. Eğer bir kullanıcı alanı aracı kullanıyorsanız, içine kurulacak bir paket olarak size sunulmalıdır. başka herhangi bir aracı yüklediğiniz gibi - bir uygulama aracılığıyla deposu, bir yükleyici veya basit bir çalıştırılabilir paket. Son kullanıcılar uygulamayı Python'da yazdığınızı biliyorsunuz.