Wat zijn de alternatieven van PHP, indien aanwezig?

Beste antwoord

Eerlijk gezegd, als je op zoek bent naar eenvoudige / middelgrote server-side scripting, dan zou je dat moeten doen ga voor PhP. Het is een van de beste serverscripts die er is, zonder twijfel! Het is de meest populaire server-side taal ooit!

Als je immense ladingen zoals Facebook of Google wilt verwerken, dan zou je Python Scripting moeten bekijken. Of zelfs door C-programmering aan de serverkant te gebruiken.

Hier is een lijst van veelgebruikte serverkant-talen

CGI / Perl

Perl bestaat al langer dan het World Wide Web zelf. Versie 1 werd uitgebracht op 18 december 1987, een volledig decennium voordat de andere talen die in dit artikel worden behandeld, zelfs maar werden bedacht! Als dit voor u nieuw is, vraagt ​​u zich waarschijnlijk af hoe een server-side webontwikkelingstaal zou kunnen bestaan ​​vóór het web zelf. U ziet, Perl is niet gemaakt als een taal voor webontwikkeling. Perl is in feite een multifunctionele scripttaal die is ontworpen om taken uit te voeren die veel tekstmanipulatie met zich meebrengen. Perl is erg goed in het jongleren van stukjes tekst uit verschillende bronnen en het combineren ervan tot complete documenten, en dat is precies wat er bij server-side webontwikkeling komt kijken. In de anderhalf decennium sinds de oprichting is Perl uitgebreid door middel van modules , stukjes soms complexe functionaliteit die in de taal kunnen worden ingeplugd om aan te passen het voor verschillende gespecialiseerde doeleinden. Een van die doelen is het creëren van dynamische webcontent via de Common Gateway Interface (CGI) die door de overgrote meerderheid van webservers wordt ondersteund. CGI is een standaardmiddel waarmee de webserversoftware het verzoek van een browser om een ​​webpagina aan elk programma kan doorgeven. De waarheid is dat CGI-programmas indien nodig (en zijn dat ook geweest) in C / C ++ kunnen worden geschreven. Met zijn gemakkelijke omgang met tekst is Perl echter altijd beter geschikt geweest voor de taak, en nu Perl wordt geleverd met de ingebouwde CGI.pm -module, zijn de meeste van de essentiële details van het afhandelen van zaken als het indienen van HTML-formulieren worden voor u afgehandeld. Als laatste zegen werd het Comprehensive Perl Archive Network (CPAN) opgericht om een ​​gecentraliseerde bron te bieden voor invoegtoepassingen, voorbeeldscripts en in sommige gevallen volledig ontwikkelde webapplicaties. Tegenwoordig zijn versies van Perl gratis beschikbaar op alle grote besturingssystemen (van reguliere Windows tot de meest obscure Unix-variant), en als je het iets ingewikkelds wilt laten doen, is de kans groot dat iemand al een module heeft geschreven om je werk gemakkelijker te maken . Het enige nadeel van deze taal is dat deze, aangezien deze niet speciaal voor webontwikkeling is gebouwd, niet is geoptimaliseerd voor snelheid, schaalbaarheid of gebruiksgemak in een webserveromgeving. Er zijn veel gemakkelijkere talen om te leren die net zo goed kunnen doen op het gebied van webontwikkeling, maar Perl laat je ook veel meer doen dan alleen webontwikkeling als dat nodig is. Voordelen:

  • Een volwassen taal met meer dan een decennium aan geschiedenis, je zult minder snel bugs tegenkomen in Perl dan in een andere server-side taal.
  • Het is GRATIS, hoewel een goed boek om u de kneepjes van het vak te laten u een beetje kan terugbrengen.
  • De meeste goede webhosts ondersteunen Perl, dus u zal waarschijnlijk niet extra hoeven te betalen voor hosting.
  • Een uitgebreid netwerk van toegewijde Perl-ontwikkelaars over de hele wereld staat tot uw beschikking. Ze zullen niet alleen uw vragen beantwoorden in talloze Perl-discussiegroepen en mailinglijsten, maar het CPAN-archief (onder andere) geeft u ook tal van voorbeelden om mee te werken.

