KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Most jest odrębnym procesem
Czego się nauczysz
- Prześledź źródła i wyjaśnij opisany kontrakt.
- Rozrysuj KretS → broker → KretLink RPC → C#. Zaznacz miejsce granicy procesu i decyzji hosta.
Wymagania wstępne
- Ukończ Podstawy i wcześniejszy poziom tej ścieżki.
Wyjaśnienie krok po kroku
KretBridge łączy KretS z usługą C# przez brokera i KretLink RPC. Nie ładuje C# jako bezpiecznego kodu KretS. PROVISIONAL_VERSIONED oznacza wersjonowany rozwój, nie gotowość produkcyjną.
Materiały źródłowe do tego tematu
Przeczytaj powiązane rozdziały. Kod i kontrakty zachowano z importu; historia źródeł jest dostępna przy każdym rozdziale.
KretBridge — wprowadzenie
KretBridge — wprowadzenie
Status 1.0: `PROVISIONAL_VERSIONED` — zdefiniowane i przetestowane, za mało dowodów na stabilne 1.0; własna ścieżka rozwoju. Gramatyka/wersja: — (kontrakt klink-1.0). Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.Czym jest
KretBridge łączy KretS z biblioteką C# działającą w osobnym procesie usługi, wywoływanej przez brokera jak operacja hosta (KretS → broker → KretLink RPC → proces C# → wynik). Status PROVISIONAL_VERSIONED; w Core zablokowany — kod natywny nie jest izolowany jak plugin w AppContainer. To nie jest sandbox dla C#.
Dla początkujących
Gdy potrzebujesz czegoś, czego KretS nie potrafi, zaufana usługa C# może to zrobić — ale tylko w trybie deweloperskim SDK i tylko przez kontrakt .klink. W Kret Engine jest to zablokowane.
Dla zaawansowanych programistów
kret bridge generate tworzy interfejs C#, rejestrację metod, osadzony kontrakt i klienta. Broker sprawdza sygnatury importów bridge.… z kontraktem przy dopuszczeniu; proces usługi dostaje nazwę potoku i sekret przez stdin i dopuszcza tylko proces nadrzędny; awaria → błąd obsługiwalny w KretS, restart ≤ 3/min. Generator odporny na wstrzyknięcia w opisach (BRG-01).
Jakie problemy rozwiązuje
Kontrolowany dostęp do bibliotek .NET z KretS bez ładowania ich do maszyny lub brokera.
Kiedy używać
- prototypy w trybie deweloperskim SDK z zaufanymi usługami
- dokumentacja interoperacyjności i walidacja kontraktów
Kiedy nie używać
- Kret Engine / Core (zablokowane, FB-07)
- niezaufany kod C# (brak izolacji)
- metody strumieniowe z KretS (KretS 2.0 ich nie wywołuje)
Współpraca z innymi technologiami
KretLink (kontrakt, RPC), KretS (use Kret.Bridge.<usługa> as x), KretL (kretlink.connect, kretlink.consume).
Obecny status
PROVISIONAL_VERSIONED — zdefiniowane i przetestowane, za mało dowodów na stabilne 1.0; własna ścieżka rozwoju.
Dalej: ARCHITECTURE.md · SYNTAX_REFERENCE.md · ../Tutorials/BASIC/TUTORIAL_PL.md
KretBridge — referencja składni
KretBridge — referencja składni
Status 1.0: `PROVISIONAL_VERSIONED` — zdefiniowane i przetestowane, za mało dowodów na stabilne 1.0; własna ścieżka rozwoju. Gramatyka/wersja: — (kontrakt klink-1.0). Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.Opisane są wyłącznie konstrukcje potwierdzone implementacją SDK (i, gdzie zaznaczono, testami tej rundy).
use Kret.Bridge.<usługa>
Import usługi z kontraktu; wywołanie = operacja hosta bridge.demo.calc.add.
use Kret.Bridge.demo.calc as calc
let sum = calc.add(40, 2)
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
use Kret.Bridge.demo.calc as calcOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.let sum = calc.add(40, 2)Wiązanie wartości; typ i możliwość zmiany zależą od użytej deklaracji.
| Cecha | Wartość |
|---|---|
| Parametry / typy | typy z kontraktu (bez Bytes) |
| Wynik | wynik metody |
| Wymagania | kretlink.connect, kretlink.consume + uprawnienie metody |
| Ograniczenia | brak usługi/inna sygnatura → plugin się nie uruchamia |
| Możliwe błędy | KCS-KRS-*, KCS-LNK-* |
| Wprowadzono | PROVISIONAL |
KretBridge — samouczek BASIC
KretBridge — samouczek BASIC
Status 1.0: `PROVISIONAL_VERSIONED` — zdefiniowane i przetestowane, za mało dowodów na stabilne 1.0; własna ścieżka rozwoju. Gramatyka/wersja: — (kontrakt klink-1.0). Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.Cel: pierwszy plik, podstawowa struktura, najprostszy działający przykład, najczęstszy błąd, sposób uruchomienia.
Narzędzia: kret = <SDK>\Compiler\kret.exe (SDK 1.0.0-rc.3+kret.local.3), kretui-host = <SDK>\UiHost\kretui-host.exe. {DATA}/{OUT} = nowe, puste katalogi.
Brak przykładów na tym poziomie dla tej technologii (zgodnie z zakresem implementacji).
Ćwiczenie i sprawdzenie wiedzy
Rozrysuj KretS → broker → KretLink RPC → C#. Zaznacz miejsce granicy procesu i decyzji hosta.
Szkic nie jest wysyłany na serwer i znika po opuszczeniu lekcji. Przed wyjściem możesz go skopiować.Podpowiedzi
- KretBridge łączy KretS z biblioteką C# działającą w **osobnym procesie usługi**, wywoływanej przez brokera jak operacja hosta (KretS → broker → KretLink RPC → proces C# → wynik). Status PROVISIONAL_VERSIONED; **w Core zablokowany** — kod natywny nie jest izolowany jak plugin w AppContainer. To nie jest sandbox dla C#.
- Odczytaj ograniczenia i oczekiwane błędy z dostarczonego samouczka; check i run są oddzielnymi krokami.
Omówienie rozwiązania
Odpowiedź oprzyj na pokazanym kodzie i rozdziale źródłowym. KretBridge łączy KretS z usługą C# przez brokera i KretLink RPC. Nie ładuje C# jako bezpiecznego kodu KretS. PROVISIONAL_VERSIONED oznacza wersjonowany rozwój, nie gotowość produkcyjną.
Podsumowanie i następny krok
KretBridge łączy KretS z usługą C# przez brokera i KretLink RPC. Nie ładuje C# jako bezpiecznego kodu KretS. PROVISIONAL_VERSIONED oznacza wersjonowany rozwój, nie gotowość produkcyjną.
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →