在Unix / Linux

Widows Mobile ve Android Develpment Platformunu Karşılaştırma

Mobil Geliştirme Platformları Karşılaştırması

Giriş

Google gibi yazılım devleri, mobil uygulama geliştirme işinde diğer güvenli ve yerleşik oyuncuları devre dışı bırakıyor. Android gibi yeni gelenler, kurallarını uygulayarak mobil uygulama geliştirmenin geleceği konusunda önemli yapısal değişikliklere yol açtı. Bu değişen ortam sadece ek fırsatlar getirmez, aynı zamanda belirli kısıtlamalar da getirir. Geliştiriciler bugün, seçeneklerini değerlendirmeli ve bu değişen ortamdan nasıl yararlanabileceklerini öğrenmelidir.

Mobil bilgi işlem uygulama geliştiricilerinin dikkatini çekerken, bu teknolojilerin programlama kolaylığını incelemek için çok az çalışma yapıldı. Burada en yaygın olarak kullanılan mobil geliştirme ortamlarından iki tanesine bir göz atacağız: Android ve Windows Mobile ve bu seçenekleri geliştiricinin bakış açısından inceleyip değerlendirin.

Android

Android, akıllı telefonlar için mobil yazılım geliştirme için açık kaynaklı bir platform olarak 2007 yılında Google tarafından yayınlandı. Android platformu, Open Handset Alliance'ın bir parçası olarak piyasaya sürüldü. Bu ittifakın temel amacı akıllı telefonlar için açık standartlar oluşturmaktı. Android temelde cep telefonları için Linux tabanlı, açık kaynaklı bir işletim sistemidir. Mobil bir işletim sistemi olarak, geliştiricilerin Google tarafından geliştirilen Java kitaplıklarını kullanarak Java'da yönetilen kodlar oluşturmasını sağlar. Android, yalnızca bir geliştirme ortamı da dahil olmak üzere bir mobil işletim sistemi sağlamakla kalmaz, aynı zamanda işletim sistemi ve kod arasında orta yazılım işlevi görürken, uygulamaları çalıştırmak için Dalvik Sanal Makinesi olarak bilinen özel bir sanal makine de sunar. Uygulama geliştirme söz konusu olduğunda, Android, 2D'nin yanı sıra 3D grafik kitaplıklarını, 3G, Edge ve WLAN gibi gelişmiş ağ yeteneklerini ve sürekli depolama için özelleştirilmiş bir SQL motoru kullanımını kolaylaştırır.

Windows Mobile

Microsoft tarafından geliştirilen Window Mobile, mobil cihazlar için bir işletim sistemidir. Microsoft Windows CE 5.0'a dayanarak, Windows Mobile birçok akıllı telefon, PDA ve dokunmatik ekran cihazında bir işletim sistemi olarak kullanılır. Windows Mobile, yönetilen ve yerel kodlarda özel yazılı uygulamaların oluşturulmasını kolaylaştırır. Windows Mobile'daki Uygulama Programlama Arayüzü (API) genişletilebilir ve programlanabilir bir katmanla birlikte zengin özelliklere sahiptir. Bunun yanı sıra, Windows Mobile ayrıca Microsoft.Net ortamı tarafından sağlanan özelliklerden de yararlanır.

Bu platformları karşılaştıracağız ve güçlü ve zayıf yönlerini yakından inceleyeceğiz. Platformlar, uygulama ve performans yönleri ile geliştirici desteği temelinde karşılaştırılacaktır. Mobil yazılım geliştiricileri söz konusu olduğunda en önemli unsurları temsil ettikleri için bu kriterleri karşılaştırma için seçtik.

Uygulama

Kalıcı depolamayı uygulama yönünün karşılaştırılması için temel olarak kullanacağız. Mobil teknolojide kalıcı depolama için kullanılan teknoloji, çeşitli mobil geliştirme ortamları arasında değişmektedir. Hem Windows Mobile hem de Android, daha kolay manipülasyonun yanı sıra verilerin çıkarılmasını kolaylaştıran bir on-device veritabanını kullanma yeteneğine sahiptir. Ayrıca, yerel dosya depolama alanıyla ilgili olarak, her iki ortam da ek depolama alanı için bellek kartlarını destekler. Bununla birlikte, fark depolama alanından yararlanma yolunda yatmaktadır. Android uygulamaları bellek kartlarına yükleyemese de, Windows Mobile buna izin verir. Hem Android hem de Windows mobil platformlarının ilişkisel veritabanı vardır. Ayrıca, hem platformlarda hem de kütüphanelerde oldukça az kalıcı kalıcılık özellikleri vardır. Kütüphaneler başlatıldıktan sonra, veritabanına erişim, geliştiriciler tarafından kolayca erişilebilen, nesne yönelimli bir arayüz üzerinden erişilebilir.

性能

