Ubuntu Phone, Nokia’nın Yerini mi Alacak?

Muhtemelen ne ilgisi var diyecekseniz, eğer Ubuntu Phone ile ilgili gelişmeleri yakından takip etmiyorsanız. Yakın zamanda Ubuntu Phone destekli Meizu telefonları piyasaya çıktı. Cannonical tarafından bu telefonların lansmanı biraz farklı yapılmıştı. Basit bir şans oyunu oynayarak telefonu almaya hak kazanıyordunuz. O şanslı — belki de şanssız — insanlardan biri de bendim. Hak kazandım; ne yazık ki telefon henüz Türkiye’de satışa sunulmadığından satın alamadım. Açıkçası fiyatı da pek böyle bir lansman ürünü için çok uygundu diyemem.

Ubuntu’nun masaüstü versiyonunu daha önce kullandıysanız aynı arayüzün mobil bir platformda ne kadar kullanışlı olacağını tahmin edebilirsiniz. Ben de henüz tahmin edebiliyorum :) Umuyorum çok yakında elimize alıp oynama fırsatı yakalayacağız telefonu. Peki Ubuntu Phone’u farklı kılan ne? Sonuçta piyasa neredeyse üçüncü bir mobil platforma izin vermeyecek kadar Android ve iOS tarafından ele geçirilmişken Cannonical neden böyle bir hamle yaptı? Belki de bu iki platformun akıl edemediği bir şeyi akıl etmiştir, değil mi?

Özellikle yazılımcıların iyi bildiği üzere iOS ve Android platformları için yazılım geliştirmek çok farklı şeyler. Eğer kodu bir kere yazalım iki platformda da çalışsın diyorsanız işiniz biraz daha zor. Doğrudan iOS ya da Android hedef alınarak geliştirilmiş bir uygulama kadar memnuniyet vermeyecektir. Başka bir seçenek de son söylediğim şey aslında. Qt (İngilizce’deki “cute” kelimesi gibi okunur) geliştirme çatısıyla C++ diliyle uygulamayı geliştirip iki platform için de derleyebilirsiniz. Hatta farklı platformlar için de derlersiniz. Bu durumda yazılımcıya fazla yük çıkabilir. Örneğin basit bir Facebook Login için ciddi emek harcayabilir. Ancak, sonuç güzel olacaktır.

Qt fikri ilk olarak Nokia’nın aklına gelmişti. O dönemdeki dokunmatik — daha doğrusu basmatik — Nokia telefonları hatırlarsınız. Akıllı telefonların pazarda tutunabilmesi tamamen platformda çalışabilen uygulama sayısıyla ilgilidir. Microsoft gibi rakiplerine göre daha kalitesiz işler yapan ama pazarlama stratejisi sayesinde zirvede oturan bir firmanın mobil alanda başarısız olmasının nedeni de budur. Mobil bir platformun güçlü olabilmesi için sadece firmanın kendisi değil kullanıcılarında uygulama geliştirmesi gerekmektedir. Dolayısıyla geliştirici için de uygun bir platform hazırlamak gereklidir. Nokia, Qt ile bunu başaramadı. Bu durum çoğu kişi tarafından Qt fikrinin başarısızlığı olarak düşünülür. Sonuçta Qt ile uygulama geliştirmek aslında C++ ile uygulama geliştirmek demektir. Dolayısıyla insanlar Nokia için uygulama geliştirmenin zor olduğunu düşünür. Ama bence sorun bu değil; sorun daha çok o dönemki gereksinimlerle ilgili. Ayrıca Nokia için uygulamaları indirebileceğimiz App Store gibi bir ortam da bulunmuyordu.

Henüz Türkiye’de kullanmaya başlayamadığımız Ubuntu Phone’daysa Nokia’nın gerçekleştiremediği Qt fikrini Cannonical deneyecek. Bence başarılı da olacak. Dediğim gibi Ubuntu Phone’la henüz oynama fırsatı bulamadım. Henüz bir uygulama da geliştirmiş değilim. Ancak, Qt ile bir geçmişim var. Dolayısıyla en azından bu anlamda Ubuntu Phone’la ilgili güzel tahminlerde bulunabileceğime inanıyorum. Kaldı ki yıllarımı Ubuntu kullanalarak geçirdim. Qt için kullanılabilecek en güzel IDE sanırım Qt Creator. Ubuntu Phone’un geliştiriciler için ayırdığı sayfasında gezinirken birden şaşkınlığa uğradım. Çünkü Ubuntu Phone için uygulamaların Qt ile geliştirileceği yazıyordu ve hatta Qt Creator için Ubuntu SDK indirme bağlantısını paylaşıyordu.

Qt 5 ile birlikte gelen en mükemmel modüllerden birisi de Qt Quick’tir. Qt Quick, QML ve Javascript ile uygulama geliştirmenize imkan tanıyan bir ortam. Ayrıca “back-end” dediğimiz işler için C++ ile geliştirme yapabiliyorsunuz ve performans anlamında her zaman mutlu ediyor. Evet, belki diğer dillere göre biraz daha fazla emek harcatabilir. Ama Qt Quick ile mobil bir uygulamayı geliştirip hem Android hem de iOS için derleyebilirsiniz. Ben bile bunu denemeyi düşündüm. Ancak, şimdilik Facebook Login gibi basit işlerde sorunlarla karşılaşabilecektim. Henüz bulaşmadım :) Cannonical sayesinde yakında bulaşacak gibiyim. Ubuntu Phone için atılmış bu hareketi de çok mantıklı buluyorum. Çünkü yeni bir uygulama geliştirilecekse, Qt Quick ile ve dolayısıyla doğrudan Ubuntu Phone ile geliştirilebilir. Sonrasında çok fazla ekstra iş yapmadan Android ve iOS platformları için uygulamayı derleyebilirsiniz. Yeni bir program yazmanıza gerek kalmaz. Peki Ubuntu Phone için C++’a geçmeye değer mi?

Daha önce de dediğim gibi henüz elime alıp Ubuntu Phone’u deneme fırsatım olmadı ama internette bulduğum incelemelerden gördüğüm kadarıyla Ubuntu Phone, Windows Phone gibi burun kıvrılacak bir ortam değil. Ben açıkçası oldukça heyecanlandım. Ubuntu’nun masaüstü sürümünü kullanırkan çokça eleştirilen Unity, mobil ortamda kendini hayran bırakacak gibi. Geliştiriciler için de Qt ortamını verimli bir şekilde kullandırmayı başarırsa geriye sadece pazarlama kalıyor. Biraz ütopik görünüyor ama Samsung gibi bir firmayla anlaşabilmesi durumunda Android’li günleri hatırlarız sadece…