Web Development vs Mobile Development

kellon0

Hectopat
Katılım
27 Kasım 2020
Mesajlar
11
Daha fazla  
Cinsiyet
Erkek
Herkese merhabalar, umarım şimdi sormak istediğim sorular bağlamında doğru bir yere konu açmışımdır. Karar vermekte çok zorlandığım bir kavşaktayım. Bu kararı alabilmek için tecrübeli fikirlere ve sektörde bir süredir var olan insanların tavsiyelerine ihtiyacım var. Elimden geldiğince kısa tutmaya çalışacağım.

Yazılım alanında 0 dan başlayarak bir yerlere gelmek için kendime 12 ay gibi bir süre ayırdım. Yönelebileceğim yolları değerlendirip, yapmaktan zevk alacağım bir tarafının olması ve beni bu şekilde motive etmesi amacıyla da seçeneklerimi 2'ye kadar indirgedim. Başlıkta da görebileceğiniz üzere Web ve Mobile development. Bu ikilemden çıkamıyor olma sebebim ise şu; kod yazmaya başladığım zaman o kodun ne yapacağını ve ne işe yaradığını görsel olarak ekranımda görmek istiyorum, bu bir web sitesi de olabilir yada bir mobil app de olabilir. Arka planda ne olduğu (en azından şimdilik) beni çok cezbetmiyor. Yani bir şekilde işin dizayn kısmında yer almak istiyorum. Araştırmalarım sonucu da Front-end Web ve Mobile development arasında bu bağlamda çok fazla benzerlik olduğunu öğrendim. İşlevsel ve responsive web siteleri veya mobile appler tasarlamak ve bunu yaparken işin daha çok arayüzü ile haşır neşir olmak istiyorum. Bu benzerliklerle de hangi yolu seçeceğime karar veremiyorum. Perspektifimi elimden geldiğince anlatmaya çalıştım ama mantıksal olarak bu perspektifte hatalar olduğunu düşünüyorsanız beni düzeltebilir misiniz?

Şimdi sorularıma geçmek istiyorum:

  • Kotlin/Java için bazı insanlar ilk yazılıma atılan adım yani başlangıç için mantıklı değil diyorlar bu ne kadar doğru?
  • Kotlin/Java için bir başka duyduğum negatiflik ise hindistanlılardan dolayı freelance iş imkanının neredeyse yok denecek kadar az olduğu. Bu durum ayrıca yurt dışı merkezli bir remote full-time iş imkanlarını da baltalıyor mu?
  • Flutter ile mobile development'a başlamak konusunda da birçok öneri gördüm ama maalesef tam tersi yönünde de gördüğüm şeyler oldu, bunun sebebi de junior olarak bir işe girmenin Flutter özelinde ekstra bir zorluğu olduğu. Bunlara katılır mısınız? Flutter şu anda 0 yazılım bilgisi olan birisi için iyi bir başlangıç olabilir mi?
  • Front-end Web development ve Mobile development freelance iş imkanı olarak kıyaslandığında sanırım Web çok daha avantajlı buna katılır mısınız?


Belirttiğim sorular dışında da herhangi bir öneriniz tavsiyeniz olursa Front-end Web veya Mobile dev. ile ilgili memnuniyetle dinlemek isterim. Bilgim çok fazla olmadığı için sormayı atladığım önemli noktalar kalmış olabilir. Sadece bu seçimi kolaylaştırabilmek için insanların fikirlerini almaya çalışıyorum. Buraya kadar vakit ayırıp okuduğunuz için teşekkür ederim.
 
Son düzenleyen: Moderatör:
  • Kotlin/Java için bazı insanlar ilk yazılıma atılan adım yani başlangıç için mantıklı değil diyorlar bu ne kadar doğru?
  • Kotlin/Java için bir başka duyduğum negatiflik ise hindistanlılardan dolayı freelance iş imkanının neredeyse yok denecek kadar az olduğu. Bu durum ayrıca yurt dışı merkezli bir remote full-time iş imkanlarını da baltalıyor mu?
  • Flutter ile mobile development'a başlamak konusunda da birçok öneri gördüm ama maalesef tam tersi yönünde de gördüğüm şeyler oldu, bunun sebebi de junior olarak bir işe girmenin Flutter özelinde ekstra bir zorluğu olduğu. Bunlara katılır mısınız? Flutter şu anda 0 yazılım bilgisi olan birisi için iyi bir başlangıç olabilir mi?
  • Front-end Web development ve Mobile development freelance iş imkanı olarak kıyaslandığında sanırım Web çok daha avantajlı buna katılır mısınız?

