2016-06-23 17 views
-1

Einige allgemeine InformationenSollten wir ein PHP-Framework verwenden oder unser eigenes erstellen?

Ich bin ein Projektmanager für ein Startup-Unternehmen. Diese Firma entwickelt eine Lösung für das Parken mit Ihrem Mobiltelefon. Dazu arbeiten wir mit einer IT-Firma zusammen, die die Programmierung durchführt. Sie entwickeln die PHP-Anwendung und die App (s).

Ich bin ein gelernter Softwareentwickler und dies ist meine erste Arbeit. Jetzt, wo die Entwicklung begonnen hat, habe ich die Verantwortung, dass das IT-Unternehmen die Software nach unseren Wünschen entwickelt. Ich bin auch verantwortlich für die Verwaltung der Softwarequalität.

Ich habe Programmiererfahrung mit Android, HTML, CSS, C# und kann PHP für 50 bis 75% lesen. Ich verstehe das Web "Arbeit fließt" (Anfrage Antwort Idee und die Antwort-Code-Theorie), die ich auch mit Rest API's.


Anwendung informatin

  • Wir erwarten, dass wir mehr als 1.000.000 aktive Benutzer in den nächsten 2/3 Jahren haben
  • Die Anwendung muss hoch skalierbar sein

Mein "Problem "

Jetzt ist ein technischer Proof of Concept fast fertig. Ich nehme einen Blick in den Code und stelle einige Fragen zu den verwendeten Techniken, aber einige Dinge entsprechen nicht meiner Leistung. - Sie nutzen OneUI als Front-End Rahmen - Schreiben Sie eine eigene „custom“ Back-End-Rahmen/Anwendung - Mix PHP mit HTML statt MVC - Verwenden Sie keine ORM