Nadelen:

  • Hoewel er enkele opties bestaan ​​om de situatie te verbeteren, schaalt Perl niet bijzonder goed op drukke servers. Als u een webtoepassing wilt maken die in korte tijd veel hits kan verwerken, wilt u misschien ergens anders zoeken.
  • Perl is berucht omdat het vijf verschillende manieren heeft om zelfs de eenvoudigste ding, dat het leren van het werk van anderen moeilijk kan maken als ze niet dezelfde methode hebben gebruikt die u gewend bent te zien. Bovendien zijn Perl-ontwikkelaars berucht omdat ze de kortste manier vinden om een ​​bepaald programma te schrijven, dus het zal je misschien verbazen als je alleen naar een voorbeeldscript kijkt om te ontdekken dat een compleet e-commerce-winkelwagentje-script is geschreven in drie regels code, waarvan de meeste is squiggles en backslashes.
  • Perl is geoptimaliseerd voor het Unix-platform waarop het is gemaakt, dus als je verwacht te werken op een Windows-server, heb je waarschijnlijk betere keuzes qua prestaties.
  • Perl is Open Source-software, wat betekent dat er geen formele ondersteuning voor is.Ondanks de enorme ondersteuningsgemeenschap die voor u beschikbaar is, bent u de enige persoon waarop u echt kunt rekenen als er iets misgaat.

Doelontwikkelaar : De meeste webontwikkelaars die tegenwoordig nog steeds met Perl werken, zijn meestal Unix-beheerders en gebruikers die Perl ook in andere delen van hun systeem aan het werk zetten. Voor mensen als deze is Perl een geruststellende ‘ga overal heen, doe alles’ tool waarop je altijd kunt vertrouwen. Als je een onervaren ontwikkelaar bent die voor de taak staat een site te onderhouden die oorspronkelijk in Perl is geschreven, pak dan een paar goede boeken en bereid je voor om een echt krachtig hulpmiddel voor uw arsenaal.

ASP

