Ankündigung

Einklappen
Keine Ankündigung bisher.

Wahl Framework

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wahl Framework

    Hallo,

    ich möchte gerne mal mit einem Framework arbeiten, weiß aber nicht welches Framework ich (nach aktuellem Stand) nutzen sollte.
    Es sollte einfach zu erlernen sein und eine große Community zur Verfügung stehen... Habe jetzt schon ein bischen über Frameworks gelesen, kann mich dennoch nicht entscheiden..
    Damit realisieren möchte ich kleinere bis mittelgroße Projekte, nichts zu Anspruchsvolles. Bspw. ein Shopping-System oder z.B. eine Firmenwebseite..

    Was wäre für mich geeignet?

    webdevv


  • #2
    Hallo,

    das ist immer so eine Sache.
    Wenn es einfach zu erlernen sein soll, dann nimm Laravel als Framework oder das miniframework "Lumen". Lumen entstammt von Laravel ist nur etwas abgespeckter.
    Symfony ist auch eine gute Wahl, aber nicht immer so einfach zu erlernen, Silex das Miniframework von Symfony ist auch relativ einfach zu verstehen.

    Laravel hat ebenfalls wie Symfony eine große Community. Und die Dokumentation von Laravel ist wirklich einfach zu verstehen.

    Kommentar


    • #3
      Das wurde im Interne schon so oft durchgekaut, ob das hier wirklich nochmal nötig ist?

      Du kannst theoretisch jedes Framework nehmen. Bei großer Community eben die großen wie Symfony, Laravel, CodeIgniter, oder Zend.
      Die großen Frameworks sind eigentlich für jeden Anwendungsfall im Web erdacht und konzipiert, sodass man mit jedem recht schnell ans Ziel kommt.

      Gerade bei kleinen Projekten kommt man meist eh nicht über die Standardfunktionalitäten hinaus, die jedes Framework bietet. Weshalb sich dann meist Micro-Frameworks anbieten (Slim, Silex, Lumen, etc.).
      "Software is like Sex, it's best if it's free." - Linus Torvalds

      Kommentar


      • #4
        Falls du meine Meinung hören willst: Ich habe mit Laravel, Silex, Slim, Lumen, Zend und Symfony gearbeitet und mir hat Silex/Symfony (die beiden sind recht kompatibel mit einander) mit deutlichem Abstand am besten gefallen. Silex würde ich eher für REST-Services einsetzen, Symfony für Webseiten.
        Fynder - http://www.fynder.de - Tutorials zum Thema Technik

        Kommentar


        • #5
          Ich habe mich für Lumen/Laravel entschieden, da ich bisher fast überall davon gelesen habe und es scheinbar auch eine recht große Community gibt. Gibt es eine einfache "Dokumentation" bzw. Tutorial von Laravel, wo man die grundlegenden Dinge einfach und kompakt erlernen kann? Habe bisher nur die englische Dokumentation von Laravel gesehen und die scheint mir recht komplex bzw. unverständlich für jemanden, der mit Frameworks noch nie etwas am Hut hatte.

          Kommentar


          • #6
            Habe bisher nur die englische Dokumentation von Laravel gesehen und die scheint mir recht komplex bzw. unverständlich für jemanden
            Zeit umzusteigen, findest du nicht? *gg*
            Fynder - http://www.fynder.de - Tutorials zum Thema Technik

            Kommentar


            • #7
              Was meinst du?
              Englisch beherrsche ich, aber das ist mir doch noch zu viel Fachterminologie.

              Kommentar


              • #8
                Damit meine ich eigentlich, wenn du schon mit der Dokumentation für den Einstieg Schwierigkeiten hast, ist das Framework wohl nicht die richtige Wahl... vielleicht fängst du da mit etwas einfacherem oder besser dokumentiertem an.
                Fynder - http://www.fynder.de - Tutorials zum Thema Technik

                Kommentar


                • #9
                  Zitat von Andreas Beitrag anzeigen
                  Damit meine ich eigentlich, wenn du schon mit der Dokumentation für den Einstieg Schwierigkeiten hast, ist das Framework wohl nicht die richtige Wahl... vielleicht fängst du da mit etwas einfacherem oder besser dokumentiertem an.
                  Also wenn er mit dem Einstieg in Laravel (Es gibt da die Dokumentation, was schon ausführlich ist, den Laracast, und ewig viele Tutorials) schon überhaupt nicht zurecht kommt, dann dürfte er bei anderen Frameworks wohl nicht arg viel weiter kommen (z.B. Symfony mit seinem immensen Umfang).
                  "Software is like Sex, it's best if it's free." - Linus Torvalds

                  Kommentar


                  • #10
                    Hallo,

                    bevor man sich die Frage stellt, welches Framework es werden soll, sollte man sich erstmal darüber Gedanken machen, was man überhaupt will, DENN:
                    Moderne Frameworks sind alle nach dem gleichen Prinzip aufgebaut. Man sollte also am besten vorher schon eine Ahnung von so Sachen haben wie Dependency Injection, Service Container und Factory Pattern bzw. allgemein Design Patterns. Auch ein häufig fallender Begriff in dem Zusammenhang ist DSL. Sollte man alles zumindest schonmal gehört haben, sonst fällt dir der Einstieg in jedes der genannten Frameworks schwer. Diese genannten Begrifflichkeiten sind als Grundlage, bzw. Grundverständnis für die Frameworks anzusehen und man sollte mit diesen bereits vorher schon vertraut sein. Andernfalls wirst du nur Bahnhof verstehen, egal welches Framework du dir anschaust.

                    Will man das alles nicht, und will stattdessen nur etwas komfortabler coden, dann ist man bei Frameworks falsch. Frameworks haben schon lange den professionellen Anspruch und sind nicht mehr für Freizeitprogrammierer geeignet, die sich nicht damit befassen wollen. Die Zeiten, wo jeder bisschen sein kleines Skript hatte, sind längst vorbei. Das Niveau und die Anforderungen sind deutlich gestiegen. Wem das alles zu kompliziert ist, oder wer das nicht will, der sollte meiner Meinung nach Konzepte wie Objektorientierung & Co. schlicht nicht benutzen und bei simplen PHP bleiben.


                    MFG derwunner

                    Kommentar


                    • #11
                      Warum fällt bei der Wahl des Frameworks häufig der Begriff DSL? Symfony hat mit Twig und dem daraus adaptierten ExpressionLanguage Service eine Möglichkeit für DSLs, aber anderswo (Laravel o.ä.) wurde dafür nirgendwo etwas implementiert oder vorgesehen. Ist glaube ich auch für einen Online-Shop oder vergleichbares (in erster Linie) irrelevant. Vllt. hab ich da auch einen neuen Trend verpasst.

                      Frameworks sind m.E. nach gerade unteranderem dafür da komfortabler zu coden. Wenn ich mir ein Framework bzw. dessen Komponenten an Board hole, dann weiß ich, dass ich mich um gewisse Implementierungen nicht mehr zu kümmern habe (z.B. Routing oder DI). Ich könnte das natürlich alles selber erstellen, aber da es schon etliche Male bereits umgesetzt wurde (meistens weitaus fortgeschrittener als eine eigene Lösung) ist es für mich doch komfortabler diese vorhandenen Komponenten zu nutzen.

                      Naja und professioneller Anspruch und Freizeitprogrammierer stehen nicht im Gegensatz zueinander
                      "Software is like Sex, it's best if it's free." - Linus Torvalds

                      Kommentar


                      • #12
                        Zitat von JaMa Beitrag anzeigen
                        Warum fällt bei der Wahl des Frameworks häufig der Begriff DSL? Symfony hat mit Twig und dem daraus adaptierten ExpressionLanguage Service eine Möglichkeit für DSLs, aber anderswo (Laravel o.ä.) wurde dafür nirgendwo etwas implementiert oder vorgesehen.
                        Weil es diverse Kritiken an ORM's gibt. Also die eine "Glaubenshälfte" bevorzugt ORM's und die andere DSL. Das ist denke ich mehr ein Glaubenskrieg, als etwas wirklich technisch begründetes. Mit anderen Worten, es ist reine Geschmackssache, ob ORM oder DSL.

                        Zitat von JaMa Beitrag anzeigen
                        Frameworks sind m.E. nach gerade unteranderem dafür da komfortabler zu coden. Wenn ich mir ein Framework bzw. dessen Komponenten an Board hole, dann weiß ich, dass ich mich um gewisse Implementierungen nicht mehr zu kümmern habe (z.B. Routing oder DI). Ich könnte das natürlich alles selber erstellen, aber da es schon etliche Male bereits umgesetzt wurde (meistens weitaus fortgeschrittener als eine eigene Lösung) ist es für mich doch komfortabler diese vorhandenen Komponenten zu nutzen.
                        Das ist richtig. Viele Frameworks sind aber kompliziert und mitunter nicht einfach zu erlernen, eben weil sie viele Prinzipien, Konzepte und Herangehensweisen mit einschließen. Bei den meisten Frameworks gibt es ja auchj nur alles oder nichts. Und ja, ich weiß, es gibt Ausnahmen, wie z. B. die Symfony Komponenten usw., das ist aber nicht die Regel.

                        Zitat von JaMa Beitrag anzeigen
                        Naja und professioneller Anspruch und Freizeitprogrammierer stehen nicht im Gegensatz zueinander
                        Denke schon, denn der Großteil der Freizeitprogrammierer interessiert nur: "Ich habe Problem XYZ, was mache ich falsch?". Die interessieren sich nicht wirklich für Frameworks, Design Patterns und sowas, die wollen einfach nur eine Lösung haben. Natürlich gibt es respektive dazu auch Freizeitprogrammierer, die sich dafür interessieren und die es auch professionell angehen. Die sind aber leider eher die Seltenheit als die Regel. Deswegen denke ich schon, dass es hier eine Unterscheidung bzw. Abgrenzung gibt.

                        Kommentar


                        • #13
                          Ja aber ein ORM in Verbindung mit einer relationalen DB nutzt ja auch SQL (DSL), genauso wie Doctrine z.B. DQL implementiert hat. Ich verstehe nicht ganz was ein ORM mit einer DSL zu tun haben soll, bzw. inwiefern sich diese Vergleichen ließen, als dass man in "Glaubenshälften" aufteilen könnte.

                          Dass es nicht leicht ist sich in ein Framework einzuarbeiten und es zu verstehen, Zweifel ich nicht an. Mir ging es nur um die Aussage des Komforts

                          Naja klar, auf die Leute die sich zuhause schnell ihr Smart Home zusammenbasteln wollen trifft die Aussage bestimmt zu. Sieht man ja hier desöfteren.
                          Aber es gibt viele Leute, die sich tiefergehend mit der Materie beschäftigen und sich auch damit auseinandersetzen wollen. Fragen von solchigen findet man hier vergleichsweise wenig, da diese versuchen (und das meistens schaffen) das Problem selbst zu lösen und selbst dahinter zu kommen.

                          "Software is like Sex, it's best if it's free." - Linus Torvalds

                          Kommentar


                          • #14
                            Angenommen ihr würdet ein kleines Shoppingsystem für eure Firma zusammenbasteln, würdet ihr das von Hand coden (so würde ich es nach meinem aktuellen Kenntnisstand lösen) oder würdet ihr als unterstützende Maßnahme ein Framework nehmen? Als Vorteil per Hand sehe ich ganz klar, dass es schneller geht, aufgrund der nicht vorhandenen Einarbeitungszeit in ein Framework. Andererseits denke ich, die Einarbeitung in ein Framework kostet zwar Zeit, ist aber sicherer im Bezug auf Angriffe.

                            Kommentar


                            • #15
                              Zitat von webdevv Beitrag anzeigen
                              Angenommen ihr würdet ein kleines Shoppingsystem für eure Firma zusammenbasteln, würdet ihr das von Hand coden (so würde ich es nach meinem aktuellen Kenntnisstand lösen) oder würdet ihr als unterstützende Maßnahme ein Framework nehmen?
                              Defintiv Framework! Die einmalige Einarbeitungszeit ist es wert. Dafür spart man hinterher viel Zeit. Und gerade ein Shopsystem selbst zu programmieren ist ziemlich aufwändig. Ein Framework kann da schon gut unterstützen. Ich gehe mal davon aus, dass die Frage auf ein Mittelgroßes Projekt bezogen war und das mit dem Shopsystem nur beispielhaft war.
                              Ansonsten kann ich sagen: Shopsysteme würde ich nie selber machen. Klar kann man das machen, aber man weiß nie, ob man damit rechtlich auf der sicheren Seite ist. Man kann immer etwas vergessen oder übersehen bei Shops. Wenn das ein fertiges System ist, dann sind die dafür verantwortlich, dass das Shopsystem alle geltenden Rechte und Gesetze beachtet.

                              Zitat von webdevv Beitrag anzeigen
                              Als Vorteil per Hand sehe ich ganz klar, dass es schneller geht, aufgrund der nicht vorhandenen Einarbeitungszeit in ein Framework. Andererseits denke ich, die Einarbeitung in ein Framework kostet zwar Zeit, ist aber sicherer im Bezug auf Angriffe.
                              Ob das trotz der Einarbeitungszeit nicht schneller geht, wage ich zu bezweifeln. Es gibt gute Tutorial Videos für verschiedene Frameworks. Also Einarbeitungszeit round about 3 Stunden...

                              Und nein, ein Framework ist in Bezug auf Angriffe nicht sicherer. Das ist ein Irrglaube, denn: Ein Framework hängt meistens von anderen Bibliotheken ab, die bekannte (und evtl. noch nicht gefixte) Schwachstellen haben können. Ein Framework ist weit verbreitet und wird häufig eingsetzt. Es würde sich also eher für einen Angreifer lohnen, Lücken in einem Framework zu finden, als sich mit der handgemachten Lösung eines Einzelnen zu beschäftigen. Das openSource Prinzip, dass viele Augen viel sehen, muss nicht immer zutreffen. Laut den heise Meldungen dauert es meistens bei openSource sogar länger, bis eine Lücke geschlossen wird, als bei kommerziell vertriebener Software, wo weit weniger Entwickler dran arbeiten. Außerdem weiß man bei handgemachten Lösungen, was man hat und wo evtl. Schwachstellen sein könnten. Diese zu finden und zu eliminieren dürfte also bei weitem leichter sein, als bei einem Framework. Generell bin ich aber trotzdem ein Befürworter von Frameworks, da sie einem viel Arbeit abnehmen und sie auch viele gute Konzepte (Design Patterns) einbinden, an die sich dann jeder halten muss. Außerdem kann man ja auch dazu beitragen, die Lücken zu stopfen, wenn man sich gut mit dem genutzten Framework auskennt.

                              Kommentar

                              Lädt...
                              X