Ankündigung

Einklappen
Keine Ankündigung bisher.

Eigene Framework vs. bestehende Frameworks

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

  • Eigene Framework vs. bestehende Frameworks

    Ich arbeite an einem großen Projekt der sich grad in seiner Anfangsphase befindet --
    aber ich mache mir schon Gedanken darüber eine passende Architektur für diese Webapplikation zu schaffen das gleichzeitig übersichtlich, flexibel und performant ist und einen gewissen Grad an Abstraktion anbietet.(DBAL,ActiveRecords,Sicherheitsmaßnahmen, Session Handling,usw.)

    Ich wundere mich ob es sinnvoller wäre einen bestehenden Framework wie Codelgniter oder Symfony bzw. eine eigene zu programmieren.

    Der Vorteil bei eigenen programmierten Framework ist das viel mehr Flexibilität vorhanden ist was der Organisation der Anwendung betrifft.

    Unter welchen Bedingungen könnte sich so ein Aufwand lohnen?


  • #2
    Hallo,

    ich kann dir nur meine eigene Meinung zum Thema präsentieren.
    Ein eigenes Framework kann dir selbst schon viel nützen, ich sehe aber den Zeitaufwand als großes Minus.

    Du spricht bestehende Frameworks wie Codelgniter oder Symfony an. Hast du dir mal Informationen über das Zend Framework geholt?
    Dort hast du nämlich von einander gelöste Komponenten zur Verfügung. Damit wiederum bekommst du eine freie Gestaltung deiner Anwendung - und schon viel, was du ohne zusätzliche Programmierung nutzen kannst.

    Es kommt natürlich auch ein wenig darauf an, für was du das Framework nutzt. Jede Anwendung ist ein bisschen Verschieden und hat einen anderen Bedarf an Komponenten.

    Ich bin gespannt, was hier sonst noch für Antworten reinbrasseln.

    Gruß,
    dex

    Kommentar


    • #3
      Also ich habe in meiner Firma ein PHP-Framework selbst-entwickelt und ich sage wenn du zeit und natürlich die nötige Kompetenz hast lohnt sich der Aufwand auf alle fälle ... natürlich vorrausgesetzt du machst es vernünftig^^

      Was man damit für eine Zeitersparniss erreichen kann ist unglaublich ... also ich würde es machen wenn Zeit und Kenntnisse ausreichen vorhanden ...

      ... ich finde viele fertige Framework zwar riesig vom Umfang her aber die meisten viel zu kompliziert ... muss man abwiegen wofür man mehr Zeit braucht ... sich in ein neues framework einzuarbeiten oder ein neues zu schreiben^^
      Ich würde so gern die Welt verändern doch Gott gibt mir den Quellcode nicht.
      Compiler sind wie Franzosen.. schnauzen einen immer nur an, wenn man ihre Sprache nich perfekt spricht.

      Kommentar


      • #4
        Ich vermisse noch den Hinweis auf das APF..

        Kommentar


        • #5
          Du hast ihn doch schon gegeben!

          Im Ernst:
          Der Vorteil bei eigenen programmierten Framework ist das viel mehr Flexibilität vorhanden ist was der Organisation der Anwendung betrifft.
          Das ist ein absoluter Irrglauben. Ein Framework gibt einen Rahmen vor und das ist von einem Produkt zum anderen sicher unterschiedlich, es lässt jedoch nicht den Schluss zu, dass fertige Produkte schlechtere oder weniger Flexibilität bieten. Meiner Ansicht nach ist das eine Frage der Architektur eines Frameworks und der Konzepte.

          Unter welchen Bedingungen könnte sich so ein Aufwand lohnen?
          Immer. Selbst für eine Webseite mit 5 Templates lohnt es sich ein Framework einzusetzen, das dich beispielsweise im Bereich Templating unterstützt. Sicher ist die Einarbeitung nicht zu unterschätzen, es lohnt sich jedoch immer.

          Ich arbeite an einem großen Projekt der sich grad in seiner Anfangsphase befindet --
          Dieser Umstand ist prädestiniert um seine bisherige Arbeit zu reflektieren und sich gemäß deinen neuen Anforderungen bei den verfügbaren Produkten umzusehen.

          aber ich mache mir schon Gedanken darüber eine passende Architektur für diese Webapplikation zu schaffen das gleichzeitig übersichtlich, flexibel und performant ist und einen gewissen Grad an Abstraktion anbietet.(DBAL,ActiveRecords,Sicherheitsmaßnahmen ,Session Handling,usw.)
          Genau mit diesem Kriterien solltest du dir verfügbare Produkte ansehen und eines aussuchen. Gerade bei einem großen Projekt (wie du es ansprichst) sollte man aus meiner Erfahrung immer auf starken Infrastruktur-Code setzen.

          Aktuelle Vergleiche findest du unter http://adventure-php-framework.org/Seite/088-Why-APF und http://matrix.include-once.org/framework.
          Viele Grüße,
          Dr.E.

          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          1. Think about software design before you start to write code!
          2. Discuss and review it together with experts!
          3. Choose good tools (-> Adventure PHP Framework (APF))!
          4. Write clean and reusable software only!
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          Kommentar


          • #6
            Du hast ihn doch schon gegeben!
            Stimmt...

            Kommentar


            • #7
              hm.. ich persönlich sehe kein Vorteil gegenüber PHP Frameworks.. ich habe da meine 6 Klassen, und die Verwende ich in allein Seiten von mir, die Entwicklung ist wesentlich kürzer als sich in ein Großes projekt einzuarbeiten, habs schon mit APF , Zend,Kohona,Cake versucht.. bin wahrscheinlich zu dumm für.

              Wobei aber Javascript Frameworks, jQUery zb ziemlich viele Vorteile bietet, weil ich bei jQuery eben keine Interne dateiabhängigkeiten habe , keine 1000e Dateien habe, ledeglich kurz die js datei einbinden und schon kann es losgehen.. wenn es sowas blos für PHP geben würde. nach dem motto "Code Less, Do More" aber die Aktuellen PHP Frameworks sind eher nach dem motto:"We are the Best but RTFM"
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp

              Kommentar


              • #8
                Zitat von BlackScorp Beitrag anzeigen
                hm.. ich persönlich sehe kein Vorteil gegenüber PHP Frameworks.. ich habe da meine 6 Klassen, und die Verwende ich in allein Seiten von mir, die Entwicklung ist wesentlich kürzer als sich in ein Großes projekt einzuarbeiten, habs schon mit APF , Zend,Kohona,Cake versucht.. bin wahrscheinlich zu dumm für.
                Das sehe ich komplett anders. Bis du dich in das APF eingearbeitet hast vergeht eine Woche. Dannach kannst du die Grundlagen. Dannach ist Learning-By-Doing angesagt. Dannach geht alles sehr schnell! Super Dokumenation ist auch vorhanden! Falls Fragen bestehen gibts ja auch noch eine aktive Community!

                Kommentar


                • #9
                  jop und in jQuery habe ich mich in 2 stunden eingearbeitet... ich sage nicht dass PHP Frameworks schlecht sind.. mich stört es halt dass jedes Framework behauptet es wäre das beste aber nur wenn man sich wochenlang damit beschäftig und dann nach paar wochen stellt man fest, dass es doch nicht zum Projekt passt.

                  Mal ein kleines Beispiel:

                  http://adventure-php-framework.org/Seite/088-Why-APF

                  da steht dass Cake kein Page Controller hat..
                  http://book.cakephp.org/#!/view/1534...e-a-Post-Model
                  hier sieht man dass man nur eine Klasse anlegen muss, die von AppModel erbt und schon kann die klasse über URL aufgerufen werden..

                  Erweiterte Konfiguration soll Cake auch nicht haben?
                  http://book.cakephp.org/#!/view/1532...-Configuration

                  mit Configure::write und read kann man sich alle möglichen Variablen anlegen in die config datei

                  Erweitertes URL handing hat cake auch nicht..
                  http://book.cakephp.org/#!/view/1541/Routes

                  mit der Router klasse kann man einstellen, welche URL Parameter man an eine klasse überhaupt angeben kann.

                  Also APF mag sehr gut sein, habe auch respekt vor der Arbeit des Entwicklers aber ich finde schon dass wenn man sachen vergleicht, dann sollte man auch seine Punkte erläutern..

                  "Advanced Templating","Tag basierte formulare" usw.. das sind Begriffe die nichts aussagen.

                  Als ich die Ganzen häckchen gesehen habe.. dachte ich mir wow muss toll sein.. und habe dann am ende nicht mal ein login/register script hingekrigt aber viel Zeit gebraucht um mich da einzuarbeiten.. genauso sah es mit anderen Frameworks aus... mich persönlich konnte halt noch kein FW überzeugen ... vllt irgendwann wenn mal eins rauskommt, dass so leicht zu handhaben wie jQuery...

                  und um wieder ontopic zu kommen.

                  Eigenes Framework entwickeln dauert lange und kann nicht mit anderen Frameworks halten. Andere Frameworks verwenden, frisst viel zeit in der einarbeitung selbst wenn man nur eine kleine Page braucht mit einem loginsystem.

                  Für mich persönlich hat sich die Einfachste methode duchgesetzt.. ich habe meine paar klassen mit grundlegenden funktionen und diese werden einfach in neuen Projekten verwendet..
                  apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp

                  Kommentar


                  • #10
                    ich habe da meine 6 Klassen, und die Verwende ich in allein Seiten von mir
                    Ab einem gewissen Umfang werden Deine sechs Klassen nicht mehr ausreichen, um effizient zu entwickeln.
                    Ich find's immer wieder cool, was Jens für ein begeisterter APF-Jünger ist

                    Kommentar


                    • #11
                      Zitat von xm22 Beitrag anzeigen
                      Ab einem gewissen Umfang werden Deine sechs Klassen nicht mehr ausreichen, um effizient zu entwickeln.
                      ich sag mal so: ich entwickle "Kundenorientier" d.h. solange ich meine abgabetermine einhalte und der Kunde am ende das sieht was er sehen will, ist alles in Ordnung. Und die 6 Basis klassen, werden nicht benötigt um das Ganze projekt zu erstellen. es sind einfach kleinere funktionen die in den "Projekt Klassen" eingesetzt werden..
                      apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp

                      Kommentar


                      • #12
                        ich sag mal so: ich entwickle "Kundenorientier" d.h. solange ich meine abgabetermine einhalte und der Kunde am ende das sieht was er sehen will, ist alles in Ordnung.
                        Ab einem gewissen Umfang werden Deine sechs Klassen nicht mehr ausreichen, um effizient zu entwickeln.
                        Das schließt sich ja nicht aus. Ich habe auch einige Jahre lang Seiten mit einem selbst kreierten Mini-CMS erstellt. Aber eine umfangreiche Applikation wie z. B. einen Shop, würde ich ohne "richtiges" Framrwork nicht mehr anfangen.

                        Kommentar


                        • #13
                          naja ich würde niemals ein Shop,Blog oder Forum programmieren, da es ja genug davon bereits gibt und man kann eigentlich die vorhandenen gut anpassen
                          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp

                          Kommentar


                          • #14
                            War ja auch nur ein Beispiel. Ich habe aber z. B. letztens erst ein ziemlich großes Projekt gehabt - Eine Mischung aus Shop und CMS. Und um die Funktionen, die gewünscht waren irgendwo zu implementieren und die gewünschte Performance zu erreichen, wäre so ein großer Aufwand notwendig gewesen, dass ich es von Scratch auf neu entwickelt habe - Mit einem Framework halt...

                            Kommentar


                            • #15
                              6 Klassen hat bei mir schon ein MVC Modul für eine kleine dynamische Ausgabe. Da lässt sich wohl kaum von Framework sprechen. Ist halt ne Frage, welchen Abstraktions-/DRY-Grad die Anwendung erreichen soll.

                              jop und in jQuery habe ich mich in 2 stunden eingearbeitet.
                              Mit Verlaub - jQuery beackert ein winziges Themenfeld in einer Sprache, wobei man das meiste aus CSS bereits kennt.
                              PHP muss auf diversen Layern agieren - von Header bis Datenbank, muss Persistenzen managen, Requests auswerten, in Verbindung mit MOD_REWRITE interagieren, läuft streng linear ab... bla bla, PHP eben.
                              --

                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                              --

                              Kommentar

                              Lädt...
                              X