Wir sprachen über diese Punkte in einer Sitzung und eine Sache, die keinen Weg finden kann, der von jedem bevorzugt wird. Das IT-Unternehmen hat andere Meinungen als ich.

  • Meiner Meinung nach müssen wir ein bestehendes Framework wie Laravel, Symphony oder Phalcon verwenden. Ich persönlich bevorzuge Laravel oder Symphonie. Dies erfordert, dass Sie Ihre Anwendung auf eine saubere Art und Weise entwickeln. Der Code ist viel sauberer und die Leistung kann positiv gesteigert werden, wenn die Frameworks auf die richtige Weise verwendet werden. Frameworks wurden auch immer vom Framework-Entwickler oder der Community aktualisiert, so dass Sicherheitslecks behoben werden. Es macht es auch einfacher, die Anwendung in einem Jahr von einem anderen Programmierer zu bearbeiten, weil der Code gut strukturiert ist. Der letzte Punkt ist, wenn die Anwendung seine erste Veröffentlichung hat, gibt es eine Chance, dass wir aufhören, mit der IT-Firma zusammenzuarbeiten und einen eigenen Programmierer zu nehmen.

  • Das IT-Unternehmen hat keine Erfahrungen mit solchen Frameworks. Ihrer Meinung nach ist es aus Sicherheitsgründen viel besser, einen eigenen Rahmen zu schaffen. Sie sagen, es passiert viel, dass ein Leck/Bug in einem Framework gefunden wird. Alle Websites, die auf diesen Frameworks aufbauen, können über einige Bugs oder Lecks verfolgt und gehackt werden. Dies ist ihr einziger "harter" Punkt zu sagen "benutze kein existierendes Framework" Sie sagen auch, dass wenn du dein eigenes Framework erstellst die Chance sehr klein ist, dass jemand versucht, Lecks zu finden oder in dein System zu kommen, weil niemand versteht dein Rahmen.

  • Ich denke anders darüber, weil viele BIG-Anwendungen auch bestehende Frameworks verwenden. Wenn diese ein größeres Sicherheitsrisiko haben, warum benutzen sie sie dann?

    Jetzt habe ich eine Mail und sie schreiben darin, wo sie schreiben "wenn wir ein Framework verwenden, bevorzugen wir AnguarJS, weil es wunderbar mit OneUI funktioniert" Ich dachte, dass angularJS ein UI-Framework ist? Es gehört auch nicht zu den besten 10 "besten Frameworks" für die Entwicklung großer und hoch skalierbarer Anwendungen.

    Ich verstehe alle technischen Details, aber ich bin bei der Entwicklung von PHP-Anwendungen nicht erlebt so .....


    Meine Fragen:

    • Ist es empfehlen ein zu verwenden, bestehender Rahmen?
    • Wenn ja - Welches Framework wird für die Logik/das Backend empfohlen?
    • Gibt es zusätzliche Sicherheitsrisiken, wenn wir ein bestehendes Framework verwenden?

    • Ist angularJS kein Front-End-Framework? weil sie sagen, sie können es für das Backend/Logik verwenden?

    ziehe ich mit AngularJS auf es für die Schnittstellen Laravel als Rahmen zu verwenden, aber wie gesagt, ich bin kein PHP-Entwickler so ist dies nur ist meine Schlussfolgerung der Dinge, die ich gelesen und von PHP-Entwickler heared .

    Ich habe bereits etwas recherchiert und lese täglich über PHP-Frameworks, aber die Zeit, eine Entscheidung zu treffen, ist kurz, deshalb frage ich hier nach Rat.

    +4

    Dies wird geschlossen. Aber ich füge meine Eingabe hinzu: Frameworks sind nett, wenn Sie Ihr Team oder sich selbst zwingen wollen, einem Programmierstandard zu folgen. Und sie befestigen auch Ihren Entwicklungsprozess. Ein eigenes Framework zu entwickeln, das Ihren Bedürfnissen entspricht, ist eine gute Idee, wenn Sie Zeit haben. Wenn Sie nicht, gehen Sie für eine freie, wie CI, Laravel, etc. – Phiter

    +1

    Vereinbaren Sie mit @PhiterFernandes. Hinzu kommt: Sie brauchen nicht nur die Zeit, sondern das "richtige" Wissen. Frameworks werden normalerweise von einer Gruppe von Programmierern entwickelt, die Komponententests und alle anderen Arten von Tests verwenden. Warum also das Rad neu aufladen und Zeit verschwenden? ** Ihrer Meinung nach ist es aus Sicherheitsgründen viel besser, einen eigenen Rahmen zu schaffen. ** Im Gegenteil. Das ist nur eine Meinung, die nicht auf Studien usw. basiert. –

    +0

    Finden Sie ein anderes Entwickler-Unternehmen, das klingt schrecklich, vor allem, wenn Sie beabsichtigen, die Entwicklung in-house in Zukunft zu bringen – Steve

    Antwort

    1

    Entwickeln Sie Ihre Anwendung nicht für die Zukunft. Die Chancen stehen in 3-4 Jahren, dass du dieses Projekt sowieso komplett verschrotten wirst. Und wenn Sie wirklich 1 Million + aktive Benutzer haben, haben Sie einen großen Cashflow (hoffentlich), um an diesem Punkt zu refaktorieren.

    Sie sind ein Start-up, Ihre beste Wette ist, etwas so schnell wie möglich zu starten und zu sehen, ob die Leute sogar denken, dass Ihre Idee es wert ist.

    Zu viele Firmen sterben aus, die kleinen Details auszuarbeiten. Erhalten Sie einen positiven Cashflow und beginnen Sie sich dann Sorgen um die Optimierung und Refactoring der Anwendung, wenn Sie Ihre eigenen Entwickler einstellen können.

    Offensichtlich wollen Sie keine tolle Benutzererfahrung haben, so dass dies das einzig wahre Ziel früh sein sollte.

    Um Ihre Frage zu beantworten ..., was ich habe, ist sehr einfach zu finden ist, etwas zu tun wie folgt aus:

    eine bestehende PHP-Framework verwenden, wenn Sie die PHP-Route fahren. Etwas wie YII oder Laravel, weil diese gut dokumentiert sind und einfach so schnell wie möglich gestartet werden können.

    Wenn Sie eine API erstellen, dann verwenden Sie etwas einfaches, das Ihnen erlaubt, eine Art von Monolith sehr sehr schnell zu vermehren.

    Wie für ein Front-End ... ist es nicht wirklich wichtig. Es kann sehr einfach mit angularJS oder einem anderen JS-Framework durchgeführt werden.Ich bevorzuge AngularJS, nur weil ich damit gearbeitet habe, aber es gibt auch viele andere großartige Möglichkeiten.

    Ich würde einfach das verwenden, wofür das Entwicklerteam am besten ist, wenn Sie die App wiederholen (was in einigen Jahren unweigerlich für eine neue Firma passieren wird).

    +0

    '" Ich würde einfach das verwenden, wofür sich das Entwickler-Team am besten gefreut hat "" Sicher, wenn du dein eigenes Entwicklerteam hast. Aber das ist hier nicht der Fall, und die Entwicklerfirma scheint extrem arm zu sein - die Förderung von spagetti Code und php/html Suppe ist ein großes schwarzes Zeichen, und dann das mit einer schrecklichen Sicherheit durch Obskuritätsargument zu verteidigen, ist eine andere massive schwarze Markierung. Ich würde persönlich nach einer anderen Entwicklungsfirma suchen, besonders wenn das OPs Unternehmen Ambitionen hat, Dev-Inhouse-Letzteres zu bringen, müssen sie mit etwas anfangen, das für ihre neuen Inhouse-Entwickler verständlich sein wird – Steve

    Verwandte Themen