Sign in

Selam,

Yeni bir tecrübeyi size aktarmak üzere kolları sıvamış bulunuyorum.

Geçenlerde teslim aldığımız ve bir modülünü geliştireceğimiz kurumsal iOS uygulamasının yayınlama sürecinde yaşadıklarımız ve bu süreçte dikkat etmemiz gerekenler üzerine bir kaç tecrübemi aktaracağım.

Böyle bir durum Android uygulama için geçerli değildi çünkü android üzerinden .apk dosyası oluşturulup test edecek kişilere gönderilebiliyordu fakat iOS tarafında sağlıklı testler ancak TestFlight üzerinden gerçekleştirilebilirdi.

Kısaca;

  • XCode — Preferences — Accouns ‘a hesabınızı ekleyin.
  • Download Profiles Manuels butonuna tıklayın.
  • Projeye ait Signing & Capabilities kısmından ilgili hesabı seçin.
  • Product…

Daily Deployment — Sürekli Teslim

Bazı projeler vardır ya da bazı projelerin kritik dönemleri. İşte bu dönemlerde sürekli teslim yapmanız gerekir.

Bu dönemler mesela;

Projede teknoloji değişiklikliği
  • Mobil uygulama geliştirmeleriyle alakalı Web katmanlarında yapılması gereken geliştirmeler olabilir.
  • Düzensiz gelen müşteri talepleri,
  • Denetim süreçlerine girecek projeler olabilir…

Burada tabi ki projenin yapısı ve hızlı teslim amacı göz önünde bulundurulmalıdır. Benim aşağıda yazacağım maddeler yukarıdaki sebeplere bağlı olarak düşünülmelidir.

Avantajları

  • Hızlı aksiyon alındığının görülmesi müşteri tarafında memnuniyet getirir.
  • Elimizde teslim edilmemiş iş birikmez.
    Her geliştirme öncesi hem mevcut geliştirme ortamı ile hem canlı ortam ile analiz yapılmasına duyulan ihtiyaç ya da ayrılan süre çok çok azalır…


Merhaba

Bu yazıda sizlere mobil uygulama tarafında geliştiriciliğini yaptığım çevrimdışı mod sürecini, mimarisini ve geliştirme süreçlerimizde yaşadıklarımızı anlatmaya çalışacağım.

Teknik Detaylar:

Web Uygulama: .Net Core

Mobil Uygulama: Android — Java

Harita: Mapbox — OpenStreetMap

Web Servisler: SOAP, Rest (Servis Testleri Swagger, Postman)

Veritabanları: SQL Server, SQLite

Hafıza Yöneticisi: Preference Manager

İhtiyaç Analizi ve Önceliklendirme

Mevcut uygulama bir saha operasyonu yönetimi yapmaktadır. Tüm uygulama ve süreçlerini aynı anda offline mode durumunda çalıştıracak kadar geliştirme süremiz yoktu. O nedenle bizde bu konuyla ilgili ihtiyaçlarımızı öncelik sırasına dizerek, süreçleri incelemeye başladık.

6 sürecimizden en önemli tür, sahada var olan ama sunucuda kaydı olmayan gerçekleştirilmiş operasyonların tespit edilmesi…


Bir önceki “Github ile Açık Kaynak Projelere Katkıda Bulunmak” yazısına ek proje yönetimi hakkında bir şeyler paylaşmak istiyorum.

Projeleri geliştirelim, geliştirelim de nasıl?

Bu işin bir yolu bir yordamı olmalı değil mi?

Yazılım projelerinin en büyük başarısız unsurlarından olan proje analiz ve tasarım kısımları bir çok kişi (firma) tarafından çabuk geçilecek adımlar olarak görünüyor. Fakat iş hiçte öyle değil.

Biliyorsunuz “Kervan yolda dizilir.“ diye bir laf var.

Ama “Görünen köy kılavuz istemez.” diye de bir laf var.

Hadi bakalım siz hangi taraftasınız?

Neyse ben hepinizi ufak bir gezintiye (köy görmeye) davet ediyorum. 🤸

Proje Yönetimi Üzerine

Bir fikriniz var ve gerçekleştirilecek bir projeniz…


Açık Kaynak Nedir?

Bir yazılımın tüm kaynaklarının anlaşılabilir bir şekilde herkesle paylaşılır olması hali açık kaynak yazılımı oluşturur. Örneğin bizim bir projemiz var. Projemize ait kodların okunabilir bir şekilde Github üzerinde herkesle paylaşır olması bunu açık kaynak yapar.

Github yerine kullanılabilecek Bitbucket, Beanstalk, SourceForge gibi başka platformlarda bulunmakta…

Kursun Amacı Nedir?

Açık kaynak ve Github kullanımına dair araştırma yaparken aklımda bir çok sorunun belirdiğini farkettim. Bu sorular üzerine ise derli toplu bir kaynak bulamadım. Bunu farkettiğimde başlangıç seviyesi birine en kısa sürede karşımdakini sıkmadan ve kafasını karıştırmadan bunları nasıl anlatabileceğimi düşündüm. Tabiki bu konuda aklıma ilk gelen yer Udemy oldu.