Laten we, voordat we verder gaan, iets uit de weg ruimen voor de puristen die er zijn. Microsoft Active Server Pages (ASP) is geen taal. ASP is eerder een raamwerk waarmee u een van een aantal scripttalen (VBScript en JavaScript zijn de meest populaire keuzes) kunt combineren met een uitbreidbare set software componenten . Deze componenten worden als objecten behandeld door de scripttaal van uw keuze wanneer deze wordt gebruikt als onderdeel van het ASP-framework. In wezen ligt de kracht van ASP in het vermogen om relatief eenvoudige scripttalen zoals VBScript en JavaScript te combineren met krachtige softwarecomponenten die normaal gesproken worden gebruikt door C / C ++ – ontwikkelaars. Oké, dat is het verkooppraatje van Microsoft uit de weg. Laten we nu de feiten onder ogen zien: voor alle praktische doeleinden kan ASP net zo goed een taal zijn. U krijgt eenvoudig de keuze tussen het schrijven van VBScript ASP of JavaScript ASP. Aangezien de meeste voorbeeldcode die er is, is geschreven in VBScript, is uw keuze alles behalve voor u gemaakt. ASP wordt dus algemeen beschouwd als een taal voor het ontwikkelen van dynamische websites met VBScript, en onder die paraplu blinkt het uit. ASP is gemakkelijk te leren, krachtig genoeg voor de meeste reguliere server-side webontwikkeling, en qua prestaties redelijk goed. ASP is nauw verbonden met het Windows-besturingssysteem (de meeste softwarecomponenten waarop ASP vertrouwt voor zijn functionaliteit zijn Windows-specifiek) en de Microsoft Internet Information Services-webserversoftware. Om deze redenen is het praktisch noch wenselijk om een ​​op ASP gebaseerde website op iets anders dan een Windows-server te draaien. Als u uw eigen webserver opzet, betekent dit dat u moet investeren in een exemplaar van Windows 2000 Server (hoewel een groot deel van ASP op Windows 2000 Professional draait, is IIS op dat platform niet zo schaalbaar). Als u betaalt voor webhosting, betekent dit dat u betaalt voor een op Windows gebaseerde server, wat meestal duurder is. Hoe je het ook bekijkt, ASP kost je geld om te draaien. Er zijn versies van ASP die kunnen worden uitgevoerd op een Apache-server die onder Linux draait, maar tenzij het je specifieke doel is om een ​​bestaande ASP-website naar een Linux-server, het heeft weinig zin. Een andere zorg voor ASP-ontwikkelaars is de relatief beperkte aard van de componenten die bij ASP worden geleverd. Als u voor uw toepassing alleen databaseconnectiviteit, een zoekmachine, e-mailafhandelingsservices, basisformulierenverwerking en sessietracering nodig hebt, dan is ASP prima geschikt voor u. Voor elke minder gebruikelijke functionaliteit is het echter nodig dat u aanvullende softwarecomponenten op uw server installeert. Er zijn veel bedrijven die componenten produceren voor gebruik met ASP die PDF-bestanden genereren, communiceren met FTP-servers, binaire bestandsuploads verwerken en vele andere dingen. Helaas zijn deze componenten, zoals ASP, meestal commerciële oplossingen die u geld kosten. Het voordeel van dit alles is dat ASP een zeer goed ondersteunde technologie is, met alle steun van de Microsoft-ontwikkelingsgemeenschap erachter. MSDN , het Microsoft Development Network biedt een schat aan technische artikelen en referentiemateriaal voor ASP-ontwikkelaars, en het ondersteuningspersoneel van Microsoft zal graag eventuele problemen onderzoeken die u ondervindt bij uw ontwikkelingsinspanningen (voor een prijs). Als u op enig moment absoluut een antwoord op een vraag nodig heeft, kunt u er zeker van zijn dat er iemand zal zijn wiens taak het is om u het antwoord te geven. Voordelen:

  • Vrij eenvoudig te leren, hoewel programmeren vereist is.
  • Ingebouwd in Windows 2000 Server – geen installatieproblemen.
  • Professionele ondersteuning beschikbaar.

Nadelen:

  • Het is niet gratis (tenzij u al een Windows-server gebruikt)
  • Voor gespecialiseerde functionaliteit moet u mogelijk commerciële componenten aanschaffen of deze zelf ontwikkelen in C / C ++ of Visual Basic.
  • Als je gewend bent aan syntaxis in C-stijl (gedeeld door C / C ++, Java, Perl, PHP, enz.), vind je de eigenaardigheden van VBScript misschien moeilijk te begrijpen.

