Forum: PC-Programmierung Web Framework


von Nilix (Gast)


Lesenswert?

Ich benötige ein Web Framework mit dem ich ein modernes Design 
darstellen kann. z.B.Eingabe Controls, Balkendiagramme, Anmeldung, 
Listen.

Aber ohne riesigen Overhead.
Ich Programmiere in PHP.

Kann mir da jemand was empfehlen?

Danke vorab.

von Borislav B. (boris_b)


Lesenswert?

Gestern noch C#, heute Web? Entscheide dich mal ;-)

Die Links von gestern passen übrigens hier genauso:
DevExpress und Telerik bieten auch Web UI Frameworks an.

von Dr. Sommer (Gast)


Lesenswert?

Bootstrap?
Es gibt so viele Frameworks und so viele Informationen im Netz dazu, 
dass solche Fragen nicht sehr sinnvoll sind.

von Nilix (Gast)


Lesenswert?

>Gestern noch C#, heute Web? Entscheide dich mal ;-)

ich benötige leider beide da ich in beiden Projekten am laufen habe.

von Joey5337 (Gast)


Lesenswert?

Wenn du eh schon mit c# unterwegs bist, warum machst du dann nicht auch 
das Webzeug mit c#?

von Dominik S. (dasd)


Lesenswert?

Nilix schrieb:
> Ich benötige ein Web Framework mit dem ich ein modernes Design
> darstellen kann. z.B.Eingabe Controls, Balkendiagramme, Anmeldung,
> Listen.

Du suchst also ein Front-End-Framework.

Nilix schrieb:
> Ich Programmiere in PHP.

PHP ist aber eine Server-Side- und somit eher 
Back-End-Programmiersprache. Du kannst kein WebUI mit PHP bauen.

Beitrag #5416803 wurde vom Autor gelöscht.
von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Dominik S. hat da vollkommen recht.
Für tolle Diagramme, Charts etc. braucht man was, was im Browser läuft. 
Die Sprache dafür ist i.d. Regel Java Script. Und das ganze mit dem 
PHP-Backend zu verknüpfen, das dann die Daten liefert ist schon Arbeit. 
Zumal du dich auch noch in das Frontend-Framework einarbeiten musst.

Daher mein Vorschlag, das mit C# zu machen. Da gibt es Controls für 
Charts etc. (z.B. von Telerik)
Die Programmierung fühlt sich viel eher wie bei einer normalen 
nicht-Web-Gui-Applikation an, die du anscheinend schon kennst.

Microsoft hat da imho schon einen guten Job gemacht. Das ganze 
Marshalling der Daten, Abarbeitung von Events, die Einbindung der 
client-seitig benötigten JS-Bibliotheken die deine Controls brauchen, 
das funktioniert im Prinzip alles von selbst.

Du legst in der IDE einen Knopf auf die Webseite und ein Doppelklick 
erstellt eine serverseitige Methode, die beim Klick auf diesen Knopf 
Knopf aufgerufen wird. Du legst serverseitig andere Daten in das 
Chart-Control und automatisch werden die dann auch im Browser angezeigt.

Plain PHP ist davon weit entfernt.

von Horst (Gast)


Lesenswert?

Tilo R. schrieb:
> Daher mein Vorschlag, das mit C# zu machen. Da gibt es Controls für
> Charts etc. (z.B. von Telerik)

Damit er am Ende noch einen Windows Server ins Netz stellt? Als wäre das 
Netz nicht schon schlimm genug verseucht!?

von Alex W. (gesperrt) (Gast)


Lesenswert?

Horst schrieb:
> Tilo R. schrieb:
>> Daher mein Vorschlag, das mit C# zu machen. Da gibt es Controls für
>> Charts etc. (z.B. von Telerik)
>
> Damit er am Ende noch einen Windows Server ins Netz stellt? Als wäre das
> Netz nicht schon schlimm genug verseucht!?

Und was stört dich daran?

von ilya (Gast)


Lesenswert?

Horst schrieb:
> Tilo R. schrieb:
>> Daher mein Vorschlag, das mit C# zu machen. Da gibt es Controls für
>> Charts etc. (z.B. von Telerik)
>
> Damit er am Ende noch einen Windows Server ins Netz stellt? Als wäre das
> Netz nicht schon schlimm genug verseucht!?

Die wenigsten wollen den Windows Server mit dem nackten Arsch ins 
Internet hängen. Einen nginx Proxy davor entschärft die Sache deutlich. 
Soo schlimm wie früher ist das mit Windows+Internet heute aber auch 
nicht mehr ;).

von R. Stallman (Gast)


Lesenswert?

