# Private Browser App: Welches Framework?



## Kababär (20. Okt 2016)

Hi,

ich würde gerne ein Programm schreiben, dass quasi im Browser läuft, allerdings weiss ich nicht, welches Framework ich dazu brauche bzw am sinnvollsten ist und hoffe ihr könnt mir dabei helfen. 

Das Programm wird nur für private Zwecke genutzt und soll komplett lokal laufen (also ich habe nirgends ein Server gemietet oder so). 

Was soll das Programm können?
Nun, es soll in erster Linie mal eine private organisatorische Übersicht für mich sein, also es sollen Klausuren eingetragen werden, generell Infos für die Hochschule (welches Semester, welche Klausuren, wann, Notendurchschnitt,..), Kalender für Terminverwaltung, finanzielle Übersicht und Einstellungen (Sparpotenzial, Rechnungen, etc). 

Später kommen eventuell noch weitere "Sub-Programme" hinzu. 

Mir ist bewusst, dass die Programmbereiche als eigene Programme betrachtet werden können. Jedoch hätte ich gerne alles in einem Programm um ganz einfach hier und da was zu bearbeiten ohne neue Programme starten zu müssen oder so. 

Welche Sprache sollen unterstützt werden? 
In erster Linie Java, aber auch JS und Python. 

Betriebssystem? 
Derzeit Fedora 24, überlege aber einen Umstieg auf Debian 8. 

Wie stelle ich mir das vor?
Wie gesagt soll es im Browser laufen. Startet man die App (entweder via jar oder per URL Eingabe[kommt auf Framework an?]) sollen Container mit den jeweiligen Programmbereichen angezeigt werden a la:
Mein Notensystem
Mein Kalender
Meine Finanzen
..

Datenobjekte werden lokal in csv-Dateien oder eventuell XML gespeichert.


----------



## InfectedBytes (20. Okt 2016)

Für sowas bieten sich natürlich die Chrome Extensions an (sofern du Chrome benutzt^^)

p.s. Chrome Extensions schreibt man natürlich mit JavaScript


----------



## Kababär (20. Okt 2016)

Ich benutze "leider" Firefox


----------



## Tobse (20. Okt 2016)

Spring Boot + Spring MVC und ab dafür


----------



## Kababär (20. Okt 2016)

Dankeschön


----------



## Kababär (21. Okt 2016)

Edit: Spring Boot benötigt einen Web-Server, korrekt? (Falls ja, werde ich Tomcat verwenden).
Hälst du es für sinnig wenn ich noch Thymeleaf verwende?


----------



## mrBrown (21. Okt 2016)

Kababär hat gesagt.:


> Edit: Spring Boot benötigt einen Web-Server, korrekt? (Falls ja, werde ich Tomcat verwenden).


Jein, es hat direkt einen eingebunden. Man kann das ganze zu einer jar packen und die ganz normal starten.



Kababär hat gesagt.:


> Hälst du es für sinnig wenn ich noch Thymeleaf verwende?


Geschmacksache  Ich würd das nehmen, was dir mehr liegt, ich persönlich bevorzuge da (bisher noch) Thymeleaf


----------



## Kababär (21. Okt 2016)

mrBrown hat gesagt.:


> Geschmacksache  Ich würd das nehmen, was dir mehr liegt, ich persönlich bevorzuge da (bisher noch) Thymeleaf



Noch? Welche Alternative wird Thymeleaf bald den Rang ablaufen?


----------



## mrBrown (21. Okt 2016)

Kababär hat gesagt.:


> Noch? Welche Alternative wird Thymeleaf bald den Rang ablaufen?


JavaScript-Frameworks wie AngularJS oder React sind grad stark im kommen 

Die Spring-Tuts nutzen mWn AngularJS und Thymeleaf, ersteres ist halt Clientseitig, letzteres Serverseitig


----------



## Kababär (21. Okt 2016)

Dann verwende ich doch lieber AngularJS mit Bootstrap um "trendy" zu bleiben. Glaube die derzeitige Entwicklung geht ja auch wieder von der Server-Side zur Client-Side um dem Server einiges an Rechenaufwand zu nehmen.

Danke für die Hilfe, ich setze mich dann mal an Tutorials


----------



## Tobse (21. Okt 2016)

Kababär hat gesagt.:


> um dem Server einiges an Rechenaufwand zu nehmen.


Ich glaube da liegst du falsch. Der Aufwand zum rendern eines Templates ist minimal. Wenn man sich die Sprachassistenten von Google, Amazon und Apple ansieht, ist es mmn. sogar andersherum: viel Rechenarbeit in die Cloud verlegen, um mit der begrenzten Rechenkraft in den Endgeräten effizienter arbeiten zu können.

Der Grund, warum IMHO mehr JS-Libraries verwendet werden (Angular, Polymer, Ember, und wie sie alle heissen) ist, dass dadurch die übertragene Datenmenge erheblich reduziert wird. Und im Kontext von mobiler Anwendung ist genau das essentiell: mobile Datenverbindungen sind langsam und kostenintensiv (zumindest in Europa mit einer veralteten Infrastruktur).


----------

