React Native İlk Bakış - Neler Gördüm ?

react-nativeilkbakış

2 yıl önce 7 yorum

Merhaba, bu konu hakkında video yapmamı veya makale yazmamı isteyen çoğu arkadaşım oldu. Benimde gönlüm böyle hibrit benzeri uygulamalara yöneldiği için konuyu başlatıyorum. Yakın zamanlarda olan bir olay değil ama nedense şu aralar çoğu yazılımcı bu konu hakkında konuşuyor.

Kimileri angularjs tarafını tutarken diğer kısım react native tarafını tutuyor. Ben olsam en hızlı ve plugin desteği en iyi olan hibrit benzeri framework'ü seçerdim. Senin bir şirket uygulaman vardır, sadece ufak bir haber haynağı içeriyordur. O zaman derimki angularjs cordova kullan. Senin bir chat uygulaman vardır group konuşmaları, kişisel konuşmalar, haber kaynağı veya daha nice işlemler içeren uygulaman. O zamanda derimki direk hangi platformda kullanacaksan (android, ios, vb..) o platform'un kullandığı native dil ile yaz.(android studio, xcode, vb..) Ama senin uygulamanı native de yazacak iş gücün yok veya sadece bir tane platformu biliyorsun. İşte o zaman react native kullan.

Neden mi? çünkü sen javascript biliyorsun ve en iyi şekilde kullanabiliyorsun. Doküman okuma yeteneğin var. Bir sorunu nasıl çözeceğini biliyorsun. Topluluğun farkındasın. React native'i geliştiricisinin facebook olduğunu (destekli olduğunu) biliyorsun. Hızlı olduğunu biliyorsun.

Açıkçası beni react native'e iten şey hızı oldu. Bir hibrit benzeri framework bu kadar hızlı olabilir. Angularjs 2 ile bir çıkış yaptı ama beni memnun edemedi. Angularjs 2'yi alt yapısını kullanan İonic 2 ile bir kaç deneme yaptım ama hız berbattı angularjs 1 bana sanki daha hızlı gibi göründü. Sonuçta bir teknolojiyi sıfırdan öğrenecekseniz ondan daha iyi teknolojiler öğrenmek en avantajlı düşüncedir. Madem ben bir teknoloji baştan öğreniyorum ondan daha iyileri varsa onu öğrenmeliyim.

Ben react native'e geçiş yapıp yapmama kararını size bırakıyorum. Ama ben bu alanda bir gelecek görüyorum. Tıpkı cordovanın ilk çıktığı zamanlarda geleceğinin olduğunu düşündüğüm gibi.

Neler gördüm ?

  1. Babel syntax'i kullanıyor bkz
  2. İstediğiniz bir nodejs modülünü dahil edebiliyorsunuz.
  3. Mobil işlemler için yapılacak çoğu view var (Text, TextInput, ScrollView, vb..)
  4. Olmayan bir view olursa da onu rahatlıkla kendiniz yapabiliyorsunuz
  5. Şu ana kadar gördüğüm düzgün bir türkçe anlatım yapan kaynak çok az (çoğu kurulumundan bahsediyor)
  6. Animasyonların sayısı çok (örneğin sağdan sola, alttan üste, vb..)
  7. Live olarak aynı ağ üzerinden telefonunuzda test edebiliyorsunuz emülator kurmada sorun yaşarsanız bunu kullanabilirsiniz
  8. Tarayıcıda debug atabiliyorsunuz
  9. İos ve Android den başka platform'a derleme yapamıyorsunuz (topluluğun geliştirdikleri ile derleyebilirsiniz)
  10. İonic gibi standart bir desing pattern'i yok
  11. Github'da sayısız tutorial uygulamaları var
  12. React Native Community tarafından çeşitli extra view'lar sunuyor
  13. Element bind işlemi oldukça kolay ve döngüsel elementler zorluk çıkarmıyor.
  14. Sayfanın render fonksiyonu aynı sayfada olduğu için front-end yazanlar ve css yazanlar çakışma yaşabiliyor. (bu sorun değil ama mantıklı bir şekilde çözülebilir)
  15. Navigasyon özelliği LIFO (son giren ilk çıkar) mantığı ile yapılmış bir önceki sayfaya geçmek için en son nesneyi silmeniz yeterli oluyor
  16. Doküman oldukça iyi ve bir nesnenin hangi property'lere sahip olduğunu ve ne işe yaradığını bulabiliyorsunuz.

Sonuç

Evet bu konuda yorumu size bırakıyorum. Benim gördüklerim bu kadardı, umarım hepsi olmasada önemli taraflarını anlatmışımdır. Birkaç hafta içinde eğer bir sıkıntı olmaz ise React native ile ilgili güzel bir örnek uygulama yapabilirim. Tıpkı İonic Login Uygulaması gibi bir seri olabilir. Bu makaleyi yazarken dinlediğim şarkıyı dinleyebilirsiniz. İyi çalışmalar :)