Alex W. (gesperrt) schrieb:
> Und was stört dich daran?

Ernsthafte Frage?

Spontan fällt mir ein:

* Windows Server ist unfreie Software. Als Anwender bist Du abhängig von 
einem kommerziellen Unternehmen. Wenn Du nicht weißt was "frei" 
beduetet, siehe hier: https://de.wikipedia.org/wiki/Freie_Software

* Windows erhebt Daten und übermittelt sie an Microsoft. Damit haben die 
deutschen Behörden zur Zeit Schwierigkeiten. Ich finde es persönlich 
ziemlich beschissen, dass Behörden ihre Software (und somit den Data 
Flow) nicht im Griff haben, und nicht kontrollieren können, was ihre 
Systeme machen. Denn es geht auch um meine Daten.

* Windows Server kosten Geld - viel Geld

* Vendor Lock-In

* Eingeschränkte Hoster-Auswahl (Stichwort Cloud)

von Purzel H. (hacky)


Lesenswert?

Angular IO ?

: Bearbeitet durch User
von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Der Text von R. Stallman enthält einige Punkte, die eben nur halbwegs 
richtig und relevant sind. Daher möchte ich auf die einzelnen Punkte 
eingehen und für eine vielleicht undogmatischere Sichtweise als 
Entscheidungsgrundlage werben.

R. Stallman schrieb:
> Alex W. (gesperrt) schrieb:
>> Und was stört dich daran?
>
> Ernsthafte Frage?
>
> Spontan fällt mir ein:
>
> * Windows Server ist unfreie Software. Als Anwender bist Du abhängig von
> einem kommerziellen Unternehmen. Wenn Du nicht weißt was "frei"
> beduetet, siehe hier: https://de.wikipedia.org/wiki/Freie_Software
Richtig. Aber praktisch irrelevant. Auch wenn mein ganzer Stack 
quelloffen und frei ist habe ich (als Einzelperson oder kleine Firma) 
weder die Fähigkeit, noch die Ressourcen um substantiell dazu 
beizutragen.
"Ein Kernelprogrammierer wird man nicht über Nacht."
Meine Möglichkeiten, den Linux-Kernel, den Webserver, SSL, PHP, 
Datenbank, und was man sonst so alles für eine Webapplikation braucht 
irgendwie weiterzuentwickeln sind relativ überschaubar.
Ganz abgesehen davon ist es inzwischen durchaus möglich, in C# 
programmierte Webapplikationen mit Mono auch unter Linux laufen zu 
lassen.


> * Windows erhebt Daten und übermittelt sie an Microsoft. Damit haben die
> deutschen Behörden zur Zeit Schwierigkeiten. Ich finde es persönlich
> ziemlich beschissen, dass Behörden ihre Software (und somit den Data
> Flow) nicht im Griff haben, und nicht kontrollieren können, was ihre
> Systeme machen. Denn es geht auch um meine Daten.
Valide Postition, die ich voll und ganz teile.
Daten meiner Webapplikation selbst werden aber nicht übertragen.


> * Windows Server kosten Geld - viel Geld
Richtig, und auch für mich oft ein gutes Argument, Freie Software zu 
verwenden.
Jenseits von Hobby-Projekten, wenn der Aufwand für Entwicklung, 
Deployment, Hosting und Betrieb auch Geld kosten sind die Lizenzkosten 
aber oft nebensächlich (weil geringfügig).


> * Vendor Lock-In
Das ist ein typisches Scheinargument. Es gibt immer einen Vendor 
Lock-In, egal welches Produkt man nutzt.

Wenn du dich heute für PHP entscheidest ist das eine Wette, dass PHP die 
nächsten Jahre verfügbar ist und deine Software mit neuen PHP-Versionen 
kompatibel ist oder für die ältere PHP-Version für den ganzen 
Produktlebenszyklus deiner Software Security-Updates verfügbar sind.
Das kann gut gehen, oder halt auch nicht. Das ist aber mehr oder weniger 
unabhängig davon, ob die Software frei oder kommerziell ist.

Beispiel Angular 1: Quelloffen und frei, heute aber eine 
entwicklungstechnische Sackgasse und inkompatibel zu Version 2.

> * Eingeschränkte Hoster-Auswahl (Stichwort Cloud)
Gibt es aber, auch in der Cloud.

von Bernd K. (prof7bit)


Lesenswert?

Gorch F. schrieb:
> Angular IO ?

* Vue.js
* React

von Sheeva P. (sheevaplug)


Lesenswert?

Grundsätzlich hast Du Recht, trotzdem möchte ich Deine Ausführungen 
gerne an zwei Stellen kurz kommentieren.

