Skip to content

Programista-Art/Avoraiser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Avoraiser UI Framework

High-Performance WinAPI UI for Avocado

Avoraiser is a framework for creating modern user interfaces for the Polish programming language Avocado.


🚀 Dlaczego Avoraiser?

Avoraiser to ultra-lekki framework UI zbudowany od podstaw w oparciu o czyste, natywne WinAPI. Został zaprojektowany dla deweloperów, którzy stawiają na maksymalną wydajność, minimalny rozmiar pliku .exe oraz brak zewnętrznych zależności (Zero-Runtime).

Kluczowe atuty:

  • Ponad 400 natywnych funkcji systemowych – pełna kontrola nad interfejsem.
  • Natywna wydajność – bezpośrednie wywołania systemowe bez zbędnych, ociężałych warstw abstrakcji (VCL/LCL)..
  • Czyste WinAPI & GDI+ – sprzętowe renderowanie interfejsu, antyaliasing, przezroczystości (Alpha Channel) i zaokrąglone rogi kontrolek.
  • Optymalizacja pod Avocado – idealnie dopasowany do składni i filozofii polskiego języka programowania.
  • Modern Look & Feel – wbudowana obsługa Dark Mode, trybu Frameless (okna bez nagłówka) i płynnego skalowania.
  • Natywny system PDF – wbudowany moduł generowania profesjonalnych dokumentów i raportów bezpośrednio do plików PDF z zachowaniem idealnych proporcji (Aspect Ratio).
  • Pełny Unicode – bezproblemowa obsługa polskich znaków.

📊 Bezkonkurencyjna lekkość (Benchmark)

Porównanie wagi czystej aplikacji: Avoraiser (Avocado) vs. LCL (Lazarus).

Tryb kompilacji LCL (Lazarus) Avoraiser (Avocado) Wynik
Debug 26.8 MB 1.1 MB ~24× mniejszy
Release 2628 KB 68 KB ~38,7 mniejszy

Werdykt: Avoraiser nie obciąża aplikacji balastem widgetsetów i stylów. To czysta moc WinAPI, co skutkuje błyskawicznym startem i idealną charakterystyką dla aplikacji typu portable.


Architektura i Komponenty (25 modułów / 426 funkcje)

Framework oferuje kompletny zestaw narzędzi do budowy profesjonalnego oprogramowania:

I. Serce Frameworka (Logika i Okna)

  1. avoraiser.core – Pętla komunikatów okna (odświeżanie UI bez zawieszeń) i podstawowe struktury.
  2. avoraiser.window – Zaawansowane zarządzanie oknami (systemowe, Frameless, blokady maksymalizacji).
  3. avoraiser.events – Przechwytywanie sygnałów WinAPI i konwersja na zdarzenia (callbacks).
  4. avoraiser.layout – Responsywne skalowanie i zarządzanie pozycjami (X, Y).
  5. avoraiser.utils – Szybkie konwersje, obliczanie proporcji grafiki i przeliczanie czcionek.

II. Silnik Wizualny i System (Graphics & OS)

  1. avoraiser.gdi – Niskopoziomowe rysowanie kształtów, grafiki z pamięci RAM i wygładzanie krawędzi.
  2. avoraiser.system – Zestaw funkcji WinAPI, obsługa Drag & Drop oraz trybu Dark Mode.
  3. avoraiser.dialogs – Systemowe komunikaty i okna dialogowe (Open/Save, Drukarka).
  4. avoraiser.clipboard – Szybki dostęp do pamięci schowka Windows.

III. Podstawowe Kontrolki Interfejsu (Basic UI)

  1. avoraiser.button – Przyciski tekstowe i graficzne z obsługą stanów Hover/Pressed.
  2. avoraiser.edit / avoraiser.memo – Wydajna obsługa jedno i wieloliniowych pól tekstowych.
  3. avoraiser.richedit – Formatowany tekst z obsługą standardów systemowych.
  4. avoraiser.labels – Lekkie etykiety tekstowe z przezroczystym tłem.
  5. avoraiser.shape – Geometryczne dekoracje interfejsu (linie, koła, prostokąty).

