Door
Ozzie PHP
op 03-05-2015 00:36
gewijzigd op 03-05-2015 11:20
7.230 views
Hey allemaal,
Wie van jullie heeft ervaring met AngularJs?
Ik heb er een en ander over gelezen en het lijkt me wel interessant. Ik vraag me heel erg af of het een goede vervanging is voor jQuery. Kun je met AngularJs ook bijvoorbeeld mooie menuutjes maken en image sliders en dergelijke?
jQuery is een library, AngularJS een framework. Deze zijn 2 compleet andere begrippen die je niet kunt vergelijken.
Sommige frameworks, zoals FlightJS, gebruiken de jQuery library.
AngularJS (en elke andere JS framework) is leuk als je veel frontend logica in je applicatie hebt, zoals Twitter. In elk ander geval is het hopeloos overbodig.
Het is leuk om mee met de DOM te spelen, maar animaties vallen er zo te zien buiten.
Ikzelf heb me nog niet over te weten halen naar AngularJS. jQuery voldoet prima en heeft een duidelijkere syntax. Misschien heeft AngularJS wel wat voordelen, maar die heb ik nog niet ontdekt.
@Wouter: maar kun je er hetzelfde mee? Ik lees dat er aardig wat voorstanders zijn, vanwege de MVC-aanpak, waar jQuery meer (vrij vertaald) houtje-touwtje oplossingen betreft. Verder begrijp ik dat je met Angular de view direct gebruikt om manipulaties door te voeren, terwijl je met jQuery na het genereren van een view de DOM aanpast. Het lijkt me zelf wel leuk om te gebruiken, maar kun je er ook jQuery dingen mee, dus photosliders e.d. of is het echt vooral logica-werk, data manipulatie?
Animaties zitten ook in angular, alleen niet zo heel uitgebreid
Met angular kan je bv zelf html tags maken, html tags aanpassen,
en logica via html tags in je applicatie brengen.
voor een tabel te maken met gegevens uit een array doe je bv:
<table ng-controller="productsController">
<tr ng-repeat="x in products">
<td>{{x.name}}</td><td>{{x.price}}</td>
</tr>
</table>
www.codeschool.com heeft een angular course(gratis), wat je snel alle basis leert van AngularJS. En codeAcademy is een maandje geleden ook met Angular courses gestart.
jQuery is gemaakt om JavaScript programmeren makkelijker te maken. Het is vooral gefocussed op DOM manipulatie en 90% van de jQuery code bestaat uit het cross-browser compatible maken van hun API.
AngularJS is de hele architectuur van je frontend. Precies zoals je met Symfony of Zend Framework een complete architectuur krijgt voor je backend, die volledig anders is dan als je flat PHP gebruikt. Zo krijg je van AngularJS ook een complete architectuur om Model, View en Controller te scheiden.
Met jQuery ontwerp je een pagina, om vervolgens deze wat op te vrolijken met jQuery. Met AngularJS ontwerp je een architectuur, die je vervolgens opvrolijkt met wat CSS.
Wouter, thanks ... ik snap het nog steeds niet helemaal. Ik lees veel reviews waarin wordt gezegd dat jQuery de bestaande DOM aanpast, waardoor het sowieso wat trager is (omdat het elementen moet zoeken). Angular integreer je in de html waardoor het sneller is. Daarnaast kun je bij angular in een view beter zien waar de interactie op een pagina plaatsvindt, terwijl je dat bij jquery niet kunt zien. Ook lijkt angular wat compacter. Maar wellicht snap ik het dus niet goed. Ik vind dit wel een aardig voorbeeldje.
De angular versie is compacter, en in de html zie je dat er interactie plaatsvindt, terwijl je dat bij de jquery variant niet kunt zien.
Dus waar zit 'm dan nu het verschil. Wat ik tot nu toe zie, kun je met angular "mooier" programmeren, maar wat mis ik dan? Zo'n voorbeeldje als hierboven is toch makkeljk in je website te integreren?
Zoals hierboven gezegd, AngularJS en jQuery kan je niet vergelijken. Het wordt nog leuker als je weet dat er in AngularJS een eigen jQuery implenetatie is ingebouwd. (lees de nuttige dingen van jQuery in een compacate library)
Jouw verglijkingsvoorbeeld is eigenlijk een beetje absurd, omdat je een heeeeel klein deeltje van Angular vergelijkt met een redelijk groot deel van jQuery. Nogmaals AngularJS is niet bedoeld als alternatief voor jQuery.
Dankjewel LEDfan, maar ik hoor nu vooral dat het niet hetzelfde is ... maar kun je in het kort dan uitleggen wat het verschil is? Wanneer gebruik je het een en wanneer het ander? Dat jquery lite in angularjs zit had ik inderdaad al gelezen. Ik lees vooral dat angular de "solide" oplossing is, en jquery meer bedoeld is voor het snellere "knutselwerk".
Maar stel ik wil een photo slider of iets dergelijks maken. Is angular daar dan niet voor bedoeld?
Nee, Angular is niet bedoeld voor een photo slider. Je kan het er voor gebruiken, maar echt handig zal het niet zjin. Stel je wilt een photo slider in een groter geheel (bv. een webshop) en die webshop is geschreven in AngularJS dan zal die photo slider ook wel in Angular gemaakt worden. Maar waarschijnlijk worden de echte animaties gemaakt met oftewel CSS transitions oftewel een jQuery plugin.
Je moet echt eens die video kijken :) En eens kijken wat voor apps er op die laatste link staan.