Doelontwikkelaar: als je een ontwikkeling hebt gedaan met VBScript of Visual Basic, of COM-objecten hebt ontwikkeld in Windows voorheen, dan is dit zeker het webontwikkelingsplatform voor jou. ASP is ook ongeveer net zo vriendelijk voor niet-programmeurs als een programmeertaal kan krijgen (maar als je echt een hekel hebt aan programmeren, kijk dan eens naar Cold Fusion). Als u zich op uw gemak voelt bij Windows voor uw webserverplatform en u de kosten kunt betalen, of als het bedrijf waarvoor u werkt eenvoudigweg het niveau van ondersteuning vereist dat Microsoft kan bieden, dan is ASP een geweldige technologie om te leren. Cold Fusion Voor de webdesigner die nog nooit een programma heeft geschreven, kan de keuze voor een server-side webontwikkelingsplatform een ​​gevreesde keuze zijn. Welke kant je ook op gaat, je wordt geconfronteerd met een grote, kwaadaardige programmeertaal die je moet leren en je hoofd begint gewoon pijn te doen … Oorspronkelijk gemaakt door Allaire in 1995 en onlangs gekocht door Macromedia , is Cold Fusion ontworpen om anders te zijn. In plaats van een scripttaal, geeft Cold Fusion u een set tags om te leren. Ja, tags – net als de HTML-tags die u hebt leren kennen en waar u van houdt! Laten we het voorbeeld nemen van het publiceren van informatie die is opgeslagen in een database op internet. Bij de overgrote meerderheid van server-side talen moet u code toevoegen aan uw Webpagina om uit de HTML-modus te breken, verbinding te maken met de database, de gegevens op te vragen uit de database die u wilt weergeven en de resultaten te verwerken die de database u stuurt om deze weer te geven als onderdeel van de webpagina. In Cold Fusion is dit gemeenschappelijke taak wordt gedaan met twee tags: een -tag, waarvan de attributen de query een naam geven en aangeven welke informatie moet worden opgehaald uit welke database. Een tweede tag, verwijst naar de query en laat je standaard HTML gebruiken om de resultaten van de zoekopdracht op te maken en weer te geven. Voor de ervaren programmeur klinkt dit op tags gebaseerde systeem misschien beperkend en inflexibel, maar met een ingebouwde bibliotheek van meer dan 300 tags in de nieuwste versie en de mogelijkheid om aangepaste tags toe te voegen met meer traditionele programmeertalen zoals C / C ++ a en Java, Cold Fusion is alles maar beperkend. Cold Fusion 5.0 bevat tags die automatisch grafieken genereren op basis van databasegegevens, naadloos zoekmogelijkheden bieden op uw website en zelfs HTML-formulieren genereren met volledige JavaScript-validatiecode. Voor de ontwerper die gedwongen wordt om server-side vaardigheden te verwerven, komt Cold Fusion met de utopische belofte dat hij slechts een paar nieuwe tags hoeft te leren! Net als ASP is Cold Fusion een commercieel serverplatform, wat betekent dat het u geld kost om het uit te voeren, of u nu uw eigen server opzet of ruimte huurt bij een webhostingprovider. In tegenstelling tot ASP is Cold Fusion echter niet gebonden aan het Windows-platform. Cold Fusion kan net zo gemakkelijk worden geïntegreerd met Apache onder Linux als met IIS op Windows 2000. Voordelen:

  • Extreem gemakkelijk te leren – geen programmering vereist!
  • Krachtig en zeer schaalbaar (de nieuwste versie biedt ondersteuning voor zowel software- als hardwaregebaseerde serverclustering).
  • Professionele ondersteuning van Macromedia.
  • Cross-platform.

Nadelen:

  • Duur om in te stellen je eigen server opzetten: Cold Fusion Server Professional 5.0 kost $ 1.295
  • Programmeurs houden misschien niet van de op tags gebaseerde ontwikkelingsmethoden.

Doelontwikkelaar: Webontwerpers die vertrouwd zijn met HTML, maar servervaardigheden aan hun repertoire moeten toevoegen zonder een programmeertaal te hoeven leren. Vanuit het oogpunt van de gemiddelde ontwikkelaar is het leren van Cold Fusion net als het leren van een aantal nieuwe tags. Niet-ontwerpers zullen waarschijnlijk ook op de hoogte zijn van de netheid van server-side programmeren met tags, dus als je moe bent van het debuggen van je server-side scripts, is Cold Fusion misschien de moeite van het bekijken waard!

PHP

