Mock Data Neden Önemlidir Ve Neler Var?
NOT: Bu yazı bir framework veya kütüphane implementasyonunu anlatmaz!
Merhaba, bu yazımda size geliştirme yaparken nasıl sunucuya gitmeden, uygulamanızın dosya sistemine sadece json dosya koyarak nasil sunucudan veri alıyormuş gibi yapacağınızdan bahsetmeyeceğim . Burada basit gibi görünen bu konunun size nasıl bir avantaj sağlayacağından bahsetmek istiyorum.

Mock Data Kullanımı Neden Önemli?
Profesyonel bir proje geliştirirken genellikle birkaç ekip birlikte çalışır (backend ekibi, mobil ekibi vb.). Projenin analiz kısmından sonra implementasyona başlanır ve mobil ekipteki arkadaşlar haberleşeceği backendin yazılmasını bekler ve backendteki arkadaşların implementasyon yapmasından sonra backend ile haberleşeceği endpointleri mobil geliştiriciler alır ve uygulamaya network kısmını implement etmeye başlar. Ya siz backend implementasyonu başlamadan network kısmını implement etseniz ve vakit kaybetmezseniz nasıl olur?
Bu biraz konunun dışına çıkabilir lakin genellikle kervan yolda düzülür mantığı ile geliştirme yaptığımız için inanılmaz mesailer yapıyoruz. Bunun için Dünya’da birçok çözüm var ama uygulamıyoruz. Neyse genel olarak bir projenin yürümesinden çok biraz üstün körü proje geliştirme yönteminden bahsedip yolumuza devam edelim.
Küçük bir çözümden bahseden bir kitap var onu size tavsiye edeyim. Emin olun bu da tam sizin çözümünüz olmayacak.
Üstün Körü Proje Geliştirme Yöntemi
Proje isterleri size gelir ve 1 adet analiz oluşturulur. Yani biz bu projede ne yapacağız gibi soruları tekrar sormanızı engellemek için bir dökümantasyon oluşturulur.
Bu dökümantasyondan sonra geliştirme ekibi toplanıp projede hangi teknolojilerin ne şekilde kullanılacağını belirler. Sonra iş daha detaya iner ve client(web, mobil vb.) ile sunucunun haberleşmesi konusuna geliriz. İşte bu yazıyı asıl yazma sebebim bu kısım için. Şöyl,e bu süreçte mobil clientın hangi endpointlere neler ile (path, query, body ve header) gideceği ve requestten sonra hangi responselerin geleceği belirtilir. Buraya kadar herşey güzel. Tamam şimdi implementasyona başlayalım. Artık hangi endpoint hangi requesti atıp hangi responsenin geleceğini öğrendiniz ve backend ekibi implementasyona başladı peki siz bu süreçte ne yapacaksınız? Projeyi initialize edersiniz, birkaç adapter oluşturursunuz hadi abartıyorum olabilecek tüm activityleri kullandığınız Architecture Design Pattern’a göre oluşturdunuz. O ara backend ekibi hala geliştirme yapıyor ve siz artık tıkanmış durumdasınız. İşte bu anda şöyle birşeye ihtiyacınız oluyor;
Lan ben zaten hangi endpointe hangi requesti atıp hangi responseyi alacağımı biliyorum. Ben sunucuya gidiyormuş gibi yapsam ama gitmesem bana response oluşturduğum JSON dosyasından gelse bu backendçilere ihtiyacım kalmayacak. Fişeğim yine ha!
Yukarıdaki aydınlanmayı yaşadıysanız bundan sonrası kolay. Artık hangi kütüphaneyi veya frameworkü seçeceğiniz kalmış. Gerisi sadece kod.
Ben Android için Retrofit’te kullanılabilecek bir kütüphane kullanıyorum. Onun linkini vereyim.
Belki Mock Data’yı clientta bulundurmak istemezsiniz ve gerçekten bir yere request atmak istersiniz. Bunlar içinde çözüm var
Swagger HUB: Zaten projede Swagger kullanılıyor ise güzel bir çözüm olabilir.
Mock API: Bir frameworke ihtiyaç duymadan bu toolu kullanabilirsiniz.
Test Sunucusu: Bu biraz genel bir çözüm oldu lakin hiçbirşeyin olmamasından iyidir. Backend yazan arkadaş veya siz Node.js ile business gerektirmeyecek bir test sunucusu yazabilirsiniz.
Şuanlık aklıma gelen çözümler bunlar umarım ki bu yazımda neden MOCK DATA’nın önemli olduğunu anlatabilmişimdir.