- Basladigin dil onemli degil. Ileride sececegin alanda bolca kullanilan dil ile baslamak zorunda degilsin. Basladigin dilin sadece ve sadece tek bir amaci var, programlama temellerini ogrenmek. Kimi diller gorece yuksek seviyedir ve bazi kavramlar senin icin perde arkasinda halledilir. ( Insanlarin "kolay" sandigi diller ). Kimi diller gorece low level'dir ve bunlarla ogrenmenin de farkli arti ve eksileri olur. Sonuc programlama motor tamir etmek ise, basladigin dil sadece ilk ogrendigin tornavida demek, otesi degil. Muhim olan neyi nereye vidalayacagini ya da hangi parcanin ne ise yaradigini bilmek. Sonra zamani gelince uygun tornavida ile projeni gelistirirsin :)

- Freelance piyasayi diger dillerde de Hint ve Cin asagi ceker. Ucuz fiyat ceken rakiplerden siyrilmanin yolu teknik bilgini gelistirmek. Ayrica yeni baslayan birinin 5$ 'a Android uygulama gelistiren Hintli seviyesine gelmesi icin de abartmaksizin birden fazla senesini bu ise ayirmasi gerekiyor. Kisa surede para kazanilacak bir meslek degil bu. Bu durumun da Kotlin ve Java ile alakasi yok.

- Bilgisi 0 olan birine Flutter'i degil, mobil development'in kendisini onermem. Once temel kavramlar, sonra mobil ~ web gelistirme.

- Avantajdan ne kastedildigine ve marketin konumuna gore degisir bu durum. Yetkin isen hangi alanda olursan ol is bulursun.
 
- Bilgisi 0 olan birine Flutter'i degil, mobil development'in kendisini onermem. Once temel kavramlar, sonra mobil ~ web gelistirme.

Cevap için teşekkür ederim. Temel kavramlardan kastınız CS50 mi acaba? Yada örnek veriyorum HTML>CSS>Javascript şeklinde yazılım dünyasına bir adım atıp sonrasında karar vermek mi? Çünkü bu son yazdığım 2. seçeneği de hep düşünüyorum ama kısıtlı bir zamanım olduğu için eğer olurda mobil beni içine çeken şey olursa, zaman kaybetmiş olur muyum diye düşünüyorum.
 
Cevap için teşekkür ederim. Temel kavramlardan kastınız CS50 mi acaba? Yada örnek veriyorum HTML>CSS>Javascript şeklinde yazılım dünyasına bir adım atıp sonrasında karar vermek mi? Çünkü bu son yazdığım 2. seçeneği de hep düşünüyorum ama kısıtlı bir zamanım olduğu için eğer olurda mobil beni içine çeken şey olursa, zaman kaybetmiş olur muyum diye düşünüyorum.

Evet CS50 ya da onun muadili seyler. Algoritma, veri yapilari, networking, threading, I/O vs. ( Tabi onlardan once de matematik ve Ingilizce )

Bunlari bilmeden direkt konuya dalarsan anlamazsin, anladigini zannedersin en iyi ihtimalle.

Ornegin Android uygulamana background servis eklemek istiyorsun, actin dokumanini :


1728658369326.png


Ne yazdigini anlaman icin Ingilizce, onStart() , onStop() tarzi lifecycle call-backleri anlamak icin Event-driven programlama, Threading ve couroutine yapisini bilmen icin sync ve concurrency kavramlarini onceden biliyor olman lazim. Backgroun serviste daha tek satir kod bile yazmadin daha, orada da yazacaklarin icin muhtemelen networking ve I/O temellerin olmali.

Diyelim ki Google'in yazdigi dokumanlardan degil de Youtube'da cok meshur bir egitimci olan Muhittin Pektemel'in serisinden "ogrendin". O zaman da en fazla bir youtube yayincisinin bilgi seviyesinde olabilirsin, onun ekranda yazdigindan 1 gram fazlasini yazamazsin. ( Fazla daha cok kod degil, daha sofistike problemi cozebilen kod )

Yazilim gelistirmeye nasil adim attiginin aslinda uzun vadede hic onemi yok. Belli basli kirilma noktalari olur sana konseptleri ogreten ve gelecegini sekillendiren; bunlar da uzun ugraslar ve projelerde ogrenimlerinle kazanilir. Yoksa JS ile baslamissin, Perl ile adim atmissin cidden hic muhim degil.
 

Technopat Haberler

Yeni konular

Geri
Yukarı