Soweit als möglich versuche ich mich von Web-Applikationen zu drücken. Wenn's doch sein musste, dann nahm ich in der Vergangenheit PHP zusammen mit CodeIgniter. Meine Staerke liegt in der Entwicklung von Desktop-Applikationen; aber die Anforderungen meiner Kunden verschieben sich immer mehr Richtung Web. Nur mit PHP - so mein Bauchgefühl - komme ich nicht dorthin, wo ich hin will. Nach monatelangem Herumstochern in der (für mich) trüben Brühe der Web-Programmierung stellte ich erstaunt fest, dass sich in der Zwischenzeit Javascript zu einer Programmiersprache entwickelt hat, mit der ich mühelos arbeiten könnte. (Frühere Versionen von JS hatte ich stets dankend durchgewunken.) Also fing ich mit MeteorJS an. Die ersten Erfolgserlebnisse waren auch schnell da; aber die Einschraenkung auf MongoDB war dann für mich doch dafür ausschlaggebend, diesen Weg nicht weiter zu verfolgen: auf PostgreSql mag ich nicht verzichten. Z.Zt. bin ich der Meinung, dass folgende Werkzeuge dazu aureichen könnten, auch komplexeren Web-Anforderungen standzuhalten: HTML5 - CSS3 - Javascript mit NodeJS (+ Express) Seit ein paar Wochen bin ich auch dazu imstande, mit diesen Werkzeugen etwas mehr als nur ein "Hello World" auf den Schirm zu zaubern. Ich weiss, dass es noch manch anderes gibt. Aber ich stehe auf viel zu wacklicken Füssen, als dass ich auch dahin und dorthin noch einen Blick werfen könnte. Auch bin ich nicht dazu imstande abzuschaetzen, ob diese von mir genannten Werkzeuge in der Tat mir irgendwann (nach viel Schweiss und Traenen) gestatten werden, im Web alle Türen zu öffen. Bevor ich nun weiter in diesen Weg investiere: sind die von mir aufgezaehlten Werkzeuge dazu ausreichend, um auch etwas komplexere Programme auf die Beine zu stellen? Oder habe ich die falsche Ausfahrt gewaehlt?
PHP und Laravel; nur mal als Tipp. Führt schnell zum Ziel, weit weniger umfangreich als das Zend Framework - und dabei deutlich aufgeräumter als jeder JS-Verhau. Ist aber wohl auch eine Geschmacksfrage.
ASP.NET / Java wenns "enterprisig" werden soll im Backend. Node.js ist gut für event-driven Applikationen. Ruby on Rails für einen schnellen Einstieg in die Backendwelt, dann gäbe es auch noch Python+Django, ... alle haben ihre Vor- und Nachteile, aber mit allen lässt sich das Meiste bewerkstelligen, manchmal mit mehr manchmal mit weniger Schweiß. Frontend ist HTML5/CSS3/JS und da gibts eine schiere Auswahl aus darauf aufbauenden Frameworks, ein guter Start wäre Bootstrap oder Foundation. Gewöhn dich dran, normale Applikationen wandern immer mehr ins Web mit Browser als Zugriffsclient. Ich persönlich arbeite hobbymäßig mit Rails + Trailblazer + diverse dry-rb gems im Backend und im Frontend mit Bootstrap und als Datenbank PostgreSQL. Aber ich habe auch keine besonderen Anforderungen. Je nach Anwendung gibts besser geeignete Tools.
Wenn ich schon die Möglichkeit habe, mit JS sowohl server-, als auch client-seitig zu arbeiten, müssten schon schwerwiegende Argumente vorhanden sein, damit ich auf der Serverseite was anderes benutzte. Solche Argumente sehe ich persönlich nicht. (Okay, bei meinem Wissensstand besagt das nicht sehr viel.) Ich wollte nur wissen, ob irgendwas gegen meine Wahl der Werkzeuge spricht. Z.Bsp. "Express ist nicht so der Hit, weil ..."
Mehmet K. schrieb: > Wenn ich schon die Möglichkeit habe, mit JS sowohl server-, als auch > client-seitig zu arbeiten, müssten schon schwerwiegende Argumente > vorhanden sein, damit ich auf der Serverseite was anderes benutzte. JavaScript ist einfach Mist (persönliche Meinung), zur not wenigsten TypeScript verwenden. Ist halt eine Scriptsprache, nicht viel anders als bei PHP. Ein Schreibfehler im Variablennamen kommt er zu Laufzeit zu einen Fehler.
Das kommt stark darauf an, was du programmierst. Bei Seiten ohne viel Interaktivität ist PHP o.ä. noch immer sehr effizient. Im Frontend scheinst du ja gar nichts zu haben. Angular fand ich für formulargetriebene Applikationen gut, Firmen mit SAP fahren momentan auf SAPUI5 ab (gibt es auch als OpenUI5), aber zumindest jQuery ziehe ich eigentlich immer rein.
Mehmet K. schrieb: > Wenn ich schon die Möglichkeit habe, mit JS sowohl server-, als auch > client-seitig zu arbeiten, müssten schon schwerwiegende Argumente > vorhanden sein, damit ich auf der Serverseite was anderes benutzte. > Solche Argumente sehe ich persönlich nicht. (Okay, bei meinem > Wissensstand besagt das nicht sehr viel.) Das wirst du merken, wenn du feststellst wieviel du zu Fuß programmieren musst mit NodeJS, was andere Frameworks schon fertig mitbringen. Wie ich schon sagte, es kommt auf die Applikation an. Und sich im Webbereich auskennen ist definitiv kein Schaden für die Zukunft.
Peter II schrieb: > JavaScript ist einfach Mist (persönliche Meinung) ... Empfand ich früher auch so. Aber in seiner jetzigen Form finde ich es sehr angenehm. > Ist halt eine Scriptsprache, nicht viel anders als bei PHP. Ein > Schreibfehler im Variablennamen kommt er zu Laufzeit zu einen Fehler. Sicherlich ein stichhaltiges Argument. Die Alternative waere? Asp.Net und C#? > zur not wenigsten TypeScript verwenden. Darüber bin ich auch schon gestolper. Aber: soweit als möglich versuche ich keine MS-Produkte zu verwenden. Abradolf L. schrieb: > Das wirst du merken, wenn du feststellst wieviel du zu Fuß programmieren > musst mit NodeJS, was andere Frameworks schon fertig mitbringen. Okay, das stimmt. Aber wie ich oben bereits erwaehnte, will ich ja Express einsetzen; und das scheint mir ja eine Menge Arbeit abzunehmen. Jan H. schrieb: > Angular fand ich für formulargetriebene Applikationen gut > ... jQuery ziehe ich eigentlich immer rein. Ich hab leider immer noch keinen Ueberblick darüber, was wofür gut bzw. besser ist. Zumindest empfinde ich es als beruhigend, dass doch keiner "so ein Schmarren" ausgerufen hat :)
TypeScript / CoffeeScript sind Sprachen die nach Javascript transpiliert werden. Das erhöht die Produktivität ungemein und im Falle von TypeScript gibts auch noch ein Typsystem obendrauf. Wenn du mal versuchst Vererbung oder das Konzept einer Klasse in Javascript zu Fuß nachzubilden wirst du feststellen, warum das nur bedingt Freude macht. Fang einfach mal an und sammle Erfahrung, der Webbereich ist groß und man muss definitiv lernen die Spreu vom Weizen zu trennen. Mit einem fundierten Softwareentwicklerhintergrund sollte das gut machbar sein. Der Spaß beginnt dann bei Security- und Performancethemen.
Egal ob .NET oder Java JEE, schau dir mal das MVC Prinzip an. Und versuche mal ein kleines Projekt damit umzusetzen, z.B. ganz einfache Seitennavigation, gesteuert von Bedingungen in den jeweiligen Controllern. Danach kannst du mal eine DB integrieren und mal ein Login erstellen. Ich würde hier .NET empfehlen im Visual Studio und C#, MVC mit Razor. Wenn du das Prinzip verstanden hast, geht auf einmal alles ganz schnell
Mehmet K. schrieb: > Darüber bin ich auch schon gestolper. Aber: soweit als möglich versuche > ich keine MS-Produkte zu verwenden. diese Persönliche Einstellung würde ich überdenken. Warum ist ein Opensouce Projekt von MS schlechter als von Google? Bei Google gibt es oft nicht mal langfristige zusagen, das wird ein Produkt schnell mal eingestellt oder inkompatibel erweitert (AngularJS). Kommerzielle Produkte von MS abzulehnen, könnte ich nachvollziehen aber alles von MS pauschal nicht zu verwenden halte ich für unsinnig.
Abradolf L. schrieb: > Wenn du mal > versuchst Vererbung oder das Konzept einer Klasse in Javascript zu Fuß > nachzubilden wirst du feststellen, warum das nur bedingt Freude macht. Gibt doch Klassen in JS: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Klassen Nur starke Typisierung und Interfaces fehlen. Ein grosser Nachteil von class gegenüber dem alten function ist jedoch, wenn man diese mit apply instanzieren will, was besonders zusammen mit der Proxy classe intressant wäre, das geht nicht. Peter II schrieb: > Mehmet K. schrieb: >> Darüber bin ich auch schon gestolper. Aber: soweit als möglich versuche >> ich keine MS-Produkte zu verwenden. > > diese Persönliche Einstellung würde ich überdenken. Warum ist ein > Opensouce Projekt von MS schlechter als von Google? Google, MS, etc. sind alle eine schlechte Idee. Ich empfehle, die Lizenz bei der Entscheidung durchzulesen. Gute Projekte haben meist eine MIT Lizenz und sind entweder auf Github, oder einem Firmeneigenen GitLab oder vergleichbarem gehosted, z.B. ember.js, aurelia.io, etc. Mehmet K. schrieb: > Bevor ich nun weiter in diesen Weg investiere: sind die von mir > aufgezaehlten Werkzeuge dazu ausreichend, um auch etwas komplexere > Programme auf die Beine zu stellen? Oder habe ich die falsche Ausfahrt > gewaehlt? Sicher kann man diese dazu verwenden. Das Problem mit der Webprogrammierung ist einfach, dass egal wie, was und womit man etwas macht, es gibt immer Dinge, die sich nicht ganz sauber lösen lassen.
Peter II schrieb: > diese Persönliche Einstellung würde ich überdenken. Warum ist ein > Opensouce Projekt von MS schlechter als von Google? Sag mal, wieviel bekommst du eigentlich für deine permanente MS-Werbung hier im Forum bezahlt? Mehmet K. schrieb: > Z.Zt. bin ich der Meinung, dass folgende Werkzeuge dazu aureichen > könnten, auch komplexeren Web-Anforderungen standzuhalten: > HTML5 - CSS3 - Javascript mit NodeJS (+ Express) Zumindest Clienseitig ist es so. Da kommst du an JS heute praktisch nicht mehr vorbei. Serverseitig bieten sich neben JS natürlich noch weitere verbreitete Sprachen wie PHP, Python oder Java an. PHP hat einen etwas zweifelhaften Ruf, hat sich aber trotzdem gut bewährt. Python ist auch sehr beliebt und weit verbreitet. Java gehört Oracle, das muss jeder selbst wissen.
Elmer schrieb: > Peter II schrieb: >> diese Persönliche Einstellung würde ich überdenken. Warum ist ein >> Opensouce Projekt von MS schlechter als von Google? > > Sag mal, wieviel bekommst du eigentlich für deine permanente MS-Werbung > hier im Forum bezahlt? Werbung != Meinung
Elmer schrieb: > Python ist auch sehr beliebt und weit verbreitet. Wenn ich das so lese, ist Python tatsächlich die Zukunft ?? Ich lese u.a. hier im Forum immer mehr von Python :)
Mehmet K. schrieb: > Darüber bin ich auch schon gestolper. Aber: soweit als möglich versuche > ich keine MS-Produkte zu verwenden. und Daniel A. schrieb: > Google, MS, etc. sind alle eine schlechte Idee. Ich empfehle, die Lizenz > bei der Entscheidung durchzulesen. Gute Projekte haben meist eine MIT > Lizenz und sind entweder auf Github, oder einem Firmeneigenen GitLab > oder vergleichbarem gehosted, z.B. ember.js, aurelia.io, etc. ein, zwei Zeilen über MS-Produkte zu lesen geht anscheinend auch nicht mehr... TypeScript ist Open Source, Apache License Version 2.0 https://github.com/Microsoft/TypeScript Was ich mir, statt node.js, PHP, Ruby oder ASP.Net, nicht nur ansehen würde, wäre allerdings Go. Typsicher, speichersicher, schnell, Stand-Alone-Executables für alle gängigen Plattformen. HTML-Templates gibt's in der Lib https://golang.org/pkg/html/template/ Beispiel z.B.: https://golang.org/doc/articles/wiki/ Framworks gibt's ebenso, für den Anfang sollte das mitgelieferte ausreichen OT: Github mehr oder weniger zu fordern, halte ich ebenso für eine schlechte Idee: Nur brauchbare Unterstützung für git, der Rest insb. das deutlich flexiblere Bazaar VCS wird überhaupt nicht unterstützt und wenn schon zu Recht Lizenzen angesprochen werden, dann sollte dazugesagt werden, dass github selbst proprietär ist (BitBucket gibt's zumindest in der Self-Hosted-Variante mit Quellcode). Launchpad oder bspw. GNU Savannah bzw. Savane sind dagegen Open Source.
René H. schrieb: > Arc N. schrieb: >> TypeScript ist Open Source, > > OpenSource != Freeware. > > Grüsse, > René Und weiter? Apache 2.0 ist eine BSD-ähnliche, d.h. freiere, aber mit der GPLv3 kompatible Lizenz https://www.gnu.org/licenses/license-list.html#apache2 Viel mehr geht nicht oder sollen die Entwickler von TypeScript auch noch die Arbeit der TypeScript-Anwender übernehmen?
Arc N. schrieb: > Und weiter? Apache 2.0 ist eine BSD-ähnliche, d.h. freiere, aber mit der > GPLv3 kompatible Lizenz Dann schreib das auch. So wie Du es geschrieben hast, ist Opensource == Freeware. Mit GPL3 oder BSD wissen hier die meisten Bescheid. Grüsse, René
Arc N. schrieb: > Daniel A. schrieb: >> Google, MS, etc. sind alle eine schlechte Idee. Ich empfehle, die Lizenz >> bei der Entscheidung durchzulesen. Gute Projekte haben meist eine MIT >> Lizenz und sind entweder auf Github, oder einem Firmeneigenen GitLab >> oder vergleichbarem gehosted, z.B. ember.js, aurelia.io, etc. > > ein, zwei Zeilen über MS-Produkte zu lesen geht anscheinend auch nicht > mehr... TypeScript ist Open Source, Apache License Version 2.0 > https://github.com/Microsoft/TypeScript Ich weiss, das TypeScript OpenSource ist, deshalb muss ich es trotzdem nicht für gut halten. Abgesehen davon habe ich mich ja auch gar nicht spezifisch auf TypeScript bezogen, und meine Empfehlung Lizenzen zu lesen schliesst ja nicht die Möglichkeit aus, dass MS OpenSource Produkte mit brauchbarer Lizenz hat. (Ich bevorzuge die MIT Lizenz aber gegenüber anderen, die ist einfacher und kürzer.) > OT: Github mehr oder weniger zu fordern, halte ich ebenso für eine > schlechte Idee Tue ich doch garnicht. Ich schreibe "Github, oder einem Firmeneigenen GitLab oder vergleichbarem". Das schliesst so ziemlich jedes brauchbare Webfrontent zur Projektcodeverwaltung ein. Meinetwegen könnte man da auch Dinge wie z.B. Track dazuzählen.
Ich hatte auch mal den Schwenk auf node.js unternommen aber nach ca. einem halben Jahr kam die Ernüchterung, das ist ein riesiger Müllhaufen. I.d.R. bedient man sich gewisser Frameworks weil man nicht alles selber nochmal schreiben will, nur bei node.js hast du einen endlosen Ratenschwanz an Abhängigkeiten bis zum kleinsten Furz. Wir erinnern uns - vor einigen Monaten hatten einer der Entwickler keine Lust mehr auf sein Microprojekt und änderte die Lizenz. Das war - festhalten - nur eine Funktion die Strings auffüllt, das zog sich durch so ziemlich jede node.js-lib die plötzlich betroffen. Nicht ohne Grund ist so ein Funktion jetzt in nächsten ECMA-Standard von Haus aus drinn - LOL! Javascript ändert sich ständig, es gibt offizielle ECMA-Standards bzw. bestimmte Versionen, nur sind die Implementierungen immer halb fertig und schon steht der nächste Release vor der Türe. Das klingt erst mal gut in der Praxis flickt man dann aber immer gewissen inoffizielle Erweiterungen ran, die auch die eine oder andere lib einsetzt,... das ist ein riesen chaos. Meistens läufts bis es dann mal kracht und dann stehste dumm da. Überhaupt die Qualität diverser libs: Alles in 100 Varainten verfügbar aber welche taugt wirklich was? Jede hat ne andere Macke, nachgepflegt wird selten, ... die bist mehr mit der Pflege der Abhängigkeiten beschäftigt als mit deinem eigentlichen Projekt. PHP ist ja schon rotten aber node.js ist noch ein viel grösserer Müllhaufen. Nimm gleich was 'richtiges', JS aufm Server wie ein aufgebohrtes Mofa mit Spoiler, fährt dann schnell aber fliegt dir schnell um die Ohren. "Nur eine Sprache" klingt auch nur auf den ersten Blick toll. Gleiche Sprache stimmt auch so nicht, denn die JS-Version die der Browser (Chrome,Firefox,... und dann noch in ihren jeweiligen Versionen) unterstützt ist nie identisch mit der der jeweiligen node.js-Version, man kämpft dann mit diversen Versionen, was im Detail erhebliche Unterschiede sein können. JS ist immer noch auf dem Client ne Hausnummer, dort spielt es die Hauptrolle, was aufm Server läuft ist eher Geschmackssache oder was dort schon am laufen ist. Hat man frei Hand bei einem neuen Projekt, ist node.js nicht unbedingt die beste Wahl, m.E.
Nun ja, so ein großer Müllhaufen kann das nicht sein. Netflix nutzt Node immer mehr im Backend. Und das ist nun wirklich keine Hipster Bude die auf auf Teufel komm raus immer die neuesten Lib oder Frameworks nutzen weil es hip ist. http://thenewstack.io/netflix-uses-node-js-power-user-interface/ Was gegen Node spricht ist die mangelnde Unterstützung durch Hoster, PHP bekommt man meist bei jedem Wald und Wiesen Provider. Es kommst halt immer darauf an wie man bestimmte Sprachen oder Technologien einsetzt. Und auch PHP wird zunehmend erwachsen, was man meiner Meinung nach an Frameworks wie Symfony, Laravel oder Tools wie Composer. PHP7 ist auch ein Schritt in die richtige Richtung. Ich entwickle seit über 15 Jahren Dinge im Web, inzwischen sind viel Dinge auch in der PHP Community angekommen (TDD, Software-Patterns, Security) die Standart in der Software-Industrie sein sollten. Was ich aber nie verstehen werde ist das ständige: Ihh PHP nimm lieber XX, Node ist ein Müllhaufen, PHP ist rotten. Ja PHP ist teilweise schlecht, ja JavaScript kann nerven, aber ich kenne echt viele Leute die das erfolgreich einsetzten und eher gut als schlecht davon leben. BTW: Ich bin mir relativ sicher, das auch diese Zeilen von PHP in eine DB gekippt werden. Olli
DerOlli schrieb: > BTW: Ich bin mir relativ sicher, das auch diese Zeilen von PHP in eine > DB gekippt werden. Falsch geraten! Hier läuft Ruby (on Rails). Hat Andreas schon ein paar mal in mehreren Threads geschrieben.
DerOlli schrieb: > Nun ja, so ein großer Müllhaufen kann das nicht sein. Netflix nutzt Node > immer mehr im Backend. Und das ist nun wirklich keine Hipster Bude die > auf auf Teufel komm raus immer die neuesten Lib oder Frameworks nutzen > weil es hip ist. Es gibt berechtigte Anwendungsgebiete für NodeJS im Backend, eine klassische MVC-Webanwendung zähle ich nicht dazu.
Ich überlege mir etwas mit NGINX, OpenResty und Lua zu machen. Das schöne daran ist die C Schnittstelle und der Reverse Proxy. Grüsse, René
DerOlli schrieb: > Nun ja, so ein großer Müllhaufen kann das nicht sein. Netflix nutzt Node > immer mehr im Backend. Und das ist nun wirklich keine Hipster Bude die > auf auf Teufel komm raus immer die neuesten Lib oder Frameworks nutzen > weil es hip ist. Was ist denn das immer für ein Nullargument "Grosse Firma nutzt aber xy", das beweist erst mal überhaupt nix. Ist ja schön, wenn die sich nen Stall voll Entwickler halten können die sich mit dem Scheiss rumplagen, vielleicht ist der dortige Chefentwickler Fan von dem Müll und alle müssen mitziehen oder hatten schon entspr. Personal im Haus, ob die Entwickler darüber begeistert sind weiss man nicht, welche Probleme sie damit hatten, ob es mit anderen Technologien einfacher gewesen wäre, für was genau sie es einsetzen, ... ohne Details völlig wertloses Argument. Ich finds z.g.T. unbrauchbar, vor allem für grössere Projekte. Um mal schnell was zu testen, so Art RAD im Backend ist es ok, für 0815-Kleinkram reicht es auch, aber auch alles andere, da entscheidet Vorwissen und persönlicher Geschmack und was evt. beim Kunden schon im Einsatz ist. Wenn man entspr. Kolumnen im PHP-Mag oder auf heise regelmässig liest, sind selbst die dortigen "Evangelisten" eher kritisch zu node.js eingestellt, es hat Schwächen, nicht wenige man sollte sie halt kennen und abwägen. Jedenfalls ist in node.js viel Hype dabei.
Beim Rumstöbern im Internet bin ich über diese Seite gestolpert: http://nodecode.de/php-oder-nodejs Interessanter als den Artikel fand ich manche Leser-Beitraege. Z.Bsp. hatte ich gar nicht daran gedacht, dass bei einem Programm-Absturz in NodeJS alle Benutzter davon betroffen sind und das Programm neu gestartet werden müsste. Es gibt natürlich x verschiedene Möglichkeiten dies zu verhindern; aber das hat mich schon etwas nachdenklich gestimmt. Ich werde mir (wie mehrfach empfohlen) mal Laravel und PHP 7 etwas genauer anschauen. Da ich frühr sehr oft mit CodeIgniter gearbeitet habe und Laravel eine Weiterentwicklung dessen ist, werde ich vermutlich den Einstieg schnell finden. Aber irgendwie finde ich NodeJS sehr verlockend. Naja, mal schauen. Danke für all Eure Meinungen und Ratschlaege.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.