Merhaba, ben Throwaway
Öncelikle foruma hoş buldum dedikten sonra azıcık kendimden bahsetmek istiyorum
Araştırmalarım sonucunda bazı yazılım terimlerini öğrenme fırsatım oldu ancak şimdiye kadar herhangi bir yazılım tecrübem olmadı. Fakat uzun zamandır bir proje arayışındaydım ve buldum
Gerçi hâlâ projemin başarılı olup olmayacağı hakkında kesin konuşamıyorum ve içimde bir yerlerde her şeyin başarısızlıklıkla sonuçlanma ihtimalinin yüksekliğinin korkusu var. Ancak artık bir şeyler yapmam gerektiğini düşünmek, adım atma vaktimin geldiğini hissettiriyor bana. Ben de ilk adımımı atmadan önce nereye, nasıl atacağımı öğrenmek amacıyla sizlerden yardım istiyor olacağım, işte tam da bu yüzden buradayız
Başlamadan Önce
Yapmak istediğim yegane şey bir mobil uygulama. Bu uygulamayı iki büyük mobil işletim sisteminde yayınlamak istiyorum. Bu ikisi tabii ki Android ve iOS.
İkisi de koskoca şirketler tarafından üretildiğinden ve birbirlerine rakip olduklarından dolayı yazılımcılar için de sorun yaşatan özellikleri var. Sanırım en büyük sorun Android için Java/Kotlin, iOS için Objective-C/Swift kullanmak. Ancak kısıtlı vaktimden dolayı tek kodla iki işletim sistemine de uygulama çıkarmam gerekiyor. Aynı uygulamayı hem Java hem de Swift kullanarak ayrı ayrı kodluyor olsaydım elbette birçok açıdan çok daha iyi olurdu ancak bunu param ve zamanım olduğunda yapabileceğim
Büyük Yardımcılar
2023 yılında olmanın verdiği avantaj, “tek kodla iki işletim sistemine de uygulama çıkarma” işinin aslında hayal olmaması. Araştırmalarım sonucu bunu yapmamı sağlayacak büyük yardımcılar buldum: Xamarin, Ionic, React Native ve Flutter. İlk ve en büyük sorunum bu 4’ünü arasında net bir tercih yapamamam, ama React Native bana biraz daha yakın geldi, bu konuda yardımınıza ihtiyacım var. Ek olarak, Vue.js de bana oldukça iyi geldi. Ancak mobile uygun mu pek bilmiyorum, araştırmaya vaktim olmadı maalesef. Basit, küçük, hızlı ve CSS üzerinde tam oynama yetkisi bana oldukça cazip geldi. Ayrıca bunların hangi dille kodlandığını vs. açıklamam gerekiyor mu bilmiyorum, sorumu cevaplayacak yetkinlikte olan arkadaşlar biliyordur diye tahmin ediyorum
Projenin Bel Kemiği: Veriler
“Proje tamamen veriler üzerine kurulu” desem yanlış olmaz sanırım. Bana yardımcı olmanız için bazı şeyleri bilmeniz gerektiğini anlayabiliyorum, bu yüzden biraz detay vereceğim:
-
Uygulamanın ana amaçlarından biri kullanıcının aradığı bilgileri ona göstermek. Tabii ki bu bilgiler halihazırda veri tabanında bulunan verilerden olacak. Bir arama motoru kadar kompleks düşünmeyin, satılık iki aracı ve bu araçların özelliklerini göstermek, belki de kıyas yapmak gibi basit diyebileceğimiz işlemler yapılacak. Tabii ki ne arabaların ne de kıyas yapmanın projeyle uzaktan yakından alakası yok, sadece basitlik düzeyleri aynı olduğundan dolayı böyle bir örnek verdim, çünkü asıl olayı anlatacak olsam resmen projenin patentini vermiş olurdum
-
Ayrıca bir sosyal medya uygulamasında olan özelliklerin bazılarına da sahip olacak. Bir kullanıcı profili oluşturmak, diğer profilleri görmek gibi. Fakat amacı bir sosyal mecra oluşturmak değil, mesajlaşma bile bulunmayacak
-
Uygulama içerisinde satın alınabilir ögeler/hizmetler bulunacak. Bunu yazma sebebim bu satın alım işlemleri için de mecburen özel bilgiler gerektirmesi ve bunların güvenliğinden benim sorumlu olmam.
Dediğim gibi, proje veriler üzerine şekilleniyor ve önemli bilgileri de kullanacak. Bu yüzden güvenli bir veri tabanı kullanmam gerekiyor. Kafamdan SQL, MySQL, Firebase gibi veri tabanları geçiyor. Aslında direkt Firebase’i seçerdim, ancak zamanla ücretli olabiliyor olmasından dolayı uzak duruyorum. Bana en yakın seçenek MySQL olarak geliyor, ancak burada da görüşlerinize ihtiyacım var.
Görünmeyen Kahraman
Arayüz, veri tabanı seçildi diyelim. İkisi de tek başına anlamlı olmuyor, senkronize olmaları, şekillenebilmeleri ve yönetilebilmeleri lazım, bu yüzden bana bir back-end zımbırtısı(?) gerekecek. Ne yazık ki bu kadar önemli bir alanda pek araştırma yapamadım, tek bildiğim React Native + Firebase
kombosunun yapılabildiğini bildiğim ExpressJS. Back-end için de yine öneri & görüşleriniz benim için çok önemli.
Bir uygulamada bunlara ek olarak medya ögeleri (Görseller, resim vs.) de olur ancak özellikle ses için herhangi bir şeye ihtiyaç duyduğumu zannetmiyorum, çünkü uygulamada kullanabileceğim tek ses unsuru tuşlara tıklandığında bir click sesi oluşturmak. Görseller projede önemli bir yere sahip olsa da sonuç olarak veri tabanında bulunacaklar, bu yüzden ayrı bir parantez açmaya gerek duymadım. Tabii bilmediğim bir şey varsa söylerseniz çok makbule geçer
Kapanış
Bu forumda yeni olduğumdan dolayı bazı şeyleri bilmiyor olabilirim. Yanlış yaptığım bir şey(ler) varsa en kısa sürede düzeltmeye çalışırım. Olabildiğince okunaklı, eğlenceli bir şekilde yazmaya dikkat ettim. Emojilerle de süsledim ki, aslında neden süslediğim hakkında en ufak bir fikrim yok
Yardım istediğim konularla ilgili her düşüncenizi belirtebilirsiniz, ancak lütfen görüşlerinizi belirtirken bu konuda ne kadar hakim olduğunuzu da belirtin. Hiç bilgisi olmayan ben bile veri tabanlarında MySQL’i daha iyi bir seçenek olarak görüyorum ama nedenini bilmiyorum . Yani anlatmak istediğim şey bilgisi olan kişilerin önerilerini daha ciddiye almak. Ama kesinlikle sizin görüşlerinizi önemsemediğim sonucuna varmayın, sadece ciddiye alma oranları farklı
Dikkate alıp zamanınızı ayırıp okuduğunuzdan dolayı çok teşekkür ederim