IV. Kontrolki Zaawansowane (Advanced UI)

  1. avoraiser.combobox / avoraiser.listbox – Szybka obsługa rozwijanych i otwartych list danych.
  2. avoraiser.checkbox / avoraiser.radiobutton / avoraiser.groupbutton – Przełączniki systemowe i autorskie z logicznym grupowaniem.
  3. avoraiser.progressbar – Paski postępu wspierające nowoczesny design (tryb tekstowy i graficzny).
  4. avoraiser.trackbar – Precyzyjne suwaki systemowe.
  5. avoraiser.spinedit – Numeryczne pola wyboru.
  6. avoraiser.timepicker – Natywny wybór daty i czasu.
  7. avoraiser.menu – Klasyczne paski nawigacyjne oraz menu kontekstowe.

V. Silnik WebView2

  1. avoraiser.webview - Komponent oparty na Chromium, umożliwiający integrację silnika przeglądarki (renderowanie HTML/CSS/JS) wewnątrz aplikacji.

💻 Szybki Start (Przykład użycia w Avocado)

Tworzenie interfejsu w Avoraiserze wymaga ułamka kodu w porównaniu do standardowego WinAPI C/C++.

Kod w Avocado

program_ui okno
import avoraiser.window
hwnd my_window
main 
 my_win
 run_app
end.

procedure my_win
start
  ui_parameters ui
  ui = Default(TAvocadoWindowParams)
  ui.title = 'Okno w Avoraiser - Avocado'
  ui.width = 400
  ui.height = 600
  ui.x = 200
  ui.y = 200
  ui.visible = True

  //Tworzenie Okna Main
  my_window = create_window(ui)

  if my_window <> 0 then
  begin
  //Kod aplikacji
  end
end  

Kod w Free Pascal (Lazarus)

{$codepage cp1252}
{$mode objfpc}
{$H+}
{$APPTYPE GUI}
program okno;
uses
  Windows, avoraiser.window;

var
  my_window: HWND;


procedure my_win;
var
  ui: TAvocadoWindowParams;
begin
ui := Default(TAvocadoWindowParams);
ui.title := 'Okno w Avoraiser - Avocado';
ui.width := 400;
ui.height := 600;
ui.x := 200;
ui.y := 200;
ui.visible := True;

//Tworzenie Okna Main
my_window := create_window(ui);

if my_window <> 0 then
begin;
  //Kod aplikacji
end;
end;

begin

my_win;
run_app;
end.

Dokumentacja

Dokumentacja API (PasDoc)

Dokumentacja wygenerowana za pomocą narzędzia PasDoc na podstawie komentarzy w kodzie. Przeznaczona dla programistów korzystających ze środowiska Lazarus (Free Pascal).

👉 Przejdź do dokumentacji

Dokumentacja dla języka Avocado 🥑

Oficjalna dokumentacja dla Avocado - nowopowstającego, polskiego języka programowania (projekt w trakcie budowy).

Galeria Komponentów

ListBox ProgressBar ComboBox
ListBox ProgressBar ComboBox
Edit TrackBar
Komunikat Komunikaty
Komunikaty Input
Komunikat Komunikaty
Grafika GDI Notatnik
Grafika GDI notatnik
Responsywne przyciski Memo
Komunikat Komunikaty
Modern UI Okna dialogowe
ModernUI Oknadialogowe
Aktywne Okno Przyciski
AktywneOkno Przyciski
Zdarzenia nad nagłówkiem Drag and drop
Zdarzenia nad nagłówkiem Drag and drop
Wykrywa Pendrive / Dysk Scroll w memo
Zdarzenia nad nagłówkiem Drag and drop
Czas RichText
czas Drag and drop

Prosty kalkulator waży 86 kb

Drag and drop

⚖️ Licencja (Dual-Licensing)

[PL] Oprogramowanie Komercyjne

Avoraiser jest udostępniany w modelu Source-Available do celów edukacyjnych i ewaluacyjnych.

  • Użytek Niekomercyjny: Darmowy (zgodnie z warunkami LICENSE.md).
  • Użytek Komercyjny: Wymaga wykupienia płatnej licencji per-developer. Wykorzystanie zarobkowe bez licencji skutkuje karami umownymi (50 000 PLN).

[EN] Commercial Software

Source code is visible for evaluation purposes only.

  • Non-commercial use: Free under specific terms.
  • Commercial use: Requires a paid per-developer license. See LICENSE.md for full legal details.

👤 Autor i Kontakt

Dymitr Wygowski (Programista Art) Projekt zapoczątkowany: 23.12.2025


Created with passion for lightweight and efficient software.

About

Avoraiser, a framework for creating modern user interfaces for the Polish programming language Avocado

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages