Blazor İle Uygulama Geliştirme Çabası

Teknoloji çok hızlı değişmekte. Daha ben yeni bir konuyu öğrenemeden neredeyse o artık eskide kalmış oluyor neyse.

Bu yazıda da yeni öğrenmeye çalıştığım blazor ile ilgili daha bitmemiş bir demo uygulama geliştirirken yaşadıklarımı kısaca anlatmaya çalışacağım. Böylece yaşadığım zorluklara belki bir geri dönüş alırım ya da ihtiyacı olan birilerine belki yardımı dokunur.

O zaman ilk olarak nasıl başladım: Sürekli takip etmeye çalıştığım Burak Selim Şenyurt ve Bora Kaşmer’ in paylaşmış olduğu kaynak ve videoları inceledim(Buradan da kendilerine saygılarımı sunuyorum 😊). Daha sonra Microsoft’un kendi kaynakları ve bir kaç kaynak daha buldum. Onları en son kaynak olarak aşağıda belirteceğim.

Blazor’da hedef tamamen client-side uygulama geliştirmek. Bunun içinde Wasm(WebAssembly) kavramı üzerinde yoğunlaşılıyor. Ben öğrenmeye başladığımda o taraf daha beta durumundaydı. Bende Blazor Server ile uygulamayı geliştiriyordum. Tabiki ben daha bitirmeden Blazor WebAssembly 3.2.0 Preview versiyonu çıktı.

Blazor Server ise yine Asp.Net Core üzerinde çalışan client-side ile SignalR connection ile iletişim kuran ve Single Page Application geliştirebileceğimiz bir yapıdır. Detayını fazla incelemedim. Yanlış bir anlatım varsa lütfen belirtiniz.

Biraz tutorial’leri inceledikten sonra kervan yolda düzülür mantığıyla (tutorialleri incelemek de sıkıcı gelmeye başladığı için) basit bir uygulama geliştirmeye karar verdim. Uygulamanın hedefi okuduğum kitapları kaydedebileceğim onları listeleyebileceğim kısa özetini paylaşabileceğim bir uygulama. Bunun için bir veritabanı ve host edebileceğim bir ortam lazımdı. Bu iş için bildiğim çözüm ise Heroku hem host edebiliyorum hem de veritabanı kullanabiliyorum. (Ücretsiz kullanımın belirli sınırları var tabiki 😀)

Ortamı da belirledikten sonra geliştirme ide’si olarak VsCode kullandım. Blazor’ın sunduğu bir özellik ise tüm işlemlerinizi yine razorda olduğu gibi C# ile yapabilmeniz. Bunun sonucu olarak Javascript yazmadan client-side da C# kodu ile işlem yapmamıza imkan veriyor. Tabiki koskoca kemikleşmiş bir Javascriptten de kopmak olmaz(O kadar kütüphane var). Ben de uygulamada Javascript kullamını da eklemek aklımdan geçerken twitter’da karşılaştığım bir yazı ile nasıl Nodejs i kullanabileceğim örneği anlatılan yazı ile Nodejs’i de eklemiş oldum.

Çok kısa yaptıklarımın özeti:

1- Blazor Server uygulaması geliştirip Heroku üzerinde host etme

2- Postgresql veritabanının uygulamaya eklenip Entity Framework ile kullanılması.

3- CRUD işlemleri

4- Blazor’da Nodejs kullanımı

Uygulamayı daha bitirmeden yazıyı yazmaya başladım amacım geri bildirim alabilmek aslında. Hala devam ediyorum fırsat buldukça. Örneğin datatable yerine daha responsive bir yapı arıyorum mobil içinde uygun olacak şekilde. Ayrıca detay sayfası içinde bir dizayn yapmam gerekiyor.

Yaşadığım Zorluklar

Aslında yaşadığım en büyük zorluk sanırım ide. Şuan blazor geliştirmek için VsCode çok kullanışlı değil gibi ya da varsa iyi eklentiler ben bilmiyor olabilirim. Onun haricinde kaynak azlığından bahsedebilirim. Sonraki zorluklar benim tecrübesizliğim olabilir. 😄

Aşağıya uygulama repo linkini ve kaynaklarını da bırakacağım umarım birilerine faydalı olur ve geri dönüş alabilirim:

Tutorials:

#SoftwareDeveloper

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store