17-07-2018, Saat: 00:44
Merhaba,
Biliyoruz ki Delphi'nin derleyicisi dünyanın en hızlı derleyicilerinin başlarında yer alıyor. Burada bahsi geçen derleyici Pascal kodları için geçerli. Ancak FMX için PlatformAssistant işin içine girdiğinde derleme süreleri 4~5 dk gibi ciddi sürelere uzuyor. Bu hususta geliştirmekte olduğunuz Mobil projelerinizi doğrudan Windows üzerinde test ederken ıskalamamanız gereken bazı meselelere değineceğim.
Biliyoruz ki Delphi'nin derleyicisi dünyanın en hızlı derleyicilerinin başlarında yer alıyor. Burada bahsi geçen derleyici Pascal kodları için geçerli. Ancak FMX için PlatformAssistant işin içine girdiğinde derleme süreleri 4~5 dk gibi ciddi sürelere uzuyor. Bu hususta geliştirmekte olduğunuz Mobil projelerinizi doğrudan Windows üzerinde test ederken ıskalamamanız gereken bazı meselelere değineceğim.
- Her ne yaparsanız yapın, Design-Time'da her zaman hedef platformunuz ne ise o platformun görünümü gelsin. (Form açıkken üst bölümde yer alan Style kısmından hedef platformuzu belirtin. Zira TEdit'in bariz görünümü Windows ve Android arasında oldukça farklı gözükecektir gözünüze. Ayrıca içinde renk barındıran komponentler için çok elzemdir.)
- Platforma has kütüphane kullanımlarında zorunlu olarak {$IFDEF ANDROID} gibi derleyicinin çalışma anında derlenen platforma bakarak pas geçeceği fonksiyon ve kod bloklarını sadece desteklenen kütüphaneler için değil, aynı zamanda Windows açısından problem çıkartmayan kodları da hesaba katarak platformunuza göre belirleyin.
- Build Configurations ayarlarınızı biten projelerinizde Release olarak yayımladığınızı hesaba katarak; derleyici kontrolü olan IFDEF için DEBUG bloklarını da oluşturabilirsiniz. Bu sayede geliştirdiğiniz uygulama harici bir Web Servis kütüphanesi kullanıyorsa, veyahut Geliştirme ve Canlı sürümlerde farklı konumlardan veri beslemesi yapacaksanız çok kritik aynı zamanda kolay yapılabilecek bir hatayı daha savuşturabilirsiniz. (Geliştirme için localhost iken Canlı için sunucu bilgileriniz gb.)
- Mobil cihazlarda FormKeyDown, FormKeyUp ve komponentlerin KeyUp KeyDown OnEnter OnExit gibi event'ları içerisine yazacağınız Key (Tuş) kontrolleriniz çoğu zaman Windows tarafında saçma hatalara yol açabiliyor. Bu sebeple KeyUp KeyDown eventlarını oluştururken ilk işiniz IFDEF bloklarını oluşturmanız olmalıdır.
- Tasarımlarınızın hatalı olmaması adına Responsive denetimlerinizi yapabilmeniz için formlarınızı çeşitli ölçeklerde test edin. Tam ekran, kare ekran, dikdörtgen ekran, yatay ve geniş ekran, telefon ebatları veya tablet ebatları gibi farklı çözünürlüklerde gözlemleyin.
- Windows tarafında yapılacak olan debuglarda sanal klavyenin konumu çok dikkat ettirmiyor olsa da mobil cihazlarda TEdit gibi input komponentlerinin görünebilirliğini doğru ayarlayın. Formun pozisyonunu sanal klavyeye göre değiştirebilirsiniz. (Ayrıntı için DelphiCan'da arama yapın.)
- Bazı input komponentlerinizde sanal klavye ihtiyacınız olmayabilir, sanal klavyenin gözüküp gözükmeyeceği ayarlarını yine kod üzerinden gerçekleştirmelisiniz. (Ayrıntı için DelphiCan'da arama yapın.)
- VKHardwareBack, VKReturn gibi mobil cihazlar için önemli tuşları her formunuzda denetlemeyi ihmal etmeyin. Zira kullanıcı klavyeyi kapattıp/kapatamadım derken iki kez yaparak veri girişi yaptığı formdan bir önceki forma geçiş yapabilir. Aynı şekilde verilerin saklanması ve muhafaza edilerek kullanıcıyı güvende hissettirmesi açısından tüm aksiyonlarınızda formu açık tutabilecek yöntemlere başvurun.