Tilo R. schrieb:
> Richtig. Aber praktisch irrelevant. Auch wenn mein ganzer Stack
> quelloffen und frei ist habe ich (als Einzelperson oder kleine Firma)
> weder die Fähigkeit, noch die Ressourcen um substantiell dazu
> beizutragen.

Niemand erwartet oder verlangt gar von Dir, "substanziell dazu 
beizutragen". Ein Forenbeitrag oder Blogposting, ein paar Zeilen 
Dokumentation oder -- im Falle des Falles -- halbwegs brauchbare 
Bugreports oder eine gute Idee am richtigen Ort sind schon mehr, als 
irgendwer von Dir erwarten würde. OpenSource ist die Summe vieler 
Beiträge. Auch die kleinen Beiträge sind wichtig und sinnvoll, und 
bringen die Software voran.

>> * Vendor Lock-In
> Das ist ein typisches Scheinargument. Es gibt immer einen Vendor
> Lock-In, egal welches Produkt man nutzt.
>
> Wenn du dich heute für PHP entscheidest ist das eine Wette, dass PHP die
> nächsten Jahre verfügbar ist und deine Software mit neuen PHP-Versionen
> kompatibel ist oder für die ältere PHP-Version für den ganzen
> Produktlebenszyklus deiner Software Security-Updates verfügbar sind.

Das gilt für die meisten Technologien, für die es nur einen Anbieter 
gibt. Allerdings gibt es zum Beispiel für die Skriptsprache Python 
mittlerweile mehrere austauchbare Interpreter und auch Compiler, die den 
Python-Code in C- oder C++-Code und diesen dann in nativen Maschinencode 
übersetzen. Wenn also der Urvater der Python-Interpreter, CPython, 
tatsächlich mal sterben sollte, werden PyPy, Jython und IronPython 
vermutlich weiter existieren. Ähnliches gilt für GCC und LLVM oder auch 
für Linux und die BSDs.

von Benjamin U. (ben123)


Lesenswert?

Nilix schrieb:
> Ich benötige ein Web Framework mit dem ich ein modernes Design
> darstellen kann. z.B.Eingabe Controls, Balkendiagramme, Anmeldung,
> Listen.


Du kannst Python benutzen. Mit Frameworks wie Bottle, Flask oder auch 
Django hast du mehr oder weniger Funktionen wie du sie brauchst.

Als mathematische Plot-Lib. kannst du Matplotlib nehmen. Braucht aber 
alles Einarbeitungszeit.

von DPA (Gast)


Lesenswert?

Tilo R. schrieb:
>> * Vendor Lock-In
> Das ist ein typisches Scheinargument. Es gibt immer einen Vendor
> Lock-In, egal welches Produkt man nutzt.

Nein, dass stimmt so nicht. Wenn man z.B. Markdown nutzt, kann man 
zwichen hunderten Implementationen wählen. Man muss also nur schauen, 
dass es Alternativen gibt, was bei OSS meistens der Fall ist.

Vendor Lock-in ist nicht zu unterschätzen. Ich würde sogar soweit gehen 
zu behaupten, dass es eines der wichtigsten Kriterien ist, von welcher 
Software man besser die Finger lässt. Immerhin nutzen die meisten OSS, 
um selbst entscheiden zu können, was sie haben und wollen.

Die Auswahl einer Programmiersprache ist durchaus eine grosse 
Entscheidung, die grossen Einfluss auf die Entwicklung, den Aufbau und 
die schlussendliche Software habe kann. Bei den meisten 
Programmiersprachen gibt es Forks, alternative Compiler und alternative 
Implementationen der (Standard)libraries. z.B. gcc -> clang,  libc++ -> 
libstdc++, glibc -> musl libc -> uclibc -> newlibc -> ...,  nodejs -> 
ayo, etc.
Dagegen, dass man eine Programmiersprache wählen muss, kann man aber 
natürlich nichts machen. Sowohl von einer Entwicklungsperspektive als 
auch als Endbenutzer würde ich hier vorallem auf folgendes achten:
 1) Ist die Programmiersprache und dessen Standardlibraries nicht 
Proprietär oder durch Patente geschützt
 2) Die Abhängigkeiten in grenzen halten, dessen Vertrauenswürdigkeit 
prüfen (stichwort supply chain attack), und alle Lizenzen prüfen.

Ein Nutzer kann natürlich auch Präferenzen gegenüber Interpretern und 
co. haben. Ich versuche beispielsweise Node.js und python für fremde 
Desktopanwendungen zu vermeiden. Es ist Wahnsinn, wie viele Entwickler 
von Node.js Anwendungen keine Sekunde überlegen, ob es eine gute Idee 
ist die Tausenden teils fragwürdigen Abhängigkeiten von unbekannten von 
einem Repo ohne Community die die aufmahne erst Diskutiert und die 
Pakete mal anschaut zu verwenden.

