Java-ODER PHP-Server-Seite Web-App und Warum?
Ich bin erstellen einer web-app, die beinhaltet eine Menge von DB-Zugriff und das Parsen und die Analyse von Daten , Java ist die Sprache, die am meisten bin ich wohl mit, aber vor kurzem wurde gesagt, dass ich berücksichtigen sollte und die PHP verwenden, da es macht die DB-access-Protokolle viel einfacher.
Ich habe keine großen Kenntnisse in PHP, wäre aber bereit zu lernen, wenn es die bessere option, so weit wie Funktionalität , Tragbarkeit ect betrifft.
Die Web-app greift auf eine Oracle-DB und Flex verwenden für die GUI, Bitte keine Erfahrungen von ähnlichen Projekten, und was Ihre gewählten Ansatz besser helfen würden oder einfach nur Meinungen jeglicher Art.
- Was meinst du - "DB-access-Protokolle"? Jede Sprache verwendet-API, nicht auf raw-Protokoll.
- sorry mein Fehler ich meinte nur die Allgemeine access-Verfahren
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie bequem mit Java, ich sehe nicht die Notwendigkeit zu lernen/PHP. Es gibt nichts, was PHP tun können, die Java nicht kann.
Es ist wahr, dass im großen und ganzen, PHP ist viel mehr permissive Sprache, und einige Aufgaben erfüllt werden können, schneller und mit weniger code. PHP hat sicherlich weniger gebaut-in der Abstraktion als Java ist. Aber wenn Sie bequem mit Java, würde ich sagen, stick mit.
(Ich sage das als PHP-Entwickler.)
IMHO, wenn Sie wissen, java, JPA verwenden.
Wenn Sie möchten, um etwas neues zu lernen und schnelles prototyping, die Verwendung von python/django.
Gibt es eine riesige Menge an Unterschied zwischen der syntax, phuilosophy und Umsetzung der 2 Sprachen. Ich würde vorschlagen, dass "macht den Zugriff auf die DB-Protokolle viel einfacher" ist kein besonders guter Grund, in isolation für die Auswahl einer Sprache über eine andere stellen.
Mein hintergrund ist der eines PHP-Programmierer, aber ich habe derzeit unterstützen wir mehrere große web-Anwendungen in Java. Wenn Sie ausgehend von der gleichen Stelle mit beiden Sprachen, dann würde ich auf jeden Fall zugunsten von PHP über Java - aber eine vollständige Diskussion über die Gründe, warum würde eine Menge mehr Zeit und Raum als sind hier verfügbar. Allerdings, wenn Sie bereits starke Java Kenntnisse, dann müssen Sie abwägen, die Kosten für den Erwerb der Fähigkeiten in PHP - aufgrund der Unterschiede in der Art, wie diese Systeme funktionieren, du wirst finden, Ihre Kenntnisse von Java, wie viel von einem Hindernis als ein Vorteil bei der Erreichung Kenntnisse in PHP.
Anderen Faktoren, die ich würde vorschlagen, Sie haben einen Blick auf sind:
1) Architektur - PHP erfordert weit besseres Verständnis der zugrunde liegenden Protokolle als Java (wo eine Menge von Funktionen ist durch libs/frameworks)
2) einfache Bereitstellung
3) performance-überlegungen - mit einem opcode-cache bedeutet, der Unterschied zwischen einem einfachen Programm-geschrieben in Java-und PHP-ist gering, da die ersteren sind in der Regel im inneren sehr komplexen frameworks, PHP kann oft einen Vorteil haben. Es ist sicherlich nicht die gleiche Komplexität für Speicher mngmnt
4) TCO - PHPs Benutzerfreundlichkeit ist ein zweischneidiges Schwert - Sie brauchen, um wissen eine Menge über Java, nur um ein Programm läuft, aber die Welt und sein Hund denken, Sie, guten code zu schreiben in PHP. IME seine schwieriger zu finden, kompetente PHP Programmierer als Java-Programmierer.
Für mich kommt es auf die Leistung. Wenn man sich an PHP-es wurde sicherlich eingesetzt, die auf sehr großen Plattformen (Facebook verwendet er fast nur am Anfang), aber es wird im Allgemeinen verwendet auf kleinere Plattformen. Java für mich, wenn man es so betrachtet ist die Skalierbarkeit Vorteile überlegen ist, aber nur wenn Sie wissen, dass Sie gehen, um zu skalieren.
Verständnis der zugrunde liegenden Lebenszyklus einer Anfrage ist sehr wichtig. Das heißt, zu wissen, was eine Java-container ist, und wie einem Tomcat-server läuft, hat mir geholfen, zu verstehen, enorm die Auswirkungen auf die Leistung.
Nicht versuchen, wählen einen über den anderen über einzelne Attribute, wie etwa "ease of coding" oder "database connectivity"- Sie sind unterschiedlich genug, dass durch die Konzentration auf nur ein paar "wichtige" Dinge, die Sie im wesentlichen die Auswahl auf der Grundlage von einseitigen Informationen. Das heißt, PHP macht es einfacher, eine Verbindung zu einer DB, wenn man Sie anschaut, die auf einer Oberfläche Ebene- "Ugh! Ich habe die Installation von einer JDBC -, wtf ist das???", etc - aber das ist der faule Entschuldigung. Es gibt nichts, Java kann das nicht tun, die PHP können (ich bin mir dessen bewusst).
Für mich die Frage ist, wie Sie realistisch (Lesen: realistisch) finden Ihre Anwendung arbeiten - Sie planen, auf immer Tausende von besuchen pro Stunde oder sprechen Sie hundert Zugriffe pro Tag, wie die überwiegende Mehrheit der wenig Projekte es gibt?
Die Vorteile von PHP auf kleinere Projekte, vor allem für die Programmierer, die Sie nicht vollständig begreifen, OOP Architektur, sind enorm - aber nicht faul und nur PHP, weil es einfacher aus der box. Java ist sehr leistungsfähig und einfach durch das lernen, Sie können lernen Sie mehr, als Sie realisiert, die Sie nicht wissen über OOP und gute Programmiertechniken im Allgemeinen (wenn Sie kommen aus der selbst-gelehrt, Reich, wie ich es Tue).
Grundsätzlich würde ich sagen, analysieren Sie Ihre geschätzte Projekt laden, plus ramp-up-Zeit, wenn Sie lernen, ein oder anderen, der Beurteilung Ihrer Effizienz und Skalierbarkeit-Anforderungen, halten Sie Fragen, und dann entscheiden, welche Plattform besser ist.
Hoffe, das hilft....!
PHP können Sie eine Menge von web-Dinge mit weniger Aufwand und mit weniger code als Java funktioniert, ich denke (und ich bin nur reden über meine eigenen Erfahrungen - es gibt immer einige, die sagen, Sie "Verwenden Sie Java, PHP ist Mist" und es gibt diejenigen, die dir sagen "PHP ist so viel besser als Java". Hören Sie nicht auf uns, probieren Sie es einfach oder du wirst es nie wissen!). Ich habe eine Menge von Java-Zeug, aber so weit wie web-apps sind betroffen, ich bin nicht glücklich mit ihm. Für die meisten unserer Kunden, ist es nicht möglich, auf Java, so dass ich don ' T haben, dass viel von einer Wahl sowieso.
Gibt es einige gute PHP-frameworks gibt (Yii-zum Beispiel, die ich am meisten mag) und wirklich gute orms als Lehre oder aktiv aufnehmen. Wenn Sie die Sprache zu lernen und sind daran interessiert, agile Entwicklung, auch darüber nachdenken, Ruby (Ruby on Rails) oder Python (Django), weil diese sind die coolen kids in der Stadt 🙂
Gut, das eigentliche Problem hier ist, dass Sie benötigen Bibliotheken, um Ihre Arbeit zu erleichtern. JVM als Plattform hat viele mehr Möglichkeiten als PHP, wenn aus keinem anderen Grund, als Sie hybridisieren Ihre Anwendung mit eingebetteten Sprachen. Auch Überwintern ist fantastisch, wie ein ORM (Object Relational Mapping), grundsätzlich nehmen Sie Ihre Tabellen und Sie anzusehen, als POJOs.
Wenn Sie tun eine Menge von 'raw' - Sachen, die ich eigentlich gerne mit Fortsetzung, das ist eine Ruby-Bibliothek und funktioniert sehr gut auf JRuby. Im Allgemeinen finde ich, dass die duck-typing/precise code, dass die Menschen gerne über PHP ist absolut reproduzierbar in Ruby über JRuby (oder Jython für Sie Python-Enthusiasten Arten).
Die beste Bibliothek wird bestimmt durch die Funkyness des Schemas, die Sie zu tun haben, neben der Art der Arbeit, die Sie tun. Sie müssen auf viele komplizierte Abfragen, abrufen von Spalten aus mehreren Tabellen auf einmal? Oder ist es mehr entlang den Linien von "ich Brauche zum abrufen aller Bestellungen für einen bestimmten Kunden, und zeigen Sie Sie in einer Reihenfolge, die Geschichte chart"? ORMs sind besser geeignet, um die letztere, die ist, was web-apps sind in der Regel, aber Ihre Erwähnung analysieren macht mich Frage mich, ob es mehr die ehemaligen.
Hibernate bietet Ihnen die größte Flexibilität, finde ich. Es ist nicht eine gute Idee, verwenden Sie automatisch generierte Zeug ohne es überprüfen, aber wenn Sie Eclipse verwenden, gibt es ein plugin, generieren der Klassen für Sie.
Einem anderen Grund zu gehen, mit Java: Wenn man sich die Glassfish-container für Ihre web-Anwendung, hat es gebaut in JDBC-pools für Sie und Sie können Blick auf die Statistik und Verwaltung der pool. Wenn Sie eine Menge von Datenbank-Zugriff, das könnte ziemlich nützlich.
Ich denke, es gibt keine Notwendigkeit für PHP , können Sie gehen nur mit Java.Wenn man bedenkt, dass die Anwendung eine web-Anwendung sein, dann können Sie den Einsatz von PHP.So können Sie es von überall aus zugreifen
Warum nicht beide verwenden? Quercus läuft PHP in Java. Sie können rufen Sie den Java-code, als wenn es native PHP-Funktionen. Sie erhalten das beste aus beiden. Und PHP wird eigentlich schneller laufen als unter Apache.
Ich bin PHP-Programmierer und während der PHP-DB-access-Protokolle, die vielleicht "einfacher" (fraglich), ich würde nicht sagen, dass Sie besser sind. Java verwenden können DB-Verbindungs-pooling " und "persist" Daten, code und Objekte.