ASP.Net Web Programlama C# WinForms ve Mono GTK Console Sistem ve Servis Programlama

C# Backend Koduyla Web Dizayn

Açık kaynaklı Ooui kütüphanesi ile bir console uygulamasından bile backend kodları ile web uygulaması geliştirilebiliyor. Bir porttan yayıın yapıyor ve bu porta bağlanan tüm clientler sanki aynı masaüstü uygulamayı başlatmış gibi websocket ile bağlı oluyorlar.

Aşağıda konuyla ilgili basit bir chat uygulaması yaptım. Farkın anlaşılması için bir de gif animasyonu oluşturdum.

using Ooui;
using System;

namespace OouiTest {
    class Program {
        static void Main(string[] args) {
            var mainDiv = new Div();
            
            var msglist = new Div();
            mainDiv.AppendChild(msglist);

            var InputTextArea = new TextArea();
            InputTextArea.KeyUp += (s, e) => {
                TextArea self = (TextArea)s;
                if (self.Value.EndsWith("\n")) {
                    msglist.AppendChild(new Paragraph(self.Value));
                    Console.Write(self.Value);
                    self.Value = "";
                }
            };
            mainDiv.AppendChild(InputTextArea);

            //http://localhost:8080/
            UI.Publish("/", mainDiv);
            Console.ReadLine();
        }
    }
}

Event’den basılan Key’i getirmek isterdim ama buna imkan verilmediğini farkettim. Son görünüm aşağıdaki gibi oluyor.

ooui_anim
.