- 7 Şub 2012
- 5,018
- 22
Merhabalar, birkaç yerden istek gelmesi üzerine mobil programlamaya nereden başlanır, nedir, nasıl yapılır, hangi dille veya teknoloji ile başlanır (veya başlanmalı), alternatifler nelerdir gibi soruların cevaplamasını yapacağım.
Lafı uzatmadan hemen temel sözü söyleyeyim, eğer native yazmak istiyorsanız android için java (google artık kotlin ile de geliştirilme yapılacağını duyurdu) ios için swift.
Şimdi native yazmanın avantajı ne ?
- yüksek performans.
Peki ne zaman native yazmalıyız ?
- eğer java/kotlin (android için ios için swift/objective c) biliyorsak, eğer çok yüksek performansa ihtiyaç varsa.
Peki başka alternatifler neler ?
1 - ) React-native (favorim)
React native facebook un geliştirdiği açık kaynak bir framework. facebook ilk önce frontend ui kütüphanesi olan react ı çıkarttı. sonrasında react-native i oluşturdu.
React-native adından da anlaşılacağı üzere "native" e dönüştürüyor kodumuzu. biz js ile react kodu yazıyoruz ama arka planda java çalışıyor.
Dikkat edin "hybrid değildir"
Çok güzel bir dökümantasyonu var, çok güzel performansı var, yazması da kolay.
Bir kere öğrenip hem androide hem iosa ufak değişikliklerle yazılıyor.
Örneğin birçoğumuzun kullandığı instagram uygulaması react-native ile yapılma. aynı zamanda facebook groups uygulaması ve dahası...
Javascript biliyorsanız kesinlikle react-native i deneyin, bende son zamanlarda react-native ile uygulama geliştiriyorum.
Live reload gibi bir nimeti var, kodda değişiklik yaptığınızda anında emülatöre/cihaza yansıyor
Hemen şuradan inceleyebilirsiniz : https://facebook.github.io/react-native/
2 - ) Xamarin
Xamarin sonradan microsoftun satın aldığı bir teknoloji. Xamarin.Forms kullanarak c# yazarak cross-platform uygulama yapılmasını sağlıyor.
Eğer c# altyapınız varsa hiç beklemeyin mobil uygulama yapmak için xamarini deneyebilirsiniz.
3 - ) Ionic framework
Hybrid uygulama yapmayı sağlayan cordova altyapısını kullanan bir framework. 1 versiyonunda angular kullanarak yazıyorsunuz 2 versiyonunda angular2 ye geçildi alt yapı bu da performansta artış sağladı. ama maalesef ki react / xamarin kadar performanslı asla değil.
html-css-js kullanarak web yazar gibi mobile yazıyorsunuz.
4 - ) Native Script
Native script react-native e çok benzer. angular2 veya typescript veya pure javascript kullanarak cross platform native uygulama çıkartmanızı sağlar. popülaritesi diğer saydıklarıma göre biraz daha az fakat incelemeye değer.
Özet :
Eğer ki java biliyorsanız veya swift biliyorsanız native yazabilirsiniz.
Amaaaaaaa, java da swiftte bilseniz react-native i göz önünde bulundurun. Çünkü genelde uygulamayı iki platformda da yayınlamak isterler.
İki ayrı uygulama yazmak büyük bir maliyet. React-native hem performansı hemde çok az değişiklikle iki platforma da uygulama çıkartmayı sağlaması açısından aşırı güzel bir nimet. Arkasında facebook gibi bir dev var ve kendini kanıtlamış bir framework.
5 yıl içerisinde native uygulama yazma sayısı oldukça düşecek, react-native xamarin gibi teknolojiler oldukça yükselecek diye düşünüyorum.
Not : React-native in bir artısı da deco ide.. drag&drop component ekleme, component style propertylerini gui tarafında düzenleme gibi artıları mevcut.
Başka bir platformda yazdığım yazımı burada sizlerle de paylaşıyorum, umarım faydalı olur, herkese iyi forumlar, ihan3t.