Tools of the Trade Web Development Frameworks die de profs gebruiken

Nieuwe frameworks voor webontwikkeling, die snelle ontwikkeling beloven en gemakkelijk kunnen worden geïmplementeerd, schieten sneller hun weg dan u kunt bijhouden. In het laatste artikel hebben we gekeken naar de verschillende factoren die u in overweging moet nemen bij het bepalen van een kader. Vandaag gaan we kijken naar de verschillende frameworks die beschikbaar zijn voor elk facet van webontwikkeling.

In deze huidige tijd en leeftijd is het uitdragen van een voltooide, gepolijste applicatie lang voordat uw concurrent centraal staat. Alles vanaf nul coderen, zelfs de alledaagse dingen uitsluiten, kan zeer tijdrovend zijn en de ontwikkelaar doet tijd besteden aan het opnieuw uitvinden van het wiel, tijd die liever wordt besteed aan het implementeren van nieuwe functies of het aanscherpen van de codebasis. Dit is waar webontwikkelingskaders komen.

Vandaag gaan we de verschillende opties bekijken die u hebt bij het kiezen van een framework voor webontwikkeling. We gaan elk type raamwerk behandelen, van serverkaders tot JavaScript-animatieframeworks. Geïntrigeerd? Laten we een kijkje nemen!

Server Side Frameworks

Server side frameworks zijn degene die bijna al het zware werk achter de applicatie doet. Ze behandelen bijna elk aspect van de toepassing, van URL-afhandeling tot databasetoegang. Je hebt verschillende opties voor elk platform. Kortheidshalve zullen we vandaag alleen de meest populaire bekijken.

CakePHP

CakePHP is een zeer populair PHP-raamwerk dat is geïnspireerd op Ruby on Rails en waarmee u met gemak toepassingen kunt ontwikkelen, onderhouden en implementeren.

Dit raamwerk maakt gebruik van het MVC-patroon en heeft een groot aantal essentiële functies, zoals ORM, steigers en URL-routing. De ingebouwde bibliotheken zijn behoorlijk uitgebreid en bevatten helpers voor het genereren van RSS-feeds en HTML-elementen.

Er is weinig tot geen configuratie nodig om het op gang te krijgen en heeft een uitstekende community en gedetailleerde documentatie erachter.

CodeIgniter

CodeIgniter is een PHP-framework gebouwd op de principes van eenvoud, snelheid en een kleine voetafdruk en behoort daarmee tot de kleinste PHP-bibliotheken in termen van de totale footprint.

Van de frameworks die zijn gebouwd op het MVC-patroon, is CI het gemakkelijkst te leren. Als je een PHP-programmeur bent voor beginners, is CodeIgniter de beste plaats om mee te beginnen.

Omdat het zo klein mogelijk wil zijn, zijn de bibliotheken niet zo volwaardig als Cake, maar de uiterst grondige documentatie en de zeer vriendelijke community maken dit meer dan goed.

Kohana

Kohana is een vork van CodeIgniter bedoeld om alleen met PHP 5 te werken. Kohana is volledig community-driven en elke wijziging wordt grondig besproken en doorgelicht in de gemeenschap.

Alle positieve aspecten van CI zijn hier aanwezig, behalve dat de documentatie relatief kan ontbreken. Maar het heeft een bloeiende gemeenschap achter de rug waar je terecht kunt als je fouten tegenkomt.

Zend

Zend framework is meer een lijmraamwerk omdat dingen niet zo nauw zijn gekoppeld als in andere frameworks zoals RoR of CakePHP. Als zodanig geeft het je ook veel meer controle.

Dit framework biedt een van de meest complete verzameling hulpprogramma's die u kunt gebruiken in uw toepassing. Maar omdat dit een verzameling van klassen is dan een goed raamwerk, zul je veel configuraties bekijken om het te laten werken. Als je eraan denkt om als een PHP-programmeur te beginnen, is dit niet het eerste kader dat je zou moeten proberen.

