WebView olmadan Avalonia ile Markdown not uygulaması: C# projesinden dersler
Rus geliştirici Leaflet adlı Windows Markdown not uygulamasını C# ve Avalonia 12 üzerinde, WebView ya da Electron kullanmadan yazdı. Uygulama notları düz .md dosyası olarak tutuyor, [[bağlantı]] ve geri bağlantıları destekliyor ve bir saniyeden kısa sürede açılıyor. Yazıda canlı önizleme, tarayıcısız PDF çıktısı ve dosya çakışması gibi pürüzlü konular anlatılıyor.
Kilit noktalar
- Notlar düz .md dosyası; veritabanı yok, [[bağlantılar]] klasörden indekslenir.
- Canlı önizleme ham metnin üstüne stil uygular; imleç satırı dışındaki satırlarda biçimlendirme görünür.
- Avalonia 12 için WindowDecorations.BorderOnly ve ExtendClientAreaToDecorationsHint birlikte kullanılarak Windows 10'daki beyaz şerit giderilir.
- Editor.Focus() false döner; odak için Editor.TextArea.Focus() çağrılmalı.
- Kayıtlar geçici dosya üzerinden yapılır; dışarıdan değişen ve kaydedilmemiş sekmelerde çakışma çubuğu çıkar.
- Self-contained yayın zip olarak yaklaşık 50 MB; *.pdb dosyaları çıkarılarak yaklaşık 100 MB tasarruf edilmiş.
Leaflet, Windows için yazılmış bir Markdown not uygulaması. Notlar düz .md dosyası olarak bir klasörde duruyor, [[wiki bağlantıları]] ve geri bağlantılar destekleniyor, metin ayrı bir önizleme paneli olmadan biçimli görünüyor. Hazır araçların çoğu WebView veya Electron üzerine kurulu olduğu için yazar uygulamayı Avalonia 12, AvaloniaEdit ve Skia ile tek bir yerel süreç olarak yazdı.
Canlı önizleme, belgeyi değiştirmek yerine ham metnin üstüne satır bazlı biçimlendirme uygulayarak çalışıyor; bu yüzden geri alma ve arama normal bir editörde olduğu gibi davranıyor. Tablolar, görev kutuları, resimler ve gömülü notlar kendi çizicileriyle gösteriliyor. 5.013 satırlık bir notta ilk kare 0,66-0,89 saniyede çıkıyor ve bellek yaklaşık 133 MB. PDF çıktısı doğrudan SkiaSharp ile üretiliyor; özel bir font altkümeleme aracı sayfayı 1,6 MB'tan yaklaşık 130 KB'a indirdi.
Gerçek dünyada kullanımı
- Senkronize bir klasörde tutulan kişisel bilgi tabanını tarayıcı tabanlı uygulama kullanmadan düzenlemek.
- Hızlı açılış ve düşük bellek isteyen, teknik dokümanlar için masaüstü Markdown editörü geliştirmek.
- Başka bir alan için AvaloniaEdit üzerinde satır içi görselleştirmeli özel bir editör yazmak.
Neden önemli
Avalonia ve AvaloniaEdit ile masaüstü editör yazan .NET geliştiricileri, öğreticilerde genellikle atlanan pürüzleri (odak, pencere dekorasyonu, imleç yerleşimi, dosya çakışmaları) bu yazıda somut biçimde görebilir.
Benzer haberler
- C# 14 extension member'ları: derleyicinin uyarmadığı gölgeleme hatasıDEV Community: #csharp1 gün önce
- Ollama ve Qdrant ile C# tarafında yerel RAG'den AI Agent'a – Bölüm 3Ottorino Bruni1 gün önce
- C#'ta LLM token'ları: yapay zekâ "strawberry"deki r'leri neden sayamıyor?DEV Community: #csharp1 gün önce