Flutter Boilerplate
-
Merhaba Arkadaşlar.
https://www.tahribat.com/forum/flutter-2---sadece-mobil-uygulama-olmaktan-cikiyor-249568/4#msg3194057 buradaki postumun son cümlesi olan Yakın zamanda (Takribi 3 ay) bu gibi özel kütüphanelerimi public bir repo da paylaşacağım github dan sözümün üzerine yazmış olduğun boilerplate github linkini aşağıya bırakıyorum.
İçerisinde bir örnek olan ve CI/CD süreçlerinizi çat çut yapabileceğiniz herhangi bir manuel müdahale gerektirmeyen bir altyapı oluşturdum. Bu altyapıya ilerleyen zamanlarad eklenip çıkarılabilinen Firebase tool veya CI/CD toolları gibi public entegrasyonları da dahil edeceğim.
Eksik/yanlış gördüğünüz kısımları PR oluşturarak hem projenin gelişiminde katkıda bulunabilirsiniz hemde insanlara fayda sağlayabilirsiniz.
Boilerplate mesai saatleri içerisinde yazdığımdan dolayı hem şirketin reklamı olsun diye hemde hak geçmesin diye şirket hesabından paylaştım :P
Yakın zamanda yazdığım Flutter makalesine de göz atmak isterseniz onun da linkini aşağıya bırakıyor olacağım.
Herkese iyi kodlamalar.
Boilerplate: https://github.com/neyasis-technology/Flutter_Boilerplate
Makale: https://medium.com/neyasistechnology/flutter-projelerinde-socket-io-kullan%C4%B1m%C4%B1-2470096c7af2
-
çorbada tuzumuz olsun diye ufak bir pr açtım. eline sağlık. flutter tarafında boilerplate oldukça sıkıntı. ayrıca öneri issue'suda açacaktım ancak başınıza dert açarmı bilemedim repo ismiyle ilgili olduğu için. buradan sorayım, sorun olmaz dersen oradada açıyım bence önemli. ismi çok generic olduğu için ileride kullanımı arttığında veya yayınlanacak makale vs. de karmaşa olmaması adına repo adına şirketin adını yada takma isim koymanızda fayda var.
-
TeRRoR bunu yazdı
çorbada tuzumuz olsun diye ufak bir pr açtım. eline sağlık. flutter tarafında boilerplate oldukça sıkıntı. ayrıca öneri issue'suda açacaktım ancak başınıza dert açarmı bilemedim repo ismiyle ilgili olduğu için. buradan sorayım, sorun olmaz dersen oradada açıyım bence önemli. ismi çok generic olduğu için ileride kullanımı arttığında veya yayınlanacak makale vs. de karmaşa olmaması adına repo adına şirketin adını yada takma isim koymanızda fayda var.
Hocam projenin isminin bu olmasında bir sakınca yok diye düşünüyorum. İlerde büyüyeceğini pek sanmıyorum öyle insanlara yardımı olsun yeterli. Belki ilerde bir script eklerim kişilerin isimleri (kod içerisindeki) rahatlıkla değiştirebileceği.
-
MhmdAlmz bunu yazdıTeRRoR bunu yazdı
çorbada tuzumuz olsun diye ufak bir pr açtım. eline sağlık. flutter tarafında boilerplate oldukça sıkıntı. ayrıca öneri issue'suda açacaktım ancak başınıza dert açarmı bilemedim repo ismiyle ilgili olduğu için. buradan sorayım, sorun olmaz dersen oradada açıyım bence önemli. ismi çok generic olduğu için ileride kullanımı arttığında veya yayınlanacak makale vs. de karmaşa olmaması adına repo adına şirketin adını yada takma isim koymanızda fayda var.
Hocam projenin isminin bu olmasında bir sakınca yok diye düşünüyorum. İlerde büyüyeceğini pek sanmıyorum öyle insanlara yardımı olsun yeterli. Belki ilerde bir script eklerim kişilerin isimleri (kod içerisindeki) rahatlıkla değiştirebileceği.
hocam ben daha fazla insana erişebilemesi açısından ve eriştikten sonra beni başkasına "şu boilerplate vardı ona bak diyebilmem için dedim". yoksa proje içerisindeki isimle ilgili sorun yok. eşek değilse refactor etsin IDE ile. dediğim gibi öneri çokta mühim değil. eline sağlık tekrar.
-
@Terror, Neyasis_Flutter_Boilerplate olarak değiştirdim hocam :P Teşekkür ettim değerli yorumların için.
-
Hocam eline emeğine sağlık
Flutter ilgimi çekmiyor artık, defalarca denedim fakat farklı bir dil öğrenmemi gerektirecek, yeni syntaxa alışmama zorlayacak bir şey göremiyorum. Bu durumlar için de makalelerini bekliyorum açıkcası :)
Nodejs kısmında bazı düzenlemeler gördüm ama ana konu flutter mi yoksa tamamiyle projeyi kapsıyor mu bilemediğimden buraya yazayım dedim;
sockette foreach ile tek tek arama yerine
IO.sockets.sockets.find(s => s.name === data.to).emit(....)
yapılabilir find foreache göre daha performanslı
Ancak bu da her seferinde tek tek aramayı gerektireceğinden memory üzerinde bir önbellek oluşturabiliriz
Olay aslında basit
const members = {}
yapıp bir constant tanımlıyoruz. Her giriş yapıldığında (bu projede sanırım name unique oluyor)
members[name] = socket
şeklinde tanımlayabiliriz. Tabi performans açısından kullanıcı disconnect olduğunda delete member[name] yapmayı unutmuyoruz
artık members[name].emit(....) şeklinde arama yapmaya gerek kalmadan kullanım sağlayabiliriz. Ayrıca Object.keys(member) da memberlistimizi oluşturuyor.
Böylece basit bir memory cache yapmış olduk. Bir basamak ötesinde redis ve rabbitmq var
-
Hocam oradaki olay aslında nodejs değil. Eklediğin kısımların tümünde haklısın kaldı ki ben lodash kullanıyorum. Makalede de belirttim. Nodejs tarafını tamamen pure js yazmaya çalıştım ki nodejs bilmeyen adamlar çok da zorluk çekmesin diye.
Yine de yorumların için teşekkür ederim :) normalde ben eventlistener kullanırdım bu yapı için.