NOT: biraz önce bahsettiğim gibi uygulamayı bitirdim uygulamanın serisine bu adresten ulaşabilirsiniz.

NOT2: Makalenin hibrit yazılarını hibrit benzeri şeklinde değiştirdim çünkü Mehmet Canker'in makalesi düşüncemi değiştirdi. İsterseniz bu makaleyi ziyaret ederek daha detaylı bir şekilde react-native hakkında bilgi edinebilirsiniz.

Yorumlar ({{totalCommentCount}})

  • Oğuzhanhan

    {{commentLike13Count}} beğenme 2 yıl önce

    Hocam ReactNative e hybird demişsiniz ama Native olması lazım.
    Beğen Beğendin
  • Abdurrahman Eker

    {{commentLike14Count}} beğenme 2 yıl önce

    Merhaba, ben hibrit derken aslında gerçek anlamını kullandım. Hybrid mobil uygulama tekniği, temel olarak ‘write once, run everywhere’ yani tek bir kod çıktısı ile birden fazla platformda çalıştırılabilmek üzerine geliştirilmiştir. React native bu kurala direk olarak uyuyor. Yani ismindeki "native" kelimesi, bunun native alt yapısını kullandığını söylüyor. Direk olarak native dendiğinde tek platform akla geliyor, buda anlamı bozuyor.
    Beğen Beğendin
  • Abdurrahman Eker

    {{commentLike19Count}} beğenme 2 yıl önce

    Evet bir araştırma yaptım. Mehmet Canker bu konuda bir makale hazırlamış. Hibrit olmadığı kanâtine vardım. Ama ben anlam bakımından dolayı hibrit olarak kullandım. Makaleyi düzenliyorum ve düzenlenme sebebinide yazıyorum. Teşekkür ederim Oğuzhanhan :)
    Beğen Beğendin
  • react

    {{commentLike25Count}} beğenme 2 yıl önce

    merhaba react-native run-android komutunu çalıştırdıktan sonra ,ERROR Packager can't listen on port 8081 hatasıyla karşılaştım çözüm olarak react-native start --port 8088 komutunu denedim ama yine aynı port hatasını verdi günlerdir bu hataya çözüm bulmaya çalışıyorum başka yöntemlerde denedim. bilgisi olan paylaşabilir mi lütfen..
    Beğen Beğendin
  • Abdurrahman Eker

    {{commentLike26Count}} beğenme 2 yıl önce

    Merhaba buraya bir issue açın: https://github.com/abdurrahmanekr/bana-istedigini-sor
    Beğen Beğendin
  • Onur

    {{commentLike64Count}} beğenme 2 yıl önce

    Merhabalar, Mobil uygulama geliştirme de önce Andorid ile başlamıştım. Ancak daha sonra cross platform çalışmanın daha mantıklı olacağı kararına vardım. İlk olarak React Native ile tanıştım. Araştırınca Ionic'in görsel tarafı beni çok cezbetti. İnternette'ki genel proje ilanlarına göre düşündüğünüzde Ionic Framework ile başlamayı mı tercih ederdiniz yoksa React ile gitmeyi mi? Buradaki sorum React mi yoksa Ionic mi olarak değil aslında. Tamamen internet pazarlarındaki yayınlanan ilanlara göre daha çok iş çıkarabileceğiniz avantajlı platformun hangisi olduğu. Teşekkürler.
    Beğen Beğendin
  • Abdurrahman Eker

    {{commentLike65Count}} beğenme 2 yıl önce

    Merhaba, aslında freelancer olarak çalışmadığımdan iş ilanlarının durumunu bilmiyorum. Fakat React, Türkiyede şu an için yeni bir teknoloji olduğunu ve iş ilanlarının giderek arttığını düşünüyorum. Ionic'in zaten bir topluluğu vardı. Müşteriler uygulamalarının ve işlerinin güncellenmeye ihtiyaçı olduğunda yine Ionic bilen kişilere ihtiyaçları olacak. Yani bir sonuca varacak olursak X Teknolojisi terkedilmeye başlanan (eski demiyorum) bir teknoloji ise onun için uğraşmaya gerek yok (kişisel fikrim). Burada kararı sizin vermeniz gerekiyor. Ama React alanında çok iş bulunabilir iş konusunda tereddüt etmeye gerek yok. Diye düşünüyorum. (Kişisel düşüncelerim)
    Beğen Beğendin
  • Düşündüklerin nedir ?

    Abdurrahman Eker

    (1010 Eylül 11111001100)

  • Full Stack Developer at Detaysoft Turkey/Sivas
  • İnternette Avare Kodcu
  • github
  • linkedin
  • youtube
  • Yeni içeriklerden haberdar olmak ister misin ?