Masaüstü daha önce çok fazla girmediğim ama fırsat bulduğumda girmeyi istediğim bir alandı. Bir kaç yıl önce pandemi döneminde bina içerisindeki kalabalığı önlemek için yeni bir uygulama geliştirmek isteyen bir kurum ile bir yazılım projesi üzerine görüşmüştük.
Proje
Şöyle ki proje genel olarak iki bölümdü. Birinci bölüm iş arayan statüsünde olan çoğunluğu, bina içerisine girmeden önce bilgilendirmek için bir elektronik pano hazırlamaya yönelik. Burada aktif ilanlar dev bir panoda listelenerek sunulacak ve böylelikle bir bilgi akışı sağlanacak. İkinci bölümü ise benim yazılım alanında çalışacağım kısım.
Burada yapılması istenen işlem, günlük olarak ilgili birime ulaşan ilan listesinin .xml formatında alınıp geliştirilecek uygulamaya import edilerek, uygulamanın otomatik olarak alınan listeye göre belirlenen süre içerisinde belirli sayı dahilinde listelenmesiydi.
İlk ElectronJs + VueJs Geliştirmem
Uygulama tamamen internetten bağımsız bir şekilde çalışması gerektiğinden Electron.js gibi bir kütüphaneye ihtiyacım vardı. Daha önce electron ile yapmış olduğum geliştirmeler neticesinde server ve client tarafındaki iki taraflı haberleştirmelerin biraz zor olduğunu biliyordum. Herşeyi pure javascript tabanlı geliştirmek istemediğimden devreye Vue gibi bir framework'ü koymam geliştirme sürecini kat ve kat hızlandırmıştı.
Vue 2 ile geliştirme yaptığım zamanlarda electron+vue kombinasyonunun benim için en kullanışlı olan tarafı, middware için Vue içerisinde yalnızca geliştirmenizi yapmanız ve projenin kendi içerisinde direkt olarak herhangi bir ekstra çaba sarfetmeden doğrudan web tarafına render etmesiydi. Genel olarak Electron ve Vue tarafını birbirinden ayrı olarak konfigüre ediyorsunuz.
Bunlara ek olarak yine server tarafında ipcMain ve ipcRenderer üzerinden uygulamayı kolaylıkla haberleştirebiliyorsunuz. Aynı zamanda Electron Remote gibi bir çok electron taraflı modülü de Vue içerisinde kullanabiliyorsunuz.
Güvenlik Sorunları
Performans, Bellek Tüketimi ve Geliştirme Süreci her ne kadar Electron JS için sorun olsa da bu sorunların en önemlisi güvenlik sorunu olabilir. Electron uygulamaları, tarayıcı motoru nedeniyle web uygulamalarında görülen güvenlik sorunlarına maruz kalabilir. Geliştiricilerin bu konuda dikkatli olmaları ve güvenlik önlemleri almaları önemlidir. Örneğin kullanıcı doğrulama ve hassas verilerin işlenmesi gibi durumlarda bu durum göz önünde bulundurmalıdır.
Sonuç olarak eğer yalnızca bir kaç komplike işlemi bir araya getirmeye yönelik bir uygulamaya ihtiyacınız varsa. Mevcutta sizin için en iyi altyapıyı ve geliştirme kolaylığını sağlayabilir. Eğer aklınızda Electron Js tabanlı bir masaüstü uygulaması geliştirme düşüncesi varsa ve Vue ile en az orta seviye bir deneyiminiz varsa, böyle bir sistemi kesinlikle tavsiye ederim.
Eğer çok daha kapsamlı bir projede çalışıyorsanız da bu iş için Quasar gibi frameworkleri de inceleyebilirsiniz.
🔥 Yorumlar