|
| 1 | +# Portierungsplan - PythonBox v8 |
| 2 | + |
| 3 | +Stand: 2026-05-28 |
| 4 | + |
| 5 | +## Bedingungsprüfung |
| 6 | + |
| 7 | +Ein zentraler Portierungsplan war nicht vorhanden. Es gab nur Hinweise in README, AUFGABEN und der Windows-Store-Pipeline. Daher wurde Pfad B ausgeführt: Plan neu erstellen und Aufgaben ergänzen. |
| 8 | + |
| 9 | +## Kurzentscheidung |
| 10 | + |
| 11 | +PythonBox bleibt eine Desktop-App. Sinnvoll sind Windows als Hauptplattform sowie macOS und Linux als Source-Smoke-Ziele aus derselben PySide6-Codebasis. Android, iOS und Web/PWA sind keine aktuellen Ziele, weil die wichtigsten Usecases lokale Dateien, lokale Python-Interpreter, Git, Linter, Debugger und externe Editor-Brücken brauchen. |
| 12 | + |
| 13 | +Ein Companion ist ebenfalls kein sinnvoller nächster Schritt. Der Nutzen der App liegt im direkten Bearbeiten und Ausführen lokaler Python-Dateien; ein mobiler oder browserbasierter Begleiter würde nur einen kleinen Ausschnitt abdecken und die eigentliche IDE-Erfahrung nicht verbessern. |
| 14 | + |
| 15 | +## Features der besten ausgebauten Version |
| 16 | + |
| 17 | +- Mehrdatei-Editor mit Tabs, Python-Syntax-Highlighting, Suche, Ersetzen, Gehe-zu-Zeile, Kommentieren, Code Folding, Minimap und Bracket Matching. |
| 18 | +- Python-Ausführung über den aktuell laufenden Interpreter. |
| 19 | +- PDB-Debugging mit Breakpoints, Step In, Step Over und Step Into. |
| 20 | +- Linter-Integration für Flake8, Pylint und AST-Syntaxprüfung. |
| 21 | +- Git-Status, Diff-Ansicht und Zeilenmarkierung für geänderte Dateien. |
| 22 | +- Snippet-/Bibliotheksverwaltung für wiederkehrende Python-Bausteine. |
| 23 | +- Optionale Übergabe an VS Code oder PyCharm. |
| 24 | +- Lokaler Windows-Start und Windows-EXE-Build über PyInstaller. |
| 25 | + |
| 26 | +## Usecase-Settings |
| 27 | + |
| 28 | +### Setting 1: Desktop-Entwicklung und Lernen |
| 29 | + |
| 30 | +Nutzergruppe: Einzelne Entwicklerinnen, Entwickler, Lernende und LLM-unterstützte Arbeitsläufe, die Python-Dateien lokal bearbeiten, prüfen und ausführen. |
| 31 | + |
| 32 | +Usecases: |
| 33 | + |
| 34 | +- Eine Python-Datei schnell öffnen, bearbeiten und ausführen, ohne eine große IDE zu starten. |
| 35 | +- Kleine Skripte debuggen und Breakpoints direkt im Editor setzen. |
| 36 | +- Linter- und Syntaxfehler während der Bearbeitung erkennen. |
| 37 | +- Änderungen in Git-Arbeitsbäumen sichtbar prüfen. |
| 38 | +- Snippets wiederverwenden und kleine Werkzeuge aus der IDE heraus starten. |
| 39 | +- Bei Bedarf zu VS Code oder PyCharm wechseln, ohne den aktuellen Arbeitskontext zu verlieren. |
| 40 | + |
| 41 | +Dieses Setting ist für Windows, macOS und Linux dasselbe. Die passende Strategie ist daher eine eigenständige Desktop-App pro Desktop-Plattform, aber aus derselben Codebasis. |
| 42 | + |
| 43 | +### Nicht eigenes Setting: Mobile Kurzansicht |
| 44 | + |
| 45 | +Eine mobile Kurzansicht wäre ein anderes Setting, erfüllt aber nur einen Randnutzen. Code lesen, Debugger bedienen, lokale Python-Interpreter nutzen und Git-Diffs prüfen sind auf Smartphone/Tablet deutlich schwächer als am Desktop. Für diesen Randnutzen reicht GitHub, ein mobiler Editor oder eine Notiz-App; PythonBox braucht dafür keine eigene Companion-App. |
| 46 | + |
| 47 | +## Plattformentscheidungen |
| 48 | + |
| 49 | +| Plattform | Entscheidung | Begründung | |
| 50 | +|---|---|---| |
| 51 | +| Windows | Primärplattform | Aktuelle Entwicklung, PyInstaller-EXE, Batch-Start und GitHub-Release sind bereits darauf ausgerichtet. | |
| 52 | +| macOS | Source-Smoke P1 | PySide6 und die Kernlogik sind grundsätzlich portabel; externe Editorpfade, Terminalstart und Dateidialoge müssen geprüft werden. | |
| 53 | +| Linux | Source-Smoke P1 | PySide6 und Python-Ausführung sind geeignet; `xdg-open`, Terminalstart, Git-Integration und Linter-Erkennung brauchen einen sauberen Smoke-Test. | |
| 54 | +| Web/PWA | Nicht-Ziel | Browser kann lokale Interpreter, PDB, Git und externe Editor-Brücken nicht gleichwertig bedienen. | |
| 55 | +| Android | Nicht-Ziel | Der Kernnutzen ist Desktop-Entwicklung; mobiles Debugging lokaler Python-Dateien ist kein realistischer Hauptusecase. | |
| 56 | +| iOS | Nicht-Ziel | Gleiche Einschränkung wie Android, zusätzlich eingeschränkter Dateisystem- und Prozesszugriff. | |
| 57 | +| Windows Store | Nicht aktiv | Der Store bleibt wegen Nischenposition und VS-Code-Konkurrenz kein aktueller Kanal. GitHub bleibt der kanonische Release-Ort. | |
| 58 | + |
| 59 | +## Austausch und Datenhaltung |
| 60 | + |
| 61 | +Direkte Synchronisierung ist nicht erforderlich. Nutzer wechseln Plattformen über normale Projektdateien und Git. Snippets und Einstellungen sollten langfristig optional als einfache Datei exportierbar werden, aber das ist ein Desktop-Komfortthema und kein Companion-Sync. |
| 62 | + |
| 63 | +Empfohlene Austauschwege: |
| 64 | + |
| 65 | +- Quellcode: Git, ZIP oder normale Projektordner. |
| 66 | +- Einstellungen: später optional `pythonbox-settings-v1.json`. |
| 67 | +- Snippets: später optional `pythonbox-snippets-v1.json`. |
| 68 | + |
| 69 | +## Umsetzungsplan |
| 70 | + |
| 71 | +### P0 - Dokumentierte Plattformgrenze |
| 72 | + |
| 73 | +- `PORTIERUNGSPLAN.md` als verbindliche Entscheidung pflegen. |
| 74 | +- README und Changelog mit Desktop-only-Strategie synchron halten. |
| 75 | +- Alte Aufgabenclaims zu CLI/REST bei Gelegenheit gegen den tatsächlichen Code prüfen, weil die aktuelle Codebasis vor allem eine GUI-App ist. |
| 76 | + |
| 77 | +### P1 - macOS/Linux-Smokes |
| 78 | + |
| 79 | +- Source-Start auf macOS testen: `python PythonBox_v8.py`. |
| 80 | +- Source-Start auf Linux testen: `python PythonBox_v8.py`. |
| 81 | +- Externe Prozessstarts prüfen: Ausführen, PDB, Linter, Git-Diff und externe Editor-Brücken. |
| 82 | +- Pfad- und Terminalunterschiede dokumentieren, ohne neue Plattformordner anzulegen. |
| 83 | + |
| 84 | +### P2 - Desktop-Portabilität verbessern |
| 85 | + |
| 86 | +- Snippet- und Einstellungsdaten optional als JSON exportieren und importieren. |
| 87 | +- Linter-Erkennung pro Plattform robuster dokumentieren. |
| 88 | +- README um macOS-/Linux-Startnotizen ergänzen, sobald die Smokes bestätigt sind. |
| 89 | + |
| 90 | +### P3 - Distribution |
| 91 | + |
| 92 | +- Windows-GitHub-Release als Hauptartefakt beibehalten. |
| 93 | +- macOS/Linux erst nach bestandenen Smokes als direkte GitHub-Artefakte prüfen. |
| 94 | +- Windows Store nur neu bewerten, wenn es konkrete Nachfrage nach signierter Ein-Klick-Installation gibt. |
| 95 | + |
| 96 | +## Nicht-Ziele |
| 97 | + |
| 98 | +- Keine Android-App. |
| 99 | +- Keine iOS-App. |
| 100 | +- Keine Web/PWA-Version. |
| 101 | +- Keine Companion-App. |
| 102 | +- Keine direkte Cloud-Synchronisierung. |
| 103 | +- Kein Store-Onboarding ohne neue Nachfrage. |
0 commit comments