Beste Antwort
Um ehrlich zu sein, sollten Sie einfache / mittlere serverseitige Skripte erstellen Gehen Sie für PhP. Es ist eines der besten Server-Skripte, die es gibt, zweifellos! Es ist die beliebteste serverseitige Sprache aller Zeiten!
Wenn Sie mit immensen Belastungen wie Facebook oder Google umgehen möchten, sollten Sie sich mit Python Scripting befassen. Oder verwenden Sie sogar die C-Programmierung auf der Serverseite.
Hier finden Sie eine Übersicht über häufig verwendete serverseitige Sprachen
CGI / Perl
Perl gibt es schon länger als das World Wide Web. Version 1 wurde am 18. Dezember 1987 veröffentlicht, ein volles Jahrzehnt , bevor die anderen in diesem Artikel behandelten Sprachen überhaupt konzipiert wurden! Wenn Sie mit diesem Thema noch nicht vertraut sind, fragen Sie sich wahrscheinlich , wie eine serverseitige Webentwicklungssprache vor dem Web selbst existiert haben könnte. Sie sehen, Perl wurde nicht als Webentwicklungssprache erstellt. Perl ist in der Tat eine Mehrzweck-Skriptsprache, die für Aufgaben entwickelt wurde, die viel Textmanipulation erfordern. Perl ist sehr gut darin, Textstücke aus verschiedenen Quellen zu jonglieren und zu vollständigen Dokumenten zu kombinieren. Genau das ist bei der serverseitigen Webentwicklung erforderlich. In den anderthalb Jahrzehnten seit seiner Erstellung wurde Perl mithilfe von -Modulen erweitert, die manchmal komplex sind und in die Sprache integriert werden können, um sie anzupassen es zu verschiedenen speziellen Zwecken. Ein solcher Zweck ist die Erstellung dynamischer Webinhalte über das Common Gateway Interface (CGI), das von der überwiegenden Mehrheit der Webserver unterstützt wird. CGI ist ein Standardmittel, mit dem die Webserver-Software die Anforderung eines Browsers nach einer Webseite an ein beliebiges Programm weiterleiten kann. Um ehrlich zu sein, CGI-Programme können (und wurden gelegentlich) bei Bedarf in C / C ++ geschrieben werden. Mit seiner bequemen Handhabung von Text war Perl jedoch immer besser für den Job geeignet, und jetzt, da Perl mit dem integrierten Modul CGI.pm ausgestattet ist, sind die meisten Die wichtigsten Details der Bearbeitung von Dingen wie dem Senden von HTML-Formularen werden für Sie erledigt. Als letzten Segen wurde das Comprehensive Perl Archive Network (CPAN) gegründet, um eine zentrale Quelle für Add-In-Module, Beispielskripte und in einigen Fällen vollständig bereitzustellen entwickelte Webanwendungen. Heutzutage sind Perl-Versionen auf allen gängigen Betriebssystemen kostenlos verfügbar (von Windows bis zur dunkelsten Unix-Variante). Wenn Sie etwas Kompliziertes tun möchten, hat wahrscheinlich bereits jemand ein Modul geschrieben, um Ihnen die Arbeit zu erleichtern . Der einzige Nachteil dieser Sprache ist, dass sie, da sie nicht speziell für die Webentwicklung entwickelt wurde, weder hinsichtlich Geschwindigkeit, Skalierbarkeit noch Benutzerfreundlichkeit in einer Webservereinstellung optimiert wurde. Es gibt viel einfachere Sprachen zu lernen, die in der Webentwicklung genauso viel bewirken können, aber Perl lässt Sie bei Bedarf auch viel mehr als nur Webentwicklung. Vorteile:
- Eine ausgereifte Sprache mit mehr als einem Jahrzehnt Geschichte. In Perl treten weniger Fehler auf als in Perl in jeder anderen serverseitigen Sprache.
- Es ist KOSTENLOS, obwohl ein gutes Buch, das Ihnen die Seile zeigt, Sie möglicherweise ein wenig zurückdrängt.
- Die meisten guten Webhosts unterstützen Perl, also Sie Wahrscheinlich müssen Sie für das Hosting keine zusätzlichen Kosten zahlen.
- Ein riesiges Netzwerk engagierter Perl-Entwickler auf der ganzen Welt steht Ihnen zur Verfügung. Sie beantworten nicht nur Ihre Fragen in unzähligen Perl-Diskussionsgruppen und Mailinglisten, sondern das CPAN-Archiv (unter anderem) bietet Ihnen zahlreiche Beispiele, anhand derer Sie arbeiten können.
Nachteile:
- Obwohl einige Optionen zur Verbesserung der Situation vorhanden sind, lässt sich Perl auf ausgelasteten Servern nicht besonders gut skalieren. Wenn Sie eine Webanwendung erstellen möchten, die in kurzer Zeit viele Treffer erzielen kann, sollten Sie sich anderswo umsehen.
- Perl ist bekannt dafür, dass es fünf verschiedene Möglichkeiten gibt, selbst das zu tun Die einfachste Sache, die es schwierig machen kann, von der Arbeit anderer zu lernen, wenn sie nicht die Methode anwenden, die Sie gewohnt sind. Darüber hinaus sind Perl-Entwickler dafür berüchtigt, den kürzesten Weg zum Schreiben eines bestimmten Programms zu finden. Daher kann es Sie überraschen, wenn Sie sich ein Beispielskript ansehen und feststellen, dass ein vollständiges E-Commerce-Warenkorbskript in drei Codezeilen geschrieben wurde, von denen die meisten ist Squiggles und Backslashes.
- Perl ist für die Unix-Plattform optimiert, auf der es erstellt wurde. Wenn Sie also erwarten, auf einem Windows-Server zu arbeiten, haben Sie wahrscheinlich eine bessere Auswahl an Leistung.
li> Perl ist Open Source-Software, was bedeutet, dass es keine formale Unterstützung dafür gibt.Trotz der riesigen Support-Community, auf die Sie zugreifen können, können Sie sich nur auf sich selbst verlassen, wenn etwas schief geht.
Zielentwickler : Die meisten Webentwickler, die heute noch mit Perl arbeiten, sind Unix-Administratoren und Benutzer, die Perl auch in anderen Bereichen ihres Systems einsetzen. Für Menschen wie diese ist Perl ein beruhigendes Tool, mit dem man sich immer verlassen kann. Wenn Sie ein unerfahrener Entwickler sind, der vor der Aufgabe steht, eine Site zu verwalten, die ursprünglich in Perl geschrieben wurde, holen Sie sich ein paar gute Bücher und bereiten Sie sich darauf vor, eine hinzuzufügen Ein wirklich mächtiges Werkzeug für Ihr Arsenal.
ASP
Bevor wir weiter gehen, wollen wir den Puristen da draußen etwas aus dem Weg räumen. Microsoft Active Server Pages (ASP) ist keine Sprache. ASP ist vielmehr ein Framework, mit dem Sie eine von mehreren Skriptsprachen (wobei VBScript und JavaScript die beliebtesten Optionen sind) mit einem erweiterbaren Satz von Softwarekomponenten kombinieren können . Diese Komponenten werden von der Skriptsprache Ihrer Wahl als Objekte behandelt, wenn sie als Teil des ASP-Frameworks verwendet werden. Die Leistungsfähigkeit von ASP liegt im Wesentlichen in der Fähigkeit, relativ einfache Skriptsprachen wie VBScript und JavaScript mit leistungsstarken Softwarekomponenten zu kombinieren, die normalerweise von C / C ++ – Entwicklern verwendet werden. Okay, das ist das Verkaufsargument von Microsoft. Stellen wir uns nun den Fakten: Für alle praktischen Zwecke könnte ASP genauso gut eine Sprache sein. Sie haben einfach die Wahl zwischen dem Schreiben von VBScript ASP oder JavaScript ASP. Da der größte Teil des Beispielcodes in VBScript geschrieben ist, ist Ihre Wahl so gut wie für Sie getroffen. Daher wird ASP im Allgemeinen als eine Sprache für die Entwicklung dynamischer Websites mit VBScript angesehen und zeichnet sich unter diesem Dach aus. ASP ist leicht zu erlernen, leistungsstark genug für die meisten serverseitigen Webentwicklungen und in Bezug auf die Leistung recht gut. ASP ist eng mit dem Windows-Betriebssystem (die meisten Softwarekomponenten, auf die sich ASP für seine Funktionalität stützt, sind Windows-spezifisch) und der Webserver-Software von Microsoft Internet Information Services verbunden. Aus diesen Gründen ist es weder praktisch noch wünschenswert, eine auf ASP basierende Website auf einem anderen als einem Windows-basierten Server auszuführen. Wenn Sie Ihren eigenen Webserver einrichten, müssen Sie in eine Kopie von Windows 2000 Server investieren (obwohl ein Großteil von ASP unter Windows 2000 Professional ausgeführt wird, ist IIS auf dieser Plattform nicht so skalierbar). Wenn Sie für Webhosting bezahlen, bedeutet dies, dass Sie für einen Windows-basierten Server bezahlen, was normalerweise teurer ist. Wie auch immer Sie es sehen, ASP kostet Sie Geld, um es auszuführen. Es gibt Versionen von ASP, die auf einem Apache-Server unter Linux ausgeführt werden können. Es sei denn, Sie möchten eine vorhandene ASP-Website auf eine verschieben Linux-Server gibt es wenig Sinn. Ein weiteres Problem für ASP-Entwickler ist die relativ begrenzte Anzahl der mit ASP gebündelten Komponenten. Wenn Sie für Ihre Anwendung lediglich Datenbankkonnektivität, eine Suchmaschine, E-Mail-Bearbeitungsdienste, grundlegende Formularverarbeitung und Sitzungsverfolgung benötigen, ist ASP genau das Richtige für Sie. Für weniger verbreitete Funktionen müssen Sie jedoch normalerweise zusätzliche Softwarekomponenten auf Ihrem Server installieren. Es gibt viele Unternehmen, die Komponenten für die Verwendung mit ASP herstellen, die PDF-Dateien generieren, mit FTP-Servern interagieren, das Hochladen von Binärdateien und viele andere Dinge erledigen. Leider handelt es sich bei diesen Komponenten wie ASP in der Regel um kommerzielle Lösungen, die Sie Geld kosten. Das Beste daran ist, dass ASP eine sehr gut unterstützte Technologie ist, die von der Microsoft-Entwicklergemeinschaft unterstützt wird. MSDN , das Microsoft Development Network bietet eine Fülle von technischen Artikeln und Referenzmaterial für ASP-Entwickler, und die Mitarbeiter des Microsoft-Supports untersuchen gerne alle Probleme, die Sie bei Ihren Entwicklungsbemühungen haben (zu einem Preis). Wenn Sie zu irgendeinem Zeitpunkt unbedingt eine Antwort auf eine Frage benötigen, können Sie sicher sein, dass jemand da ist, dessen Aufgabe es ist, Ihnen die Antwort zu geben. Vorteile:
- Ziemlich einfach zu erlernen, obwohl Programmierung erforderlich ist.
- In Windows 2000 Server integriert – Keine Installationsprobleme.
- Professioneller Support verfügbar.
Nachteile:
- Es ist nicht kostenlos (es sei denn, Sie verwenden bereits einen Windows-Server).
- Für spezielle Funktionen müssen Sie möglicherweise kommerzielle Komponenten erwerben oder diese selbst in C / C ++ oder Visual Basic entwickeln.
- Wenn Sie an die Syntax im C-Stil gewöhnt sind (gemeinsam von C / C ++, Java, Perl, PHP usw.), können Sie die Besonderheiten von VBScript möglicherweise nur schwer in den Griff bekommen.
Zielentwickler: Wenn Sie eine Entwicklung mit VBScript oder Visual Basic durchgeführt haben oder COM-Objekte in Windows entwickelt haben Vorher ist dies definitiv die Webentwicklungsplattform für Sie. Außerdem ist ASP für Nicht-Programmierer so freundlich, wie es eine Programmiersprache nur kann (aber wenn Sie das Programmieren wirklich hassen, schauen Sie sich als nächstes Cold Fusion an). Wenn Sie sich für Ihre Webserverplattform gerne für Windows entscheiden und sich die damit verbundenen Kosten leisten können oder wenn das Unternehmen, für das Sie arbeiten, lediglich die Unterstützung verlangt, die Microsoft bieten kann, ist ASP eine großartige Technologie zum Lernen. Cold Fusion Für den Webdesigner, der noch nie ein Programm geschrieben hat, kann die Wahl der serverseitigen Webentwicklungsplattform gefürchtet sein. Welchen Weg Sie auch gehen, Sie stehen vor einer großen, bösen Programmiersprache, die Sie lernen müssen, und Ihr Kopf fängt gerade an zu schmerzen… Ursprünglich erstellt von Allaire 1995 und kürzlich Cold Fusion wurde von Macromedia gekauft und wurde so konzipiert, dass es anders ist. Anstelle einer Skriptsprache bietet Cold Fusion eine Reihe von Tags zum Lernen. Ja, Tags – genau wie die HTML-Tags, die Sie kennen und lieben gelernt haben! Nehmen wir das Beispiel der Veröffentlichung von Informationen, die in einer Datenbank im Web gespeichert sind. Bei den meisten serverseitigen Sprachen müssen Sie Ihrem Code Code hinzufügen Webseite, um den HTML-Modus zu verlassen, eine Verbindung zur Datenbank herzustellen, die Einträge aus der Datenbank anzufordern, die Sie anzeigen möchten, und die von der Datenbank gesendeten Ergebnisse zu verarbeiten, um sie als Teil der Webseite anzuzeigen Die allgemeine Aufgabe wird mit zwei Tags ausgeführt: einem
- Extrem Einfach zu erlernen – keine Programmierung erforderlich!
- Leistungsstark und sehr skalierbar (die neueste Version unterstützt sowohl softwarebasiertes als auch hardwarebasiertes Server-Clustering).
- Professioneller Support von Macromedia.
- Plattformübergreifend.
Nachteile:
- Teuer einzustellen Richten Sie Ihren eigenen Server ein: Cold Fusion Server Professional 5.0 kostet 1.295 US-Dollar.
- Programmierer mögen die tagbasierten Entwicklungsmethoden möglicherweise nicht.
Zielentwickler: Webdesigner, die mit HTML vertraut sind, aber ihr Repertoire um serverseitige Kenntnisse erweitern müssen, ohne eine Programmiersprache lernen zu müssen. Aus Sicht eines durchschnittlichen Entwicklers ist das Erlernen von Cold Fusion wie das Erlernen einiger neuer Tags. Nicht-Designer werden sich wahrscheinlich auch auf die Ordentlichkeit der serverseitigen Programmierung mit Tags einstellen. Wenn Sie also das Debuggen Ihrer serverseitigen Skripte satt haben, ist Cold Fusion möglicherweise einen Blick wert!
PHP
PHP ist ein relativer Neuling auf dem Gebiet der serverseitigen Entwicklung und hat mit seiner Funktion eine große Anhängerschaft unter Programmierern erlangt vertraute Syntax und umfassende Funktionsbibliothek. Die relativ einfache Syntax und der niedrige, niedrige Preis (kostenlos!) Haben es für neue Entwickler zu einer attraktiven Alternative zu Microsoft ASP gemacht. PHP wurde von einigen als „Perl-Killer“ der serverseitigen Scripting-Welt bezeichnet. Für die Zwecke der Webentwicklung kann PHP fast alles tun, was Perl kann, und dies normalerweise schneller und einfacher. Im Gegensatz zu Perl, das normalerweise als CGI-Programm ausgeführt wird, das vom Webserver aufgerufen wird, um jede Seitenanforderung zu verarbeiten, kann PHP in Ihren Webserver integriert werden, sodass es viel effizienter arbeitet.PHP ist eine äußerst leistungsfähige Sprache mit einer Vielzahl integrierter Funktionen, mit denen Sie alles von der Verfolgung von Benutzersitzungen bis zur sofortigen Generierung dynamischer Grafiken und sogar PDF-Dateien erledigen können! Keine Module zu installieren, keine kommerziellen Add-Ins zu kaufen … PHP erledigt alles selbst! Die einzige Schwäche von PHP besteht darin, dass es relativ schwierig ist, die Sprache zu erweitern, um nicht standardmäßige Funktionen hinzuzufügen, die nicht von den integrierten Funktionen verarbeitet werden. Dies erfordert Kenntnisse der C / C ++ – Programmierung und ist nichts für schwache Nerven! Glücklicherweise müssten Sie eine sehr esoterische Webanwendung entwickeln, um Funktionen zu benötigen, die noch nicht in PHP integriert sind. PHP ist eine kostenlose plattformübergreifende Open Source-Software. Es lässt sich in alle wichtigen Webserver aller wichtigen Betriebssysteme integrieren. Dies ist ein großer Segen für Entwickler mit kleinem Budget, da sie einen vollständigen Linux-basierten Webserver mit PHP-Unterstützung einrichten können und keinen Cent für Software bezahlen müssen! Der Nachteil dabei ist natürlich, dass es keine formelle Unterstützung für Probleme gibt, die bei PHP auftreten können. Da PHP eine so neue und aktiv entwickelte Technologie ist, gibt es in den neuesten Versionen immer noch gelegentlich Fehler. Lassen Sie sich jedoch nicht von diesen Problemen abschrecken – PHP verfügt über eine äußerst aktive Benutzergemeinschaft (ein großer Teil davon befindet sich in unseren eigenen SitePoint-Foren !) das ist immer bemüht, Ihnen bei Stolpersteinen zu helfen, und die aktuellen Versionen von PHP sind ziemlich stabil und zuverlässig. Vorteile:
- Ziemlich einfach zu erlernen, insbesondere für Entwickler mit C / C ++ -, Java- oder Perl-Erfahrung.
- Aktive Benutzergemeinschaft, die bereit ist, Ihnen beim Einstieg zu helfen.
- Alles ist direkt in die Sprache integriert.
- Es ist kostenlos!
- Plattformübergreifend .
Nachteile:
- Diese Sprache wurde programmiererfreundlich gestaltet. Dies macht es leider etwas weniger freundlich für Nicht-Programmierer.
Zielentwickler: Webentwickler mit kleinem Budget, die Spaß haben einfache Programmierung (zB JavaScript), oder es macht nichts aus zu lernen, wie. PHP bietet Ihnen viel Leistung bei relativ einfacher Codestruktur, ist jedoch möglicherweise nicht für sehr hochwertige Anwendungen geeignet, die von den integrierten Funktionen von PHP nicht unterstützt werden.
Java
Java ist heute wohl die leistungsstärkste Plattform für die serverseitige Webentwicklung. Von kleinen Java-Programmen (Servlets), die Webseitenanforderungen verarbeiten, über JavaServer Pages (JSPs), die HTML mit benutzerdefinierten Tags und Java-Code kombinieren, bis hin zu Enterprise JavaBeans (EJBs), Softwarekomponenten mit ausgefeilten Fähigkeiten, Informationen nahtlos zwischen Servern und zu übertragen Java ist eine wirklich heiße Technologie, um verteilte Anwendungen unterzubringen. Ein erfahrener Java-Webentwickler kann problemlos Gehälter von mehr als 100.000 US-Dollar pro Jahr erzielen. Wie zu erwarten, gibt es dafür einen Grund: Java ist nicht einfach zu erlernen! Im Gegensatz zu Skriptsprachen wie Perl, ASP und PHP ist Java eine vollwertige Programmiersprache, die große Programme schreiben kann! Jemand mit ein wenig Programmiererfahrung könnte erwarten, in ein oder zwei Monaten mit Hilfe eines guten Buches Kenntnisse der Java-Sprache zu erlernen, und in einem weiteren Monat könnte er wahrscheinlich die Grundlagen der einfachen serverseitigen Programmierung erlernen mit Java. Wenn Sie an einer Karriere in der serverseitigen Programmierung interessiert sind, scheint das nicht viel zu sein, aber wenn Sie nur schnell etwas zum Laufen bringen möchten, kann eine einfachere Sprache wie PHP Sie in einer Woche oder in Betrieb nehmen Weniger! Java ist bekannt für seine WORA-Philosophie (Write One, Run Anywhere), und Java kann auf allen wichtigen Webservern und allen wichtigen Betriebssystemen ausgeführt werden. Java-Webanwendungen können auch in Standarddateien für das Webanwendungsarchiv (.WAR) gebündelt werden, die dann auf jedem Java-fähigen Webserver unabhängig von der Plattform installiert werden können. Die Hersteller von Java planten, diesen Mechanismus zur Verteilung kommerzieller Webanwendungen zur Verwendung auf Java-Webservern zu verwenden. Nach meiner Erfahrung handelt es sich bei Java-Webanwendungen jedoch eher um maßgeschneiderte Lösungen für komplexe Probleme als um verkaufbare Lösungen, die Sie online kaufen können. Viele verschiedene Anbieter stellen Plug-Ins her, mit denen Webserver wie Apache und IIS Java-Webanwendungen ausführen können. Während die meisten von ihnen für den persönlichen Gebrauch und die Entwicklung kostenlos sind, muss der Großteil bezahlt werden, bevor Sie sie für kommerzielle Zwecke verwenden können Webseite. Vorteile:
- Extrem leistungsstark und skalierbar.
- Plattformübergreifend.
- Die meisten Java-Server-Plugins sind für persönliche und Entwicklungszwecke kostenlos.
Nachteile:
- Das Erlernen von Java erfordert viel Arbeit.Beginnen Sie nicht einmal, wenn Sie nicht ernsthaft objektorientierte Programmierung lernen möchten.
- Die meisten Java-Server-Plugins müssen bezahlt werden, wenn sie zum Hosten einer kommerziellen Website verwendet werden sollen.
/ ul>
Zielentwickler: Seriöse Entwickler, die ein Höchstmaß an Leistung, Flexibilität und Skalierbarkeit für ihre Webanwendungen wünschen und nichts dagegen haben, dafür zu bezahlen in Schweiß, Tränen und Entwicklungszeit. Zusammenfassung In diesem Artikel haben wir uns mit den relativen Funktionen, Vorteilen und Nachteilen aller heute verfügbaren wichtigen serverseitigen Entwicklungsoptionen befasst:
- Perl : Eine ausgereifte, plattformübergreifende Sprache, die schwer zu verstehen sein kann.
- ASP : Microsofts leistungsstarkes Windows-basiertes Framework
- Cold Fusion : Eine leistungsstarke, tagbasierte Option für Nicht-Programmierer
- PHP : Eine plattformübergreifende Open-Source-Alternative mit vielen integrierten Funktionen
- Java : ultimative Leistung und Flexibilität für ernsthafte Programmierer
Prost
Antwort
PHP ist nur eine serverseitige Skriptsprache. Jede Programmiersprache kann als Alternative verwendet werden, solange eine Server-Software verfügbar ist, die dies unterstützt. Sie können Python für Django, JavaScript für Node.JS, ASP .Net für IIS, Java für Tomcat, Php für Apache und viele mehr verwenden Ich habe es noch nicht verwendet.
Mein persönlicher Favorit ist ASP .net MVC, da ich das leistungsstarke Visual Studio zum Codieren und C # verwenden kann. Ich mag PHP nicht, nur weil es keine sehr gute IDE hat (wahrscheinlich habe ich nie eine bekommen), die so leistungsfähig ist wie Visual Studio und zum größten Teil ist PHP immer noch prozedural. Ich habe die meiste Zeit meiner Karriere in objektorientierten Sprachen codiert, und Skripte in prozeduralen Sprachen scheinen mir zu archaisch. Ich hasse JS sogar dafür, aber zumindest ist jQuery da, um die meisten meiner Probleme zu lösen.
Es ist nur mein Gefühl, dass PHP die Struktur fehlt, die für ein großes Projekt benötigt wird. Ja, das weiß ich Facebook verwendet PHP, aber es ist stark angepasst und sie haben talentierte Ingenieure, um ihre eigenen Frameworks und IDEs zu erstellen. Ich habe sogar Frameworks wie CodeIgniter und CakePHP ausprobiert. Obwohl sie sicherlich besser sind als das Schreiben von rohem PHP-Code, können sie das nicht vergleichen Luxus beim Schreiben von C # -Code.