Dat gezegd hebbende, het heeft uitstekende documentatie en een zeer grote gemeenschap erachter.

symfony

Symfony is nog een ander zeer populair, feature-packed PHP-framework. Het biedt een solide kern en wordt geleverd met een aantal externe bibliotheken om de lege plekken in te vullen.

Dit wordt voornamelijk op de markt gebracht als een bedrijfsraamwerk en heeft solide documentatie en een bloeiende gemeenschap om u te helpen.

ASP.NET

Met ASP.NET kunt u het MVC-patroon gebruiken via ASP.NET MVC. Hiermee kunnen ontwikkelaars het geaccepteerde MVC-patroon gebruiken in hun applicaties. Of als u ervoor kiest om MVC volledig te negeren en te gebruiken zoals u dat normaal zou willen doen.

Het wordt geleverd met een zeer indrukwekkende reeks functies, waaronder bibliotheken voor het genereren van codes. Het heeft ook een zeer grondige documentatie en een gastvrije gemeenschap erachter.

Ruby on Rails

Ruby on Rails is een raamwerk voor het Ruby-platform en is gemaakt door David Hansson tijdens het maken van Basecamp voor 37Signals. Ruby on Rails heeft een ongelooflijke groei doorgemaakt sinds het werd uitgebracht.

RoR gebruikt het MVC-patroon en biedt een aantal functies, waaronder een complete ORM, steigers en URL-rewriting. Ruby gebruikt standaard Prototype als JavaScript-bibliotheek.

De ongelooflijke groei van Ruby kan worden toegeschreven aan het gemak van ontwikkeling en de rijke functieset. Configuratie is over het algemeen minimaal tot niets. Het heeft goede documentatie en een groeiende gemeenschap.

Django

Django is een webontwikkelingskader op basis van Python en behoort tot de meest robuuste op het Python-platform.

Django wordt geleverd met een uitgebreide bibliotheek met tools voor caching, serialisatie en authenticatie. Het biedt zelfs een eenvoudige beheerdersinterface op basis van uw modellen en controllers. Het URL-herschrijfmechanisme is een beetje anders omdat het reguliere expressie gebruikt om op te lossen welke controller het moet gebruiken.

Het heeft een uiterst grondige documentatie om het te ondersteunen, samen met een behulpzame, beleefde gemeenschap. Een beginner Python-programmeur neemt heel gemakkelijk Django.

pylonen

border = "0" />

Net als Zend is dit een zeer losjes gekoppeld raamwerk dat een aantal bibliotheken van derde partijen lijpt om functionaliteit te bieden.

In Pylons kan elk aspect worden uitgeschakeld met degene die je leuk vindt. Alles van het vertalen van taal naar zijn ORM kan met minimale drukte worden uitgeschakeld.

Wat functies betreft, hangt dit rechtstreeks af van de afzonderlijke componenten die u kiest voor uw project. Documentatie kan relatief ontbreken en de community is ook een beetje kleiner.

TurboGears

Net als Kohana en CodeIgniter is Turbogears bovenop Pylons gebouwd. Het deelt dezelfde voor- en nadelen als Pylons.

Net als bij Pylons kan elk onderdeel van het raamwerk worden vervangen door een van uw eigen keuze. Momenteel gebruikt het alleen Pylonen voor zijn controllercomponent.

JavaScript-frameworks

JavaScript-kaders werken bijna uitsluitend aan de kant van de browser. Met een standaardraamwerk kunt u eenvoudiger door de DOM navigeren, de inhoud ervan bewerken tot AJAX-integratie. Er zijn ook een aantal widgetbibliotheken waarmee u specifieke elementen van de gebruikersinterface in uw toepassing kunt gebruiken in plaats van ze helemaal zelf te maken.

jQuery

jQuery is een zeer populaire bibliotheek die zich voornamelijk richt op DOM-manipulatie. Het heeft een uitgebreide API die een reeks functionaliteiten omvat, van DOM traversal tot AJAX-ondersteuning.