Performans rakamları hem kullanıcılar hem de geliştiriciler için önemlidir. İki platformun performans karşılaştırması dosya boyutuna göre taşınacaktır. Dosya boyutunu ölçmenin temel amacı, paketlenmiş uygulamalarda yer alan çalışma zamanı bağımlılıkları ve yapılandırma hakkında daha iyi bir fikir edinmektir.

Android uygulamaları apk (Android Package) dosyalarında paketlenmiştir. .APK dosyası genellikle Android platformunda kullanılmak üzere tek bir uygulama dosyası gibi çalışan bir .DEX (Android program dosyaları) grubuna sahiptir. .APK dosyası temel olarak & # 39; Androidmanifest.xml & # 39; dosya.

Windows Mobile uygulamaları, uygulama paketlemesi ve dağıtımı için kabin dosyalarından yararlanıyor. Dağıtılabilir bir dosya oluşturulurken ilk adım, uygulamayı bir CAB (Cabinet) dosyasında paketlemeyi içerir. Bu CAB dosyası, genişletilip yüklenebildiği diğer cihazlara dağıtılabilir. Bir CAB dosyası temelde, uygulama, kaynaklar, DLL'ler ve diğer kaynak dosyaları gibi bağımlılıkları içeren bir yürütülebilir arşivdir.

Mobil geliştirme ortamlarının karşılaştırmalı bir araştırması, Brunel Üniversitesi'nden Tom Morten Gronli, Jarle Hansen ve Gheorghita Ghinea tarafından yapıldı. Bu karşılaştırmalı çalışmada, her uygulama için dağıtım dosyası boyutunu daha iyi göstermek amacıyla Windows Mobile ve Android geliştirme platformlarında bir demo örneği uygulaması oluşturuldu. Demo örnek uygulaması, ekranda bir metin satırı basan basit bir programdı. Kod örneğinin sonucu şöyledir:

  • Windows Mobile ortamında demo uygulamasının dağıtım boyutu 2,8 KB'dir.
  • Android ortamında demo uygulamasının dağıtım boyutu 9,3 KB oldu.

Belirtildiği gibi dosya boyutları herhangi bir obfuskator ya da shrinker yazılımı içermiyordu. Bu, bir son kullanıcının aygıtını indireceği veya gönderileceği ve daha sonra aygıtına yüklendiği dosya türüdür. Yukarıda görüldüğü gibi, Windows Mobile'daki demo uygulaması 2,8 KB dosya boyutuna sahipken, Android ise 9.3 KB boyutunda yaklaşık üç kat büyüklüğündeydi. Bu, istemci uygulamalarının her biri ile birlikte olması gereken toplam yapılandırma dosyaları ve çalışma zamanı bağımlılıkları miktarının bir göstergesi olarak işlev görür. Kod satırlarının sayısı söz konusu olduğunda, Windows Mobile'a yalnızca 11 satır gerekiyordu, Android ise 28'e ihtiyaç duydu.

Geliştirici Desteği Karşılaştırması

Geliştirici desteği, hem hız hem de geliştirme sürecinde kalite. Her iki mobil geliştirme platformunun benzerlikleri olsa da, geliştirici desteğinde bazı benzersiz farklılıklar vardır. Entegre geliştirici ortamını (IDE) ve takımları göz önünde bulundurduğumuzda farklar daha açık hale gelir.

Windows Mobile'de geliştirilmek için tek seçenek, yine Microsoft tarafından geliştirilen Visual Studio'dur. Visual Studio ile, Windows Mobile, IDE'deki yeni özellikleri uygulayıp göndermeden önce Microsoft desteğine ihtiyaç duyar. Topluluk sadece önerilerde bulunabilir, ancak doğrudan bir etkisi yoktur. Ancak tutarlılık sağlandığından olumlu bir taraf var. Ayrıca, yeni ürünler gönderirken Microsoft tarafından uygulanan kalite onayı süreci kaliteyi garanti edecektir.

Öte yandan, Android için oldukça az sayıda IDE ile birkaç takım seçeneği var. Android, yazılım için eklenti işlevlerinin kalitesini sağlamanın yanı sıra, IDE geliştirmesine katkıda bulunan açık kaynaklı topluluklara sahiptir. Bununla birlikte, çoklu IDE ortamı tutarlılığı ve kalite güvencesini korumak için oldukça zor olabilir. Uzatma özellikleri, rakip IDE'lerin sadece bazıları için mevcut olabileceğinden, tutarlılık bir meydan okuma haline gelir. Topluluk tarafından yürütülen geliştirme, yeni entegre geliştirici ortam özelliği kullanılabilir hale getirilmeden önce gerekli kalite için ortak bir standart tarafından kontrol edilmediğinden, kalite güvencesi önemli bir sorun haline gelir. Tamamen işlevsel ürünlerin sağlanması için verilen kodun kalite güvencesi şarttır. Bu iki faktör potansiyel olarak ortamlar arasında kod ve uygulama taşınabilirliğini imkansız hale getirebilir.

Android ve Windows Mobile geliştirme platformları arasındaki geliştirici desteği ve kalite güvencesi arasındaki farklılıklardan biri, test ortamında daha alakalı hale geliyor. Her iki geliştirme platformunun birim testi sırasında buna daha yakından bakalım.

Birim testi, bir bilgisayarın veya mobil uygulamaların küçük parçalarının test edilmesi için temel olarak kalite güvence ve doğrulama aracıdır. Amaç her bölümün ayrı ayrı izole edilmesi ve test edilmesidir. Bu, uygulamanın farklı birimlerinin kalitesini yalıtmaya ve onaylamaya yardımcı olacaktır.

API, JUnit test çerçevesini kullandığı için Android için birim testi oldukça kolay. JUnit çerçevesi, çeşitli test birimlerinin hiyerarşik organizasyonunu zorlar ve bu da büyük bir avantajdır. Bunun yanı sıra, JUnit paterni test ünitelerinin bağımsızlığını sağlar ve paraziti en aza indirir. Bu, önce her test yönteminin çalıştırılmasından önce ve sonra oluşturulmuş ve yeni oluşturulan test ortamını yok ederek yapılır. Android, kodun cihaz üzerinde test edilmesine izin vererek JUnit'i bir adım daha ileri götürür. Burada test kütüphaneleri, Android'in standart kütüphanelerinin bir parçası olarak dahil edilmiştir.

Ancak, Windows Mobile ile karşılaştırıldığında Android cihazlarda cihaz testinde bir meydan okuma var. okunabilirliği. Android cihaz testlerinde test sonuçlarının sonuçlarını görüntüleyebilen bir kullanıcı arayüzü yoktur. Testin sonuçlarını görmek için Android'in test çalıştırıcısından geri aramalarla ilgilenen bir işleyici uygulanmalıdır.

Diğer taraftan Windows Mobile, yüksek düzeyde okunabilirlik ve görünürlük sergiliyorken, Android platformu, verimlilik söz konusu olduğunda kullanımı biraz zor. Android'deki zorluk, Windows Mobile'daki entegre geliştirme ortamında görsel araçlarla otomatik olarak verilen geri bildirim eksikliği.

Windows Mobile, xUnit çerçevesinin bir sürümünü uygular. Test sınıfları için kod, ayrı bir projede tutulur, ancak IDE'deki bir çözümde hala var. Android gibi, Windows Mobile'ın xUnit testi de cihaz testine izin verir. Burada en büyük fark, daha önce de belirtildiği gibi, test geri bildirimi. Windows Mobile, her bir test çalışmasına dayalı geri bildirim sunan daha kapsamlı bir kullanıcı arayüzüne sahiptir. Bu, geliştiricilerin hangi testin başarılı olduğunu ve belirli bir testin neden başarısız olduğunu daha iyi anlamalarını kolaylaştırır.

Hata ayıklama desteği, uygulama geliştirme için de önemlidir; çünkü, hata bulmaya ve düzeltmeye yardımcı olabilecek, adım kod yürütme ile gerçek zamanlı bir adımdır. Hata ayıklama işlemi, görevini yerine getirmek için tümleşik geliştirme ortamına bağlı olacaktır. Hem Windows Mobile hem de Android platformları adım adım hata ayıklamayı destekler. Bunun yanı sıra, her iki platformda da, hata ayıklama IDE'de çalışırken bir uygulamanın bir mobil aygıtta çalışmasına izin veren bir aygıt hata ayıklama özelliği de vardır.

结果

Hem Android hem de Windows Mobile, cep telefonu işletim sistemi ile yakından entegre olma avantajına sahip. Bu, mobil cihaz ile geliştirme ortamı arasında büyük entegrasyonun sonucudur. Windows Mobile'ın birincil gücü, Microsoft ile yakın ilişkide tek satıcı olarak. Bu, uygulama geliştiricileri için etkinleştirilmiş özellikler söz konusu olduğunda geliştirme ortamının istikrarını ve yüksek kalite güvencesini sağlar. Öte yandan Android, Android pazarı üzerinden uygulama dağıtmanın ilginç bir yolunu getirdi. Windows Mobile geliştirme platformu Microsoft'un bir ürünü olduğundan, Visual Studio tabanlıdır. Visual Studio ayrıca Windows işletim sistemi ile ilgilidir, bu yüzden burada herhangi bir seçiminiz yoktur. Öte yandan, Android için Google Eclipse eklentisini sunar. Hem IntelliJ IDEA hem de Netbeans geliştirici desteği sağladığı için geliştiriciler Eclipse'e kilitlenmez. Bu, geliştiricilerin istedikleri IDE ve işletim sistemini seçmekte özgür oldukları anlamına gelir. Çeşitli alanlarda geliştirme kolaylığı, yardımcı ortam uygulamaları oluşturmak için mobil geliştirme platformunun seçimi üzerinde büyük bir etkiye sahip olacaktır.