Bei Node.js kommt noch dazu, dass es so schnell updated, die aktuellen 
Versionen bekommt man nur von den Google Repros in meiner Distro. Sofern 
ich das also nicht selbst kompilieren will, muss ich Google vertrauen, 
dass die mir nichts unterschieben.

Und was c# angeht, der Compiler, und der net core sind OpenSource, die 
meisten Desktopspezifischen Frameworks aber nicht. Eher würde mich aber 
der integrierte Datenabgriff von .net beunruhigen: 
https://blogs.msdn.microsoft.com/dotnet/2017/07/21/what-weve-learned-from-net-core-sdk-telemetry/
Nunja, wers riskieren will.

Bei Java sollte man im Moment auch wieder Aufpassen. Die Oracle 
Geschichte kommt wieder hoch:
https://www.golem.de/news/oracle-gegen-google-java-nutzung-in-android-kein-fair-use-1803-133557.html
Dabei hatte alle schon geglaubt die Sache wäre endlich gegessen gewesen. 
Jetzt müssen wir wieder vor Firmen aufpassen, die jetzt plötzlich wieder 
APIs patentieren könnten. Wobei, vermutlich nur in der US.

Ansonsten, wenn man Clientseite und Serverseite durch eine saubere REST 
API trennt, kann man das Front oder Backend schon mal einfach schnell 
neu schreiben. Das habe ich mal bei einem Schulprojekt gemacht, erste 
Aufgabe Bildgalerie, Vorgabe war PHP. Zweite Aufgabe Kammera Panorama 
Bildaufnahme Webanwendung, vermutlich war gedacht, dass man das 
bestehende weiterverwendet, aber da es diesmal keine PHP Vorgabe gab, 
hab ich damals einfach schnell das Backend nach Node.js umgeschrieben, 
hat in den 1-2 Wochen grade so gereicht. (war alles auf dem RPI).

Nachteil der Restschnittstellenmethode ist aber, dass man Client seitig 
JavaScript benötigt. Mit Server seitigem Templating hat man das Problem 
nicht, aber dann ist man beim Backend wieder festgenagelt. Eine 
loose-loose Situation.

Das Web ist mittlerweile aber sowieso größtenteils ein Haufen 
proprietärer und von wenigen Firmen dominierter Services. Es gibt zwar 
versuche das zu ändern, z.B. Mastodon als Twitter Ersatz, bzw. das GNU 
Social Projekt auf welchem es aufbaut und das OStatus Protokoll. Das 
einzige Problem da ist einfach, dass alle Firmen und User mit ihren 
Announcements und Newsmeldungen auf Twitter sind. Oder Solid, ins leben 
gerufen von Tim Berners-Lee, dem "Erfinder des Web". Solid will die 
Webanwendungen zur Interaktion der Daten und Services zur 
Datenspeicherung trennen, so dass die User die Daten und Appzugriffe 
verwalten können, und diese dadurch nichtmehr von einem Onlineservice 
abhängig werden. Gleichzeitig spinnt er aber auch die Semantik Web idee 
darin weiter, mit turtle und Co. für Ressourcenverlinkung etc. Ich habe 
das für etwa ein Jahr beobachtet, aber es scheint nirgendwohin zu gehen. 
Ich halte es für zu Komplex und Einschränkend für Entwickler, und die 
meisten scheinen entweder kein Interesse daran zu haben, oder nichts 
davon zu wissen. Und nachdem sich Tim
in der W3C für EME eingesetzt hatte, habe ich ehrlich gesagt das 
Vertrauen in ihn komplett verloren. Der W3C sind die Nutzer letztendlich 
doch komplett egal, im Committee sitzen ja sowieso nur grosse Firmen. 
Und dann verkaufen sie unendliche Transparenz, veröffentlichen aber die 
Voting Details nicht und besprechen auch sonst das meiste hinter 
verschlossenen Türen. Man vergleiche das mal mit der tatsächlich 
Transparenten IETF bezüglich RFCs.

von DPA (Gast)


Lesenswert?

Tilo R. schrieb:
> Wenn du dich heute für PHP entscheidest ist das eine Wette, dass PHP die
> nächsten Jahre verfügbar ist und deine Software mit neuen PHP-Versionen
> kompatibel ist oder für die ältere PHP-Version für den ganzen
> Produktlebenszyklus deiner Software Security-Updates verfügbar sind.

Bei derart weit verbreiteten Programmiersprachen wird das eher kein 
Problem darstellen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.