Het heeft zeer goede documentatie met een overvloed aan tutorials, screencasts, referenties en boeken om door te nemen. De community is behoorlijk groot en erg behulpzaam.

Als u nog niet bekend bent met JavaScript en zo snel mogelijk moet beginnen, is jQuery een uitstekende keuze.

Prototype

Prototype behoort tot de oudste JS-bibliotheken en is als zodanig zeer volwassen en stabiel. Het wordt geleverd met Ruby on Rails en als onderdeel van de standaard OS X-installatie.

Het biedt een duidelijke API voor alle functionaliteit die het blootlegt en heeft duidelijke documentatie om het allemaal te ondersteunen. Prototype biedt ook verschillende methoden waarmee u code op basis van schone klassen kunt schrijven. Prototype verwerkt alles van DOM-manipulatie tot AJAX tot een aantal gebruiksmethoden.

MooTools

Mootools presenteert zichzelf als de ideale oplossing voor de gemiddelde tot gevorderde programmeur. Het richt zich op JavaScript als een taal en breidt zich er zoveel mogelijk uit.

Het biedt net als Prototype een robuust systeem voor het maken van klassen, en biedt net als de andere een coherente API voor alle functionaliteit die het biedt.

De documentatie kan soms nogal tekort schieten, maar de actieve gemeenschap maakt dit meer dan goed.

Yahoo UI

Yahoo UI-bibliotheek is een soort bibliotheek in het Zwitserse leger omdat het een complete set functies en widgets biedt waarmee je de applicatie kunt bouwen die je wilt bouwen. Het is gebouwd door de ontwikkelaars bij Yahoo zelf.

In YUI bevat de kernbibliotheek alle essentiële elementen, waaronder DOM-traversal en CSS-manipulatie, terwijl de hulpprogramma's en widgets optioneel zijn en afzonderlijk beschikbaar zijn.

YUI heeft de meest grondige documentatie onder JavaScript en is gemakkelijk om mee te beginnen.

dojo

Dojo is nog een andere JS-toolkit die alles biedt wat je zou verwachten van een moderne JS-bibliotheek, inclusief een selector-engine, AJAX-integratie en ga zo maar door.

Het biedt ook een reeks rijke interface-elementen en een aantal geavanceerde functies zoals permanente verbindingen en offline opslag. Dojo heeft een zeer grondige documentatie en een bloeiende gemeenschap.

CSS-kaders

CSS-frameworks zorgen ervoor dat u, wanneer correct gebruikt, de ontwikkelingstijd verkort door een aantal herhaalde verklaringen en styling te beperken.

CSS-frameworks kunnen een aardig polariserend onderwerp zijn in de ontwikkelingsgemeenschap, maar je bent het aan jezelf verplicht om het eens te proberen.

960grid

Het grid-systeem 960 is bedoeld om uw workflow te vereenvoudigen zonder de zaken te compliceren. Er zijn 12 en 16 kolommenversies voor extra keuzes.

Het biedt een CSS-generator om uw ontwikkelingstijd nog korter te maken. Het heeft ook vooraf gemaakte sjablonen voor gebruik in populaire software, waaronder Photoshop, Fireworks, Illustrator en Expression Design.

YAML

YAML, Yet Another Multi column Layout, is een CSS-framework waarmee u robuuste op kolommen gebaseerde en / of op rasters gebaseerde lay-outs kunt maken op basis van webstandaarden.

Het heeft ook een handige tool voor het maken van YAML CSS-code. De documentatie is behoorlijk grondig en de gemeenschap, behulpzaam.

BluePrint

Blueprint is een CSS-raamwerk dat van plan is om de tijd die u besteedt aan piekeren over roosters en opvulling te verminderen. Het maakt gebruik van een solide raster, ondersteuning voor typografie en afdrukondersteuning.

Het beschikt over wiki-gebaseerde documentatie en bug-tracking. Het beschikt over een actieve gemeenschap waar u uw vragen kunt plaatsen.

YUI Grids

Nog een andere Yahoo-producten op de lijst. YUI Grids biedt ondersteuning voor meerdere breedten, vloeiende lay-outs, plaatsing van flexibele elementen en meer.

Net als bij de YUI JS-bibliotheek is elk deel hiervan grondig gedocumenteerd met veel voorbeelden, voorbeeldcode en schermcasts

Elastisch

Elastic is een zeer eenvoudig raamwerk met ondersteuning voor vaste, vloeibare en elastische lay-outs.

Elastic heeft een groeiende community en behoorlijk goede documentatie.

JS-animatiekaders

Onlangs zijn gespecialiseerde JS-animatiebibliotheken opgedoken met als enige doel een eenvoudigere manier om gebruikersinterfaces te animeren. Laten we de meest populaire bekijken.

Scripty 2 en script.aculo.us

Scripty en script.aculo.us zijn gebaseerd op Prototype en bieden een manier om naadloos content te animeren en bieden een aantal elementen van de gebruikersinterface om te gebruiken in onze applicaties.

fx

fx is een stand-alone JS-bibliotheek die zich uitsluitend richt op animatie. Op deze manier kunt u elke CSS-eigenschap langs een bepaalde tijdslijn animeren.

Het heeft degelijke documentatie en is extreem klein bij minder dan 4 kb.

GX

gx is een cross-browser-framework dat zich opnieuw uitsluitend op animatie richt. Het heeft een aantal zeer indrukwekkende functies, waaronder versnelling, vertraagde animatie en vooraf gedefinieerde animatieregels.

Omdat het relatief nieuw is, ontbreekt de documentatie een beetje en is de community moeilijk te vinden. Maar het is buitengewoon indrukwekkend en zeker een keer proberen.

Processing.js

Processing.js is gebouwd op het canvas-element en geschreven door John Resig. Hiermee kunt u elementen tekenen en deze vervolgens op het canvaselement manipuleren.

Omdat het een verwerkingshaven is voor de JS-taal, deelt het de meeste voordelen, waaronder krachtige ondersteuningsanimatiemogelijkheden en vormondersteuning.

jsAnim

jsAnim is nog een andere animatiebibliotheek waarmee u zeer indrukwekkende animaties kunt maken. Het voorbeeld op de voorpagina zelf is een prachtig voorbeeld van wat ermee gedaan kan worden.

Het weegt zwaarder 25 kilobytes in vergelijking met 3.7 voor fx maar heeft veel functies. De documentatie is vrij eenvoudig en zou u een goed idee van de basis moeten geven.

Raphael

Raphael is een kleine bibliotheek waarmee je met vectorelementen op je webpagina kunt werken. Het gebruikt SVG of VML zoals nodig om de grafische weergave te genereren.

Het is extreem robuust en levert buitengewoon indrukwekkende resultaten op. Een kijkje in de demo-pagina's geeft u een idee van waar het toe in staat is.

De documentatie is behoorlijk grondig en de discussiegroep is ook behoorlijk actief.

Conclusie

En we zijn klaar! We hebben gekeken naar alle keuzes die u heeft wanneer u een webontwikkelingskader moet kiezen. We hebben gekeken naar alle soorten frameworks, van gigantische server side frameworks tot wendbare JS-animatiekaders. Hopelijk was dit nuttig voor jou en je vond het interessant.

Vragen? Leuke dingen om te zeggen? Kritiek? Klik op het gedeelte Opmerkingen en laat een opmerking achter. Happy codering!

  • Volg ons op Twitter of abonneer je op de Nettuts + RSS Feed voor de beste tutorials voor webontwikkeling op internet. Klaar

Klaar om je vaardigheden naar een hoger niveau te tillen, en te profiteren van je scripts en componenten? Bekijk onze zustermarktplaats, CodeCanyon.