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:
huseyinsimsekk/read2book
Contribute to huseyinsimsekk/read2book development by creating an account on GitHub.
github.com
Blazor ile Hello World Uygulaması Geliştirmek
Burak Selim Şenyurt - Matematik Mühendisi Bir .Net,Ruby,Go ve Python Severin Maceraları - Amacım Microsoft'un deneysel…
www.buraksenyurt.com
WebAssembly ve Blazor Nedir ?
Selamlar, Bu makalede, 2018 MVP Global Summit'de karşıma çıkan Microsoft teknolojiler arasında beni ençok…
www.borakasmer.com
Using npm packages with Blazor
Blazor is an amazing Web UI Framework since you can now use C# on front end web applications. However, there are times…
medium.com
Tutorials:
Blazor | Build client web apps with C# | .NET
Blazor lets you build interactive web UIs using C# instead of JavaScript. Blazor apps are composed of reusable web UI…
dotnet.microsoft.com