MintApps/client
11
21
Fork
You've already forked client
3

Rewrite Vanilla JS und Web Components #257

Closed
opened 2024年09月24日 09:11:15 +02:00 by tk100 · 2 comments
Owner
Copy link

Mit Web Components existiert inzwischen ein von allen modernen Browsern unterstützter Standard zur Implementierung von Komponenten. Dies möchte ich zum Anlass nehmen, den MintApp Client im Verlauf der nächsten Monate zu migrieren.

Folgende Vorteile ergeben sich dadurch künftig:

  1. Keinerlei Abhängigkeit von Frameworks mehr, damit dauerhafte Verfügbarkeit ohne ständiges Nachziehen.
  2. Kein Build Prozess mehr, die MintApps können 1:1 auf einem Webserver abgelegt werde.
  3. Geringe Barriere für Entwickler, Kenntnisse in Standard JS ausreichend.
  4. npm wird nur optional für die Entwicklung benötigt, dadurch auch keine "geerbten" Sicherheitslücken in den MjntApps
  5. Standard JS Tools zum Testen und Dokumentieren können einfach verwendet werden.

Geplantes Vorgehen

  • Proof of Concept mit exemplarischen Apps
  • Simples i18n Framework mit dynamischem Nachladen von Sprachen
  • Unterstützung grundlegender Markdown Auszeichnungen ohne Dritt-Bibliotheken
  • Migration der zentralen vue Kompetenten in web Components (light, d.h.ohne shadow Dom)
  • Migration der Menus, Suche und News-Seiten (3/3)
  • Migration der Mathematik-Apps in HTML Seiten (8/8)
  • Migration der Informatik-Apps in HTML Seiten (7/7)
  • Migration der Tools-Apps in HTML Seiten (8/8)
  • Migration der Physik-Apps in HTML Seiten (11/41)
  • Migration der Spiele-Apps in HTML Seiten (2/9)
  • Lösung für Download als eine SCORM-Paket
Mit Web Components existiert inzwischen ein von allen modernen Browsern unterstützter Standard zur Implementierung von Komponenten. Dies möchte ich zum Anlass nehmen, den MintApp Client im Verlauf der nächsten Monate zu migrieren. Folgende Vorteile ergeben sich dadurch künftig: 1. Keinerlei Abhängigkeit von Frameworks mehr, damit dauerhafte Verfügbarkeit ohne ständiges Nachziehen. 2. Kein Build Prozess mehr, die MintApps können 1:1 auf einem Webserver abgelegt werde. 3. Geringe Barriere für Entwickler, Kenntnisse in Standard JS ausreichend. 4. npm wird nur optional für die Entwicklung benötigt, dadurch auch keine "geerbten" Sicherheitslücken in den MjntApps 5. Standard JS Tools zum Testen und Dokumentieren können einfach verwendet werden. Geplantes Vorgehen - [x] Proof of Concept mit exemplarischen Apps - [x] Simples i18n Framework mit dynamischem Nachladen von Sprachen - [x] Unterstützung grundlegender Markdown Auszeichnungen ohne Dritt-Bibliotheken - [x] Migration der zentralen vue Kompetenten in web Components (light, d.h.ohne shadow Dom) - [x] Migration der Menus, Suche und News-Seiten (3/3) - [x] Migration der Mathematik-Apps in HTML Seiten (8/8) - [x] Migration der Informatik-Apps in HTML Seiten (7/7) - [x] Migration der Tools-Apps in HTML Seiten (8/8) - [x] Migration der Physik-Apps in HTML Seiten (11/41) - [x] Migration der Spiele-Apps in HTML Seiten (2/9) - [x] Lösung für Download als eine SCORM-Paket
Author
Owner
Copy link

Folgende Apps werden nicht portiert:

  • TeX-Trainer (beruht auf der externen Bibliothek katex mit vielen Abhängigkeiten, die aber sonst an keiner anderen Stelle mehr genutzt wird)
  • Mint-Storming (hier gibt es eine Vielzahl guter und besserer Alternativen)

Folgende Funktionen werden nicht portiert:

  • HTML-Export einzelner Apps als einzelne Seiten. Bisher wurde dazu das Plugin vite-plugin-singlefile genutzt, da vite nicht mehr verwendet wird (und werden soll), ist das nicht mehr möglich.
Folgende Apps werden nicht portiert: - TeX-Trainer (beruht auf der externen Bibliothek katex mit vielen Abhängigkeiten, die aber sonst an keiner anderen Stelle mehr genutzt wird) - Mint-Storming (hier gibt es eine Vielzahl guter und besserer Alternativen) Folgende Funktionen werden nicht portiert: - HTML-Export einzelner Apps als einzelne Seiten. Bisher wurde dazu das Plugin vite-plugin-singlefile genutzt, da vite nicht mehr verwendet wird (und werden soll), ist das nicht mehr möglich.
tk100 added this to the 2.0.0 milestone 2024年11月21日 09:03:42 +01:00
Author
Owner
Copy link

Done

Done
Sign in to join this conversation.
No Branch/Tag specified
main
2.2.0
2.1.0
2.0.0
1.4.0
1.3.0
1.20
1.2.0
1.1.0
1.0.0
0.5.3-1
0.5.3
0.5.2
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
Labels
Clear labels
ask the fediverse comm.
Ask the Fediverse Community over the MintApp-Mastodon-Account.
Component: Client
Issue regarding the (optional) server component.
Component: Server
Issue regarding the (optional) server component.
Kind: Not reproducible
Kind: Accessibility
Kind: Breaking
Kind: Bug
Something is not working
Kind: Documentation
Documentation
Kind: Enhancement
New feature
Kind: Extension
Extension of an existing MintApp.
Kind: Inclusivity
Kind: Maintenance
Kind: Security
Relevant for security.
Kind: UI/UX
Related to UI/UX.
meta
organisational issues
Priority: Critical
This issue has a critical priority
Priority: High
This issue has a high priority.
Priority: Low
This issue has a low priority.
Priority: Medium
This issue has a medium priority
question
More information is needed
Reviewed: Duplicate
This issue or pull request already exists
Reviewed: Invalid
Something is wrong
Reviewed: Won't fix
This won't be fixed
Shelved for lack of staff capacity
It's not that we do not want it done, it's just that we do not have time to do it.
Status: Completed
Status: Contribution welcome
good for new people who would work at MintApps.
Status: help wanted
Need some help
Status: In review
Status: Next Release
Status: Privacy legal clarification
Need for legal clarification w/ regard to privacy
Status: Tests needed
Need tests upcoming features.
Status: Work in progress (wip)
work in progress (wip)
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
MintApps/client#257
Reference in a new issue
MintApps/client
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?