Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

Most jest odrębnym procesem

BASIC20 minAnaliza / koncepcja
Postęp nauki 0 / 3
Zaloguj się na konto użytkownika, aby zachować postęp.

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

Otwórz cały rozdział ze źródłem →
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.

  1. use Kret.Bridge.demo.calc as calcOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  2. let sum = calc.add(40, 2)Wiązanie wartości; typ i możliwość zmiany zależą od użytej deklaracji.
CechaWartość
Parametry / typytypy z kontraktu (bez Bytes)
Wynikwynik metody
Wymaganiakretlink.connect, kretlink.consume + uprawnienie metody
Ograniczeniabrak usługi/inna sygnatura → plugin się nie uruchamia
Możliwe błędyKCS-KRS-*, KCS-LNK-*
WprowadzonoPROVISIONAL
Otwórz cały rozdział ze źródłem →
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).

Otwórz cały rozdział ze źródłem →

Ć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ą.

Które podsumowanie jest zgodne z lekcją?

To quiz o opisanym kontrakcie. Nie kompiluje kodu, nie potwierdza wykonania programu i nie przyznaje nagród.

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 →

Wybierz, co możemy zapamiętać w tej przeglądarce. Możesz zmienić decyzję w każdej chwili.

Polityka prywatności