53 lines
1.3 KiB
Markdown
53 lines
1.3 KiB
Markdown
# 44. Browser — FUTUR V3+
|
|
|
|
## 44.1 Statut
|
|
|
|
Le browser runtime n'est pas une exigence d'implémentation V1.
|
|
|
|
Les décisions V1 doivent seulement préserver son intégration future.
|
|
|
|
## 44.2 Direction actuelle
|
|
|
|
Le browser Saselang pourra rester interprété tout en passant par une phase préalable de compilation/préparation :
|
|
|
|
```text
|
|
sources
|
|
-> semantic compile
|
|
-> résolution manifest/features/saselmod/compile if
|
|
-> Browser IR / bytecode
|
|
-> bundle/chunks
|
|
-> browser runtime interpreter
|
|
```
|
|
|
|
Le browser n'a donc pas besoin d'accéder directement au manifest ou aux `module.saselmod` originaux.
|
|
|
|
## 44.3 Chunks
|
|
|
|
Direction envisagée :
|
|
|
|
```text
|
|
source unit
|
|
-> browser compilation unit
|
|
-> chunk transportable
|
|
```
|
|
|
|
En développement, une granularité proche d'un source par chunk peut être utilisée.
|
|
|
|
En production, plusieurs unités peuvent être regroupées et chargées à la demande.
|
|
|
|
Les chunks d'un même déploiement doivent partager un fingerprint compatible de build/runtime/dependencies/features.
|
|
|
|
## 44.4 `.saselscript`
|
|
|
|
Le `.saselscript` est l'entrée logique browser et pourra charger/initialiser le graphe de chunks.
|
|
|
|
La spécification finale est volontairement reportée après V2.
|
|
|
|
## 44.5 `browser-binary`
|
|
|
|
Type de package futur possible, distinct de `bin` et `lib`.
|
|
|
|
La direction actuelle est conservée comme idée, pas comme contrat V1 définitif.
|
|
|
|
---
|