Udemy ’de bir kurs hazırladım. Bu…


Teknik Özellikler: Postman Versiyon 7.25

Merhaba

Bu yazıda postman üzerinden JSON ve dosya post etmeyi anlatmaya çalışacağım.

Öncelikle bunun için ilgili web servislerinizin yazılmış olması gerekiyor. Postman’de test edeceğimiz linkin ucunda bizi dinleyen bir servis hazır olarak bekliyor olmalı.

Benim elimde mevcut 2 adet servisim var.

İlk servisim dosya yükleme işlemi yapıyor. Bir web api linkin ucunda sürekli bir dinleme içerisinde ve gönderilen dosyayı işleyerek arka plandaki iş sürecine uygun şekilde sunucuya yüklüyor.

Postman üzerinde bunun testini şu şekilde gerçekleştiriyoruz.

Postman File Upload — Post

URL kısmına linkimizi yazıyoruz.

Body sekmesinden form-data işaretliyoruz.

Çalışan web servisin parametre adı ne ise KEY kısmına bu parametre adını…


Teknik Özellikler: SwiftUI, Swift 5, XCode 11.4

Merhaba

Bu yazıda SwiftUI ile QR Image oluşturmak ve QR okumak üzerine paylaşım yapacağım.

Yeni bir XCode projesi oluşturun.

QR Okumak

Kullanacağımız kütüphaneyi projeye import edin. (File — Swift Package)

Import

QR ya da Barkod okumak için telefonumuzun kamerasını kullanacağız bu nedenle info.plist dosyasına kamera kullanım iznini ekleyin. (Privacy — Camera Usage Description — Açıklama Metni)

Yazdığınız açıklama metni kullanıcı tarafından görünecektir.


Teknik Özellikler: Swift 5, SwiftUI, CocoaPods, AEXML, SWXMLHash

CocoaPods: Geliştirmelerimiz sırasında ihtiyaç duyabileceğimiz bir framework’tür. Bu framework’ü kullanarak XCode üzerinde bir çok kütüphaneyi kullanır hale getiriyoruz. Buna örnek vermek amaçlı bir SOAP servisten veri okuyacağız. Daha sonra bu veriyi bir Class’a serialize edeceğiz.

Bu yazının sonunda CocoaPods kullanımı hakkında bilgi sahibi ve XML servislerinizi XCode üzerinden okuyabilir, serialize edebiliyor olacaksınız.

Yeni bir proje oluşturuyorum. Projemin adı SwiftUI-WebService

Proje Klasörü ve XCode Görüntüsü

Proje klasörü menüsünden New Terminal at Folder butonunu tıklıyorum.

CMD + Space ile Spotlight Search kısmına terminal yazarak da terminali açabilirsiniz. Daha sonra proje klasörünüze gitmeniz gerekecektir.


Teknik Özellikler: XCode 11.4

Merhaba

Bu yazıda TestFlight üzerinde uygulamayı teste nasıl sunacağımızı adım adım paylaşmaya çalışacağım.

Öncelikle App Store hesabınızdan bir uygulama oluşturmanız gerekmektedir. Bu uygulamanın paket adı sizin bundle adınız olmalıdır.

TestFlight Nedir?

Apple uygulamalarımızı test etmemiz için bize rahat bir ortam sağlayan bir Apple çevrimiçi hizmetidir.

Bu hizmetten yararlanmak için öncelikle iOS Developer hesabımızın olması gerekir. Bu hesabın yıllık bir ücreti vardır. Detayları iOS Developer üzerinde bulabilirsiniz.

Uygulamayı Upload Etmek

Xcode üzerinde projemizi açalım. Proje ayarlarından versiyonumuzu kontrol edelim. Eğer uygulamayı daha önce teste göndermişsek versiyonu yükseltmemiz gerekecektir.

Versiyon

Product — Archive butonuna tıklayın. Bu kısımda Archive butonu görünmüyorsa simülatör cihaz seçili olabilir…


Teknik Özellikler: SwiftUI, Swift 5, XCode 11.4

Merhaba

Tek bir View ama bir den çok alert ’ımız var. Bunu nasıl yönetiyoruz onu inceleyeceğiz.

Öncelikle her zamanki gibi bir senaryo oluşturuyorum. Bu senaryoda 2 TextField, 1 Checkbox olacak.

Butona tıklanıldığında TextField boşluk, Checkbox ise işaret kontrolü yapılacak.

Eğer hatalı bir durum yok ise ekrana başarılı mesajını göstereceğiz. Ama eğer hatalı bir durum var ise durumla ilgili mesajı ekrana görüntüleyeceğiz.

Uygulama Ekran Görüntüsü

Bu makaleyi yazma sebebim SwiftUI ile ilk kez geliştirme yapmaya başlayan kişilerin bazı durumları ön göremeyecek olabilmeleridir.

Bu durumdan kastım şu: View içerisinde bir alert oluşturuyoruz. Bu alert ise bir aktiflik değeri…

Ceren

Mobile Software Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store