• Kajel
  • Registratie: Oktober 2004
  • Laatst online: 24-09 14:02

Kajel

Development in Style

Topicstarter
Dag allen!

Ik ben sinds kort wat aan het rondneuzen in .NET (mijn achtergrond is Scala/Python/Java) en wil graag een webapp bouwen in C# met ASP.NET MVC. Nu ben ik benieuwd welke Javascript/clientside frameworks er goed passen bij ASP.NET MVC. Ik besef dat je feitelijk natuurlijk elk JS framework zou kunnen gebruiken met ASP.NET MVC, maar ik kan me voorstellen dat qua best practices en architectuur bepaalde frameworks beter samen gaan met ASP.NET dan andere
Dus de vraag aan ervaren .NET engineers is: wat gebruiken jullie het liefst als JS framework voor jullie ASP.NET MVC apps, en waarom?

Bij voorbaat dank!

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02 08:07
Dat hangt ook weer helemaal vanaf wat je wilt bouwen ;)
Persoonlijk vind ik JS frameworks overrated, nog uit een tijd dat pageload relatief veel tijd vergde om een pagina te renderen. Kortom tenzij er geen noodzaak toe is, zou ik ook niet zomaar een JS framework inzetten.

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 23:51
jQuery krijg je trouwens al cadeau als je een nieuw MVC project start vanuit Visual Studio.
Er is ook een SPA template aanwezig. Daar krijg je Knockout bij (http://knockoutjs.com/) voor zover ik weet.
Uit eigen ervaring kan ik melden dat AngularJS (https://angularjs.org/) ook heerlijk werkt icm .NET MVC :)

[Voor 4% gewijzigd door InZane op 18-11-2015 14:09]


  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 27-11 19:45
InZane schreef op woensdag 18 november 2015 @ 14:08:
Uit eigen ervaring kan ik melden dat AngularJS (https://angularjs.org/) ook heerlijk werkt icm .NET MVC :)
Neem aan dat je dan wel WebAPI gebruikt en zo'n beetje alles van Razor links laat liggen?

Knockout is het makkelijkst omdat je daarbij direct je MVC model kan binden in JS.

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 23:51
Megamind schreef op woensdag 18 november 2015 @ 22:00:
[...]

Neem aan dat je dan wel WebAPI gebruikt en zo'n beetje alles van Razor links laat liggen?

Knockout is het makkelijkst omdat je daarbij direct je MVC model kan binden in JS.
Dan gebruik ik inderdaad Web API voor het asynchroon ophalen van data icm AngularJS. Razor is dan inderdaad zo goed als buitenspel.

Model binding gaat trouwens ook heel soepel met Angular.

  • FeronIT
  • Registratie: Mei 2015
  • Laatst online: 05-12 10:05
Zelf kies ik, zeker voor kleinere applicatie, vaak voor lichtere frameworks. Voor mijn urenregistratie heb ik gebruik gemaakt van VUE.JS, wat prima beviel. In het hele project ben ik nergens tegenaan gelopen waarvan ik dacht "jammer, dit voelt als een hack".
Voor de dataoverdracht zou je ook eens naar signalR kunnen kijken, dat is ook erg mooi (en ingebakken bij VS)

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 01:42
raptorix schreef op woensdag 18 november 2015 @ 13:40:
Dat hangt ook weer helemaal vanaf wat je wilt bouwen ;)
Persoonlijk vind ik JS frameworks overrated, nog uit een tijd dat pageload relatief veel tijd vergde om een pagina te renderen. Kortom tenzij er geen noodzaak toe is, zou ik ook niet zomaar een JS framework inzetten.
Hangt er vanaf wat je als 'framework' classificeert. jQuery poetst bijv. een heel grote hoeveelheid bugs en inconsistencies in de DOM implementaties van alle grote browser families weg. (En nee; niet alleen IE. In jQuery 2.x zijn het voornamelijk problemen met Webkit...)

Als je zelf die bende af zou moeten gaan handelen ga je daar geheid met mindere oplosssingen voor komen, dus zoiets is nog steeds zeer relevant voor een boel projecten.
Kajel schreef op maandag 16 november 2015 @ 20:44:
ik kan me voorstellen dat qua best practices en architectuur bepaalde frameworks beter samen gaan met ASP.NET dan andere
Eigenlijk niet echt. Vanwege het zeer open karakter van het MVC framework is het mogelijk om zo ongeveer alles er bovenop te draaien aan de client kant. Het enige wat echt opvalt en er positief uit springt is SignalR als abstractie voor Websockets + fallbacks. En dat is omdat SignalR voor ASP.NET MVC ook een server-side kant geregeld heeft.

En er is ook een negatief dat er uitspringt, maar niet direct opvalt: jQuery.validate en dan met name de lijmlaag voor client-side validatie op basis van jQuery.valdiate die Microsoft out-of-the-box aan draagt. Deze deugt nl. van geen kanten wanneer je forms hebt waar je dynamisch velden aan toevoegt of uit weghaalt. Leidt enkel tot een tranendal van gedupliceerde event handlers en memory/scope leaks.

[Voor 37% gewijzigd door R4gnax op 19-11-2015 00:08]


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 01:41
Megamind schreef op woensdag 18 november 2015 @ 22:00:
[...]
Knockout is het makkelijkst omdat je daarbij direct je MVC model kan binden in JS.
Zo heb ik het niet ervaren. In mijn ervaring was ik alleen m'n model opnieuw aan het maken in JS. In sommige toepassingen wel bruikbaar maar niet altijd.
Jij hebt het waarschijnlijk over knockoutmvc, dat genereert JS models adv je C# model inderdaad. Ook mee gespeeld maar is het ook niet.
Mijn conclusie: er bestaat geen clientside Framework dat je "zomaar in mvc kan droppen"

Roomba E5 te koop


  • Kajel
  • Registratie: Oktober 2004
  • Laatst online: 24-09 14:02

Kajel

Development in Style

Topicstarter
Dank voor alle reacties! Ik besef dat JS framework keuze ook afhangt van het soort app wat je bouwt, maar ik dacht dat er misschien verregaande integraties waren tussen bepaalde JS frameworks en MVC. Knockoutmvc is daar wel een voorbeeld van idd. Misschien dat ik daar eens naar ga kijken.

jQuery zal ik sowieso wel gaan gebruiken, al is het maar vanwege het wegpoetsen van browser incompatibilities waar R4gnax het over had.

  • treinentom
  • Registratie: September 2010
  • Laatst online: 22:45
Ik gebruik zelf React om de V component te vervangen. Ideaal, want het houdt zich alleen bezig met de View. AngularJS doet nog allerlei magie op de achtergrond, waar je bij React geen last van hebt. Ik kan het je zeker aanraden!

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02 08:07
R4gnax schreef op donderdag 19 november 2015 @ 00:00:
[...]


Hangt er vanaf wat je als 'framework' classificeert. jQuery poetst bijv. een heel grote hoeveelheid bugs en inconsistencies in de DOM implementaties van alle grote browser families weg. (En nee; niet alleen IE. In jQuery 2.x zijn het voornamelijk problemen met Webkit...)

Als je zelf die bende af zou moeten gaan handelen ga je daar geheid met mindere oplosssingen voor komen, dus zoiets is nog steeds zeer relevant voor een boel projecten.
Grappig, deze discussie hadden we toevallig van de week op ons bedrijfsforum, de discussie begon gelijk al of JQuery een framework of een library is ;)
Ik denk dat JQuery als abstractielaag best een goed idee is, echter de noodzaak zal de komende jaren wel af gaan nemen denk ik.

  • Jogai
  • Registratie: Juni 2004
  • Laatst online: 23:42
R4gnax schreef op donderdag 19 november 2015 @ 00:00:

[...]

En er is ook een negatief dat er uitspringt, maar niet direct opvalt: jQuery.validate en dan met name de lijmlaag voor client-side validatie op basis van jQuery.valdiate die Microsoft out-of-the-box aan draagt. Deze deugt nl. van geen kanten wanneer je forms hebt waar je dynamisch velden aan toevoegt of uit weghaalt. Leidt enkel tot een tranendal van gedupliceerde event handlers en memory/scope leaks.
Mooi gezegd! Ook een oplossing voor?

Wat de vraag betreft, ik moet ook nog een keuze maken, maar neig wel erg naar aurelia. Verschillende mensen die het tot tevredenheid icm asp.net 5 gebruiken.

"only by myth-making, only by becoming 'sub-creator' and inventing stories, can Man aspire to the state of perfection" - Tolkien


  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 01:42
Jogai schreef op donderdag 19 november 2015 @ 20:10:
Mooi gezegd! Ook een oplossing voor?
Zelf een lijmlaag schrijven tussen de data-* attributen die ASP.NET MVC Unobtrusive validation op je input elementen wegschrijft en het validatie framework van je keuze. Dat is niet eens zo heel moeilijk. Het kost alleen tijd om helemaal uit te werken

[Voor 5% gewijzigd door R4gnax op 19-11-2015 20:42]


  • Amanush
  • Registratie: Mei 2012
  • Laatst online: 28-11 10:31

Amanush

Saai persoon.

Kijk eens naar React :).

Ga tot de luiaard, gij mier! Zie haar wegen en wordt wijs.


  • Corniel
  • Registratie: April 2002
  • Laatst online: 29-03-2021

Corniel

De wereld is gek!

InZane schreef op woensdag 18 november 2015 @ 22:06:

Dan gebruik ik inderdaad Web API voor het asynchroon ophalen van data icm AngularJS. Razor is dan inderdaad zo goed als buitenspel.

Model binding gaat trouwens ook heel soepel met Angular.
Heeft ook mijn voorkeur. WebAPI stelt je in staat om mooie REST-full services te bouwen, en met AngularJS (of Ember, als dat je voorkeur heeft) kan je rijke clients bouwen.Het enige waar je natuurlijk met zo'n opzet voor moet waken is dat je alle input ook op de server controleert: NEVER trust the client.

while (me.Alive) {
me.KickAss();
}

Pagina: 1



Google Pixel 7 Sony WH-1000XM5 Apple iPhone 14 Samsung Galaxy Watch5, 44mm Sonic Frontiers Samsung Galaxy Z Fold4 Insta360 X3 Nintendo Switch Lite

Tweakers is samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer onderdeel van DPG Media B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee