Android geliştirme mühendisinin anlatımı: 2 yıllık geliştirme, 7 deneyimi özetledim

Tam metin 3547 Kelimeler, tahmini öğrenme süresi 11 dakika

Kaynak: wap.anzow.com

"Kağıt üzerinde çok sığ, bunu kendim yapmam gerektiğini kesinlikle biliyorum."

"Soruşturma yok, konuşma hakkı yok."

"Uygulama gerçek bilgiyi getirir."

Eski ve modern zamanlarda, yurtiçinde ve yurtdışında sayısız ünlü aforizma bize gerçekten bir şeyler yapmanın önemini anlatır.

İki yıldır Android geliştirmeyle ilgileniyorum, birkaç proje yaptım ve başka projeler geliştirdim, bugün sizlerle bu dönemde kişisel olarak özetlediğim 7 deneyimi paylaşacağım.

1. Üçüncü taraf kitaplıklar: doğru dengeyi bulun

Android Arsenal'deki bazı kütüphaneler

İlk projeye başlarken, tüm operatörler sıfırdan başlamak istediler ve daha sonra bu şekilde daha fazlasını öğrenebileceğimi düşünerek neredeyse üçüncü şahıs kütüphanesini soğuk saraya kırdılar.

İlk proje olabilir ve üçüncü taraf bir kitaplık gerektirmez, ancak bu genellikle arzu edilen bir durum değildir. Sonuç olarak, "tekerlek yapmak" için çok fazla zaman harcamaktan başka bir şey değildir (endüstride tanınan yazılım veya kitaplıklara atıfta bulunarak), bu yüzden bunu yapmayın.

İlk deneyimimle birlikte açık kaynak kütüphaneleri kullanmaya başladım. Her durumda ücretsiz bir kütüphane olacak ki bu çok iyi. Bu yüzden bir kitaplık ekledim ama duramadım.

tahmin et ne oldu? Sonuçta, yazarın projesi özensiz bir üçüncü taraf kitaplığıdır. Öyleyse zaman kaybını durdurun ve kütüphaneyi iyi seçin. Her şey güvenilir değildir ve öğrenilmesi de kolay değildir.

Yazarın önerisi bir denge bulmaktır. Geliştirme sürecinde bir sorunla karşılaşırsanız ve bu sorun kitaplığı olan bir başkası tarafından mükemmel bir şekilde çözülürse, kitaplık haklıdır. Bir HTTP istemcisine ihtiyacınız varsa, Retrofit'i seçin.

İndirilecek ve yönetilecek çok sayıda resim varsa Glide'ı kullanın. Bu kitaplıkların kullanımı kesinlikle kolay ve kararlıdır, herkes bilir.

Ancak tüm kütüphanelerin o kadar güzel olmadığını unutmayın. Bu kitaplıkların her zaman nereden geldiğini kontrol etmek en iyisidir ve zamanınız varsa, sorunun nasıl çözüldüğünü görmek için açık kaynak kodunu inceleyin.

Android Arsenal, büyük veritabanlarını korumak için neredeyse tüm mevcut Android kitaplıklarını kullanır.

2. En başından doğru mimariyi seçin

MVC, MVP, MVVM gibi kısaltmaları duydunuz mu? Farklı yazılım mimarilerini temsil ederler ve hepsinin anlaşılması gerekir.

Aktivite sınıfında pek çok acemi kod yazıyor.İlk başta bu işe yarıyor gibi görünüyor, ama inanın bana, bu o kadar basit değil.

Proje ne kadar büyükse, kod o kadar karmaşık ve yüksek oranda bağlı olacaktır, bu da yeni özelliklerin sonraki testlerini, bakımını ve geliştirilmesini çok zor hale getirir.

Bu nedenle herkesin en başından net bir yazılım mimarisi seçmesi önerilir. Yukarıda belirtildiği gibi, bu mimarilerin kendi avantajları ve dezavantajları vardır. Şu ana kadar Google tarafından önerilen Uygulama mimarisi aşağıdadır:

Android geliştiricileri tarafından önerilen uygulama mimarisi

Her bir parçanın sadece alt kısma bağlı bileşenlerle belirlendiği şekilden görülebilmektedir.

Bu, yalnızca endişelerin ayrılmasını hesaba katmakla kalmayıp aynı zamanda test ve ölçeklenebilirlik için optimize edilmiş tutarlı bir kullanıcı deneyimi sağlar. Google'ın dediği gibi, herhangi bir mimarinin kusurlu anları olduğu açıktır:

Herhangi bir yazılımı tatmin edebilecek mimari diye bir şey yoktur. Bunun anlamı, çoğu yazılım ve iş akışı için, önerilen mimariyi baştan kullanmak iyi bir başlangıçtır.

Bu makalenin odak noktası olmadığı için yazar mimariyi çok fazla açıklamayacak, ancak size bazı yararlı kaynaklar sunacaktır:

l Uygulama mimarisi kılavuzu

l Android mimari bileşenlerinin temel örnekleri

3. Önemli olan üç kez söyleniyor: test testi testi

Kaç kez düşündünüz: "Uygulamayı telefonunuzda test edin ve başarılı bulun!"

Aslında, bu yeterli değil Basit testler, geliştirme sırasında birkaç günlük çaba harcamanızı sağlayabilir, ancak bunu yapmak birkaç hafta sürebilir.

Ürün piyasaya sürülmeden önce kapsamlı bir test, sistemin sağlamlığını, çalışabilirliğini ve kullanılabilirliğini kontrol etmemize yardımcı olabilir.

Uygulama nasıl test edilir? Bu soru çok geniş ve her birinin kendi görevi olan birçok test türü var.

Android geliştiricileri tarafından sağlanan test seviyeleri

Yukarıdaki şeklin anlaşılmasına bağlı olarak, testler aşağıdaki üç kategoriye ayrılabilir:

l Birim testi: Performans kategorisini doğrulamak için her seferinde bir sınıf kullanın.

l Entegrasyon testi: Modül içindeki farklı yığın seviyeleri arasındaki etkileşimi ve bağlı modüller arasındaki etkileşimi doğrular.

l UI testi: kullanıcı arayüzünü ve kullanıcı akışını doğrulayın

Uygulamanın kullanım durumuna bağlı olarak, kaç farklı testin gerçekleştirileceğine karar vermeniz gerekir.

Google'ın temel kuralı, testin% 70 küçük testlere (birim testleri),% 20 orta testlere (entegrasyon testleri) ve% 10 büyük testlere (kullanıcı arayüzü ve uçtan uca testler) bölündüğünü önermektedir.

l Uygulamayı Android platformunda test edin: uygulamayı test etmek için gereken her şey burada

l Android'de Test Driven Development (TDD): TDD'de Google I / O 2017 video konferansı

4. Android Studio, iyi ortağımız

Bunda yanlış bir şey yok, zaten IDE'yi (Entegre Geliştirme Ortamı) kullandık, ancak onu gerçekten en iyi şekilde kullandık mı?

Android Studio, yazılım geliştirmeye yardımcı olan birçok yerleşik araca sahiptir. Yazar tarafından en yaygın olarak kullanılanlardan bazıları şunlardır:

l Cihaz simülatörü, uygulamaları farklı cihazlarda ve çeşitli Android sürümlerinde test edebilir.

l Android PK analizörü, APK boyutunu algılayarak programın boyutunu analiz edebilir.

l Gerçek zamanlı performans analizörleri (Gerçek Zamanlı Profiller), CPU, bellek ve ağ kullanımı üzerinde gerçek zamanlı istatistiksel analiz gerçekleştirebilir.

l Firebase Assistant, uygulamaları bunlara bağlayabilir ve tüm Firebase hizmetleri yalnızca birkaç adımda eklenebilir.

l Vector Asset Studio, her yoğunluk için yeni bir bitmap görüntüsü oluşturmaya yardımcı olabilir (yoğunluk, verileri depolamak için diskin kullanılabilir alanını ifade eder).

Android Studio'nun başka bir işlevinin bilgisayarı bir "fırına" çevirmek olduğunu biliyor muydunuz?

Daha fazla giriş ve işlev için lütfen Android Studio'ya bakın

5. Basit ve anlaşılır kullanıcı arayüzü (UI)

Büyük bir şirkette Android geliştiriciyseniz, UI ve UX tasarımı tasarımcının işidir ve programcıların endişelenmesine gerek yoktur.

Ancak, bu bir başlangıç veya özel bir projeyse, UI ve UX tasarlamak için biraz çaba sarf etmeniz gerekebilir. İnanın bana, iyi bir arayüz pastanın üzerindeki krema olur ve kötü bir arayüz iyi bir projeyi mahveder.

"Kullanıcı arayüzü tıpkı bir şaka gibi. Bunu açıklarsanız, yeterince iyi olmadığını kanıtlamış olursunuz." - Martin LeBlanc

Geçmişte sık sık yaptığım hatalardan biri, kullanıcı arayüzünde çok fazla şey olmasıydı.Çok fazla öğe, yalnızca kullanıcıların kafasını karıştıracak ve başkalarının kendilerini kötü hissetmesine neden olacaktır. Basit, basit ve net tutmanızı öneririm.

Özellikle tasarım konusunda iyi olmayanlar bundan kaçınmalı ve kullanıcıların bir bakışta anlayabileceği basit bir arayüz oluşturmaya çalışmalıdır. Oluşturulduktan sonra, daha güzel hale getirmek için geliştirilebilir, böylece kullanıcılar deneyim hakkında daha derin bir izlenim bırakabilir.

Kullanıcı arayüzünü test etmek için farklı boyutlarda ekranlar ve DPI kullanmayı unutmayın, px gibi sabit ölçü birimleri kullanmayın; dp (veya test metni için sp) gibi dinamik birimler kullanın.

l Dribbble: Hayatın her kesiminden tanrıların bir koleksiyonudur. Nereden başlayacağımı bilmiyorum, bu yüzden burada ilham bulabilirsiniz.

l Materyal Tasarım Dili (Google Materyal Tasarımı): Sistem son derece uyarlanabilirdir ve en iyi kullanıcı arayüzünü tasarlamak için rehberlik, bileşenler ve araç sistemleri sağlar.

l "The Psychology Of Everyday Things": Don Norman tarafından yazılan bu kitap, günlük ihtiyaçların kullanılabilirlik tasarımından bahsediyor ve okunmaya değer.

6. Yayın Kontrol Listesi (Sürüm Kontrol Listesi)

Kaynak: Pexels

Şimdi başvurunuzun serbest bırakılabileceğini hissediyor musunuz? Gerçekten mi? Nasıl emin misin Şu anda aceleci davranmayın, kendinize birkaç soru sormanız en iyisidir:

l Tüm hata düzeltme kodları kaldırıldı mı?

l Test yeterli mi?

l Gradle'ı oluştururken adı ve sürüm kodunu güncellediniz mi?

l Proguard, APK kodunu gizlemek için etkinleştirildi mi?

l Uygulama yerelleştirildi mi?

l Google Play'de bir geliştirici hesabı hazırladınız mı?

Cevap "hı" ise, planınıza devam edebilirsiniz. Yazar, APK'nin değil uygulamanın boyutunu ve kaynaklarını optimize etmek için bir Android App Bundle (aab) oluşturmanızı önerir.

Uygulama Google Play'de yayınlandıktan sonra, kullanıcı geri bildirimlerini ve tüm analiz verilerini sürekli kontrol etmek gerekir. Bu, programın iyileştirilmesine çok yardımcı olur.

Bu, Android geliştiricileri tarafından sağlanan bir kontrol listesidir ve kaçırılmaması gerekir.

7. Git'i kullanın

Git bir sürüm kontrol sistemidir (VCS). İki temel işlevi vardır: biri dosyalardaki değişiklikleri izlemek, diğeri ise birden fazla geliştiriciyi içeren büyük projelerdeki işi basitleştirmek.

Git'i neden kullandığımı bilmiyorum, aslında, projeyi doğrudan yedeklemekte sorun yok. Üç yıl önce benden

Şimdi biliyorum.

Ve herkese söyleyin: programcıların Git'e ihtiyacı var, bu iş akışı için harika. (Biri bana bundan üç yıl önce bahsetse iyi olur).

Git hakkında bu kadar harika olan ne? Şöyle nedenleri vardır:

l Kaynak kodu bulutta güvenli bir şekilde depolanır ve her kullandığınızda alınabilir.

l Tüm önceki kod sürümleri kullanılabilir, eski sürüm algılanabilir ve bir hata oluştuğunda önceki sürüm döndürülebilir.

l Takım çalışması basitleştirildi. Her geliştirici paralel dallar üzerinde çalışabilir ve gerektiğinde değişiklikleri birleştirebilir.

l Binlerce açık kaynak proje geliştirebilir.

l GitHub ve BitBucket gibi platformlarla, kendi proje tanıtımınızı oluşturmak ve görüntülemek de mümkündür.

On binlerce neden var ve umarım bunlar bir mesajı iletmek için yeterlidir: Git'e ihtiyacınız olmadığını düşünmek yanlıştır.

GitHub ve BitBucket kılavuzu Git ile başlamanıza yardımcı olacak

Kaynak: Pexels

Bugün, Android geliştirme sırasında kişisel olarak öğrendiğim bazı şeyleri paylaştım, ancak kesinlikle keşfedilecek daha fazla bilgi var.

Özellikle yeni başlayanlar için hazine düzeyinde başka önerileriniz varsa, lütfen aşağıya bir mesaj bırakın.

Yorum Beğen Takip Et

Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım

Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun

Yapay zekanın ölümü - neden yapay zeka projeleri defalarca yenilgiye uğradı?
önceki
Algoritmaların adilliğini ölçmek neden her zaman zordur?
Sonraki
Bugün Core Voice | Python 2.7 desteği resmi olarak sona erdiriyor: Python 3 burada
Ağlamak kolay! Geliştiriciler için sahip olması gereken 8 web uygulaması
Teknik borcu boşaltın! Veri bilimcilerin kısa Python koduna ihtiyacı var
Yetersiz zaman? Pandaların daha hızlı uygulanmasını sağlamak için bu kelimeyi ekleyin
Tembel hileler: Pandas kodu yazmaktan nasıl kaçınacağınızı öğretin
Core Voice Today | Yeni Yıl! CCTV 2019 bilim ve teknoloji haberlerini duyurdu, bunu biliyor musunuz?
Irak parlamentosu, yabancı askerlerin konuşlandırılmasına son verme kararı aldı
Kalbini ısıt! Yaşlı adam büyüteci aldı ve bu teşekkür mektubunu sağlık personeline yazdı ...
Yeni yılda ilk kez toplam RRR düşürülecek Bugün 800 milyardan fazla kırmızı zarftan kim faydalanacak?
Aşırı fakir köyün ilk sekreteri zamana karşı yarışıyor: 20 ayda 100.000 mil yol aldı ve 15 lastiği değiştirdi | Araştırma · Gözlem
Çatışmanın tırmanması! Irak birçok yerde bombalandı ve ABD askerleri arttı Orta Doğu savaşı yeniden alevlendirecek mi?
90'lar sonrası "küçük kardeş" Pekin'e giren insanlara sıcak bir şekilde "eve" gitmeleri için eşlik etti.
To Top