Co to jest runtime?
Runtime — czas wykonania programu. I tutaj mógłbym zakończyć wpis, ale postanowiłem, że go jeszcze trochę rozwinę. Co to właściwie znaczy “runtime”?
“Błąd został zauważony w czasie Runtime, czy Kompilacji?”Zdefiniujmy dwa ważne procesy:
Kompilacja, czyli stworzenie pliku programu, na podstawie kodu źródłowego, który będzie mógł być uruchomiony w środowisku uruchomieniowym. Przykład: Kod w TypeScript, aby został uruchomiony w przeglądarce musi zostać skompilowany za pomocą kompilatora tsc do składni języka JavaScript.
oraz:
Runtime, czyli czas liczony od momentu w którym program zostaje uruchomiony, działając w swoim środowisku uruchomieniowym, aż do momentu jego wyłączenia. Przykład: Aplikacja uruchomiona w przeglądarce posiada swój runtime, dopóki użytkownik nie zamknie taba.
“Runtime do uruchomienia języka X”Często w rozmowie między developerami, możemy usłyszeć, że słowem “runtime” zostało opisane “narzędzie”, a może nawet środowisko, które uruchamia programy.
Przykłady z najpopularniejszych narzędzi typu “runtime”:
“Node.js” Oryginalny opis projektu: Node.js JavaScript runtime https://github.com/nodejs/node “Deno” Oryginalny opis projektu: A secure runtime for JavaScript and TypeScript https://github.com/denoland/deno Java Runtime Environment https://www.oracle.com/java/technologies/javase-jre8-downloads.html Błędyz kompilacji pliku napisanego w TypeScript do składni JavaScript:
TS2322: Type '(p: any) => void' is not assignable to type 'void'. TS2339: Property 'url' does not exist on type 'Page'. TS2307: Cannot find module './service'. TS2529: Duplicate identifier 'Promise'.z runtime-u aplikacji napisane w JavaScript uruchomionej w przeglądarce:
Uncaught TypeError: undefined is not a function Uncaught ReferenceError: Invalid left-hand side in assignment Uncaught TypeError: Converting circular structure to JSON Uncaught TypeError: Cannot read property ‘foo’ of null Uncaught RangeError: Maximum call stack size exceededChcesz więcej? Sprawdź w oryginale!
Przejdź do artykułu