Majorsilence.Forms அறிமுகம்
இந்தப் பக்கம் ஒரு மொழிபெயர்ப்பு. ஆங்கிலப் பதிப்புடன் வேறுபாடு இருந்தால், ஆங்கிலப் பதிப்பே சரியானது. English
ஒரு WinForms பயன்பாட்டை Windows-மட்டும் desktop இலிருந்து வெளியே கொண்டுசெல்வது என்பது பாரம்பரியமாக அடியிலிருந்து முழுமையாக மீண்டும் எழுதுவதையே (rewrite) குறித்தது: XAML, கட்டாய MVVM மறுசீரமைப்பு, அல்லது web. அது செலவு மிக்கது, ஆபத்தானது; பெரும்பாலும் ஒரு புதிய தோற்றம் மட்டுமே தேவைப்படும் codebase க்காக, பல ஆண்டுகளாகச் சரியாக இயங்கும் வணிகத் தர்க்கத்தையும் (business logic) UX ஐயும் அது தூக்கி எறிகிறது.
Majorsilence.Forms வேறுபட்ட அணுகுமுறையை எடுக்கிறது: அது WinForms API மேற்பரப்பைப் பிரதிபலிக்கிறது — Formகள், கட்டுப்பாடுகள், நிகழ்வு கையாளிகள் (event handlers), *.Designer.cs code-behind கூட — மேலும் ஒரு இணக்க அடுக்கையும் (compatibility layer) வழங்குகிறது; இதனால் ஏற்கனவே உள்ள படிவங்களும் கட்டுப்பாடுகளும் மிகக் குறைந்த மாற்றங்களுடன் இடம்பெயர்கின்றன. நிரலாக்க மாதிரி (programming model) மாறுவதில்லை; அது இயங்கும் இடம் மட்டுமே மாறுகிறது.
இது எவ்வாறு கட்டமைக்கப்பட்டுள்ளது
ஒவ்வொரு கட்டுப்பாடும் SkiaSharp மூலம் ஒரு SKSurface இல் வரையப்படுகிறது (rendering); அது மாற்றக்கூடிய ஒரு ஹோஸ்ட் பின்தளத்தின் (host backend) மேல் அமர்ந்துள்ளது:
- Avalonia (இயல்புநிலை) — Windows, macOS, Linux desktop ஐ நேரடியாக ஆதரிக்கிறது; அதனுடைய சொந்த Android, iOS மற்றும் Browser (WebAssembly) இலக்குகள் mobile மற்றும் web க்கும் ஒரு பாதையாக உள்ளன.
- Uno Platform — மிகப் பரந்த எட்டல்: desktop, iOS, Android மற்றும் WebAssembly.
- Headless — CI மற்றும் தானியங்கிச் சோதனைகளுக்கான, எந்தச் சார்புகளும் இல்லாத offscreen வரைதல்.
மைய Majorsilence.Forms assembly எந்த windowing toolkit ஐயும் குறிப்பிடுவதில்லை — SkiaSharp ஐ மட்டுமே. பின்தளங்கள் தனித்தனி assemblies; அவை IPlatformBackend மற்றும் IWindowBackend என்ற இரண்டு சிறிய interfaces இல் இணைகின்றன. அந்த இணைப்புக்கோடுதான் (seam), பயன்பாட்டுக் குறியீட்டில் எந்த மாற்றமும் இல்லாமல், அதே பயன்பாடு இன்று Avalonia வையும் நாளை Uno வையும் இலக்காகக் கொள்ள அனுமதிக்கிறது. மேலும் அறிய Platform பின்தளங்கள் பக்கத்தைப் பாருங்கள்.
இது யாருக்கானது
இன்று Windows-மட்டும் இயங்கும் ஒரு WinForms codebase உங்களிடம் இருந்து, பல ஆண்டு நீளும் மீண்டும் எழுதுதலைத் தொடங்குவதற்குப் பதிலாக வேகத்தைத் தக்கவைத்துக்கொள்ள — உங்கள் கட்டுப்பாடுகள், உங்கள் குழுவின் பழக்கப்பட்ட அனுபவம், உங்கள் வணிகத் தர்க்கம் ஆகியவற்றை மீண்டும் பயன்படுத்த — விரும்பினால், இது உங்களுக்காகவே உருவாக்கப்பட்டது.
இந்தத் திட்டம் ஆரம்ப நிலையில் உள்ளது: API நிலைப்பட்டு வருகிறது; WinForms இன் ஒவ்வொரு மூலையும் இன்னும் உள்ளடக்கப்படவில்லை. புதிய பல்தள வணிக (LOB) பயன்பாடுகளுக்கு இது ஏற்கனவே உறுதியான தேர்வு; நீங்கள் பதிப்பை நிலைப்படுத்தினால் (pin your version), உண்மையான production பயன்பாடுகளை இடம்பெயர்த்தலுக்கும் பொருத்தமானது. இன்று எவை செயல்படுத்தப்பட்டுள்ளன, எவை stub ஆக உள்ளன என்பதைத் துல்லியமாக அறிய இணக்க அட்டவணையைப் பாருங்கள்.
முயன்று பாருங்கள்
dotnet new --install MajorsilenceForms.Templates
dotnet new majorsilenceforms
dotnet run
அல்லது ஒரு உண்மையான பயன்பாட்டை ஆராயுங்கள் — samples/Explorer ஒரு முழுமையான Windows Explorer நகல்; samples/Outlaw ஒரு Outlook நகல். இரண்டும் அதே கட்டுப்பாட்டுத் தொகுப்பில், எந்த மாற்றமும் இல்லாமல், பல தளங்களில் இயங்குகின்றன.
உங்கள் முதல் பயன்பாட்டை உருவாக்க தொடங்குதல் பக்கத்தைப் பாருங்கள்.