PHP is een relatieve nieuwkomer op het gebied van server-side ontwikkeling en heeft een grote aanhang verworven onder programmeurs met zijn vertrouwde syntaxis en uitgebreide functiebibliotheek. Bovendien hebben de relatief eenvoudige syntaxis en lage, lage prijs (het is gratis!) Ervoor gezorgd dat het een aantrekkelijk alternatief is voor de ASP van Microsoft voor nieuwe ontwikkelaars. PHP is door sommigen genoemd als ‘Perl killer’ van de server-side scripting-wereld. Voor doeleinden van webontwikkeling kan PHP bijna alles doen wat Perl kan, en doet het meestal sneller en gemakkelijker. In tegenstelling tot Perl, dat gewoonlijk wordt uitgevoerd als een CGI-programma dat door de webserver wordt aangeroepen om elk paginabezoek af te handelen, kan PHP worden geïntegreerd met uw webserver zodat het veel efficiënter werkt.PHP is een buitengewoon capabele taal, met een breed scala aan ingebouwde functies om alles te doen, van het volgen van gebruikerssessies tot het genereren van dynamische afbeeldingen en zelfs PDF-bestanden in een handomdraai! Geen modules om te installeren, geen commerciële invoegtoepassingen om te kopen … PHP regelt alles zelf! In feite is zowat de enige zwakte van PHP dat het relatief moeilijk is om de taal uit te breiden om niet-standaard functionaliteit toe te voegen die niet wordt afgehandeld door de ingebouwde functies. Dit vereist kennis van C / C ++ programmeren en is niet voor bangeriken! Gelukkig zou je een zeer esoterische webtoepassing moeten bedenken om functionaliteit te vereisen die nog niet in PHP is ingebouwd. PHP is gratis, platformonafhankelijke open source-software. Het kan worden geïntegreerd met alle grote webservers op alle belangrijke besturingssystemen. Dit is een geweldige zegen voor ontwikkelaars met een beperkt budget, omdat ze een complete Linux-gebaseerde webserver met PHP-ondersteuning kunnen opzetten en geen cent hoeven te betalen voor software! De keerzijde hiervan is natuurlijk dat er geen formele ondersteuning is voor eventuele problemen die u met PHP kunt tegenkomen. Omdat PHP zon nieuwe en actief ontwikkelde technologie is, worden er nog steeds af en toe bugs gevonden in de nieuwste versies. Laat je echter niet afschrikken door deze probleempjes – PHP heeft een extreem actieve gebruikerscommunity (waarvan een groot deel te vinden is in onze eigen SitePoint-forums !) die je altijd graag helpt met eventuele struikelblokken, en de huidige versies van PHP zijn redelijk stabiel en betrouwbaar. Voordelen:

  • Vrij eenvoudig te leren, vooral voor ontwikkelaars met C / C ++, Java of Perl-ervaring.
  • Actieve gebruikersgemeenschap die je wil helpen om aan de slag te gaan.
  • Alles is in de taal ingebouwd.
  • Het is gratis!
  • Platformoverschrijdend .

Nadelen:

  • Deze taal is ontworpen om programmeurvriendelijk te zijn, wat het helaas een beetje minder vriendelijk maakt voor niet-programmeurs.

Doelontwikkelaar: webontwikkelaars met een beperkt budget die genieten van eenvoudig programmeren (bijv. JavaScript), of vind het niet erg om te leren hoe. PHP geeft je veel kracht met een relatief eenvoudige codestructuur, maar is misschien niet geschikt voor zeer geavanceerde toepassingen die niet worden ondersteund door de ingebouwde functies van PHP.

Java

Java is tegenwoordig misschien wel het krachtigste platform voor server-side webontwikkeling. Van kleine Java-programmas (Servlets) die webpaginaverzoeken afhandelen tot JavaServer Pages (JSPs) die HTML combineren met aangepaste tags en Java-code, en zelfs tot Enterprise JavaBeans (EJBs), softwarecomponenten met geavanceerde mogelijkheden om informatie naadloos over servers en netwerken om gedistribueerde applicaties te accommoderen, Java is echt een populaire technologie. Een ervaren Java-webontwikkelaar kan gemakkelijk salarissen van meer dan $ 100.000 per jaar binnenhalen. Zoals je zou verwachten, is daar een reden voor: Java is niet gemakkelijk te leren! In tegenstelling tot scripttalen zoals Perl, ASP en PHP, is Java een volwaardige programmeertaal die volledig in staat is om grote programmas te schrijven! Iemand met een beetje programmeerervaring zou kunnen verwachten dat hij binnen een maand of twee praktische kennis van de Java-taal opdoet met behulp van een goed boek, en over een andere maand zou hij waarschijnlijk in staat zijn om de basisprincipes van eenvoudig server-side programmeren op te pikken met Java. Als je nu geïnteresseerd bent in het maken van carrière in server-side programmeren, dan lijkt dat misschien niet veel, maar als je gewoon iets snel wilt laten werken, kan een eenvoudigere taal zoals PHP je binnen een week of minder! Java staat bekend om zijn Write One, Run Anywhere (WORA) -filosofie en Java kan inderdaad op alle grote webservers en alle belangrijke besturingssystemen worden uitgevoerd. Java-webapplicaties kunnen ook worden gebundeld in standaard Web Application Archive-bestanden (.WAR) die vervolgens op elke Java-compatibele webserver kunnen worden geïnstalleerd, ongeacht het platform. De makers van Java waren van plan dit mechanisme te gebruiken om commerciële webtoepassingen te distribueren voor gebruik op Java-webservers; In mijn ervaring zijn Java-webtoepassingen echter eerder op maat gemaakte oplossingen voor complexe problemen dan verkoopbare oplossingen die u online kunt kopen. Veel verschillende leveranciers produceren de plug-ins waarmee webservers zoals Apache en IIS Java-webtoepassingen kunnen uitvoeren, en hoewel de meeste gratis zijn voor persoonlijk gebruik en ontwikkeling, moet het merendeel worden betaald voordat u ze kunt gebruiken om een ​​commerciële dienst te leveren. Website. Voordelen:

  • Extreem krachtig en schaalbaar.
  • Cross-platform.
  • De meeste Java-serverplug-ins zijn gratis voor persoonlijke en ontwikkelingsdoeleinden.

Nadelen:

  • Java kost veel werk om te leren.Begin niet eens als u niet serieus bent over het leren van objectgeoriënteerd programmeren.
  • Voor de meeste Java-serverplug-ins moet worden betaald als ze worden gebruikt om een ​​commerciële website te hosten.

Doelontwikkelaar: Serieuze ontwikkelaars die de ultieme kracht, flexibiliteit en schaalbaarheid willen voor hun webapplicaties, en het niet erg vinden ervoor te betalen in zweet, tranen en ontwikkelingstijd. Samenvatting In dit artikel hebben we gekeken naar de relatieve kenmerken, voordelen en nadelen van alle belangrijke ontwikkelingsopties aan de serverzijde die vandaag beschikbaar zijn:

  • Perl : een volwassen, platformonafhankelijke taal die moeilijk te begrijpen is
  • ASP : het krachtige, op Windows gebaseerde framework van Microsoft
  • Cold Fusion : een krachtige, op tags gebaseerde optie voor niet-programmeurs
  • PHP : een platformonafhankelijk, open-sourcealternatief met veel ingebouwde functies
  • Java : de ultieme kracht en flexibiliteit, voor serieuze programmeurs

Proost

Antwoord

PHP is slechts een server-side scripttaal. Elke programmeertaal kan als alternatief worden gebruikt, zolang er serversoftware beschikbaar is die dat ondersteunt. U kunt Python gebruiken voor Django, JavaScript voor Node.JS, ASP .Net voor IIS, Java voor Tomcat, Php voor Apache en nog veel meer. Ik heb het nog niet gebruikt.

Mijn persoonlijke favoriet is ASP .net MVC, omdat ik de krachtige Visual Studio kan gebruiken om te coderen en C # kan gebruiken. Ik hou niet van php alleen omdat het geen erg goede IDE heeft (waarschijnlijk heb ik er nooit een gekregen) zo krachtig als Visual Studio en voor het grootste deel is php nog steeds procedureel. Ik heb het grootste deel van mijn carrière gecodeerd in objectgeoriënteerde talen en scripting in procedurele talen lijkt te archaïsch voor mij. Ik haat JS zelfs daarvoor, maar jQuery is er tenminste om de meeste van mijn problemen op te lossen.

Het is gewoon mijn gevoel dat php de structuur mist die nodig is voor een groot project. Ja, dat weet ik facebook gebruikt php, maar het is sterk aangepast en ze hebben getalenteerde ingenieurs om hun eigen framework en IDEs te maken. Ik heb zelfs frameworks geprobeerd zoals CodeIgniter en CakePHP. Hoewel ze zeker beter zijn dan het schrijven van onbewerkte php-code, kunnen ze de luxe om C # -code te schrijven.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *