[{"data":1,"prerenderedAt":823},["ShallowReactive",2],{"collection-blogs--1230998821":3,"_apollo:default":822},{"data":4,"meta":819},[5],{"id":6,"title":7,"excerpt":8,"slug":9,"createdAt":10,"updatedAt":11,"publishedAt":12,"backDate":13,"documentId":14,"imageUrl":15,"expertises":58,"author":551,"blocks":577,"seo":780},163,"Betere prestaties en leesbaardere code met Control Flow in Angular 18","Je wil dat jouw team efficiënt kan werken met technologieën die niet alleen nu, maar ook op lange termijn waarde leveren. Angular 18, uitgebracht in mei 2024, introduceert een belangrijke nieuwe feature die direct invloed heeft op de productiviteit en het beheer van jullie applicatie: de Control Flow API. Deze nieuwe template-syntax biedt aanzienlijke prestatieverbeteringen en maakt de code beter leesbaar en makkelijker te onderhouden. De overgang naar deze nieuwe aanpak is bovendien volledig backwards-compatible, waardoor je geen grote risico’s loopt in bestaande applicaties.","Betere-prestaties-en-leesbaardere-code-met-Control-Flow-in-angular-18","2024-11-14T11:06:07.425Z","2025-12-16T13:35:42.290Z","2025-12-16T13:35:42.274Z","2024-11-19","z31a3yux1jak0o22liinvmxp",{"id":16,"name":17,"alternativeText":18,"caption":18,"width":19,"height":20,"formats":21,"hash":51,"ext":23,"mime":26,"size":52,"url":53,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":55,"updatedAt":55,"documentId":56,"publishedAt":57},871,"header control flow.jpg",null,1280,500,{"large":22,"small":31,"medium":37,"thumbnail":44},{"ext":23,"url":24,"hash":25,"mime":26,"name":27,"path":18,"size":28,"width":29,"height":30},".jpg","https://incredible-beef-2a6059b946.media.strapiapp.com/large_header_control_flow_f202b970c0.jpg","large_header_control_flow_f202b970c0","image/jpeg","large_header control flow.jpg",57.07,1000,391,{"ext":23,"url":32,"hash":33,"mime":26,"name":34,"path":18,"size":35,"width":20,"height":36},"https://incredible-beef-2a6059b946.media.strapiapp.com/small_header_control_flow_f202b970c0.jpg","small_header_control_flow_f202b970c0","small_header control flow.jpg",17.2,195,{"ext":23,"url":38,"hash":39,"mime":26,"name":40,"path":18,"size":41,"width":42,"height":43},"https://incredible-beef-2a6059b946.media.strapiapp.com/medium_header_control_flow_f202b970c0.jpg","medium_header_control_flow_f202b970c0","medium_header control flow.jpg",34.26,750,293,{"ext":23,"url":45,"hash":46,"mime":26,"name":47,"path":18,"size":48,"width":49,"height":50},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_header_control_flow_f202b970c0.jpg","thumbnail_header_control_flow_f202b970c0","thumbnail_header control flow.jpg",5.22,245,96,"header_control_flow_f202b970c0",88.2,"https://incredible-beef-2a6059b946.media.strapiapp.com/header_control_flow_f202b970c0.jpg","strapi-provider-upload-strapi-cloud","2024-11-14T10:57:29.691Z","vavnqln3vb9uqiizmqg9tldt","2026-01-05T12:38:34.018Z",[59,292],{"id":60,"title":61,"subTitle":62,"description":63,"shortDescription":64,"slug":65,"createdAt":66,"updatedAt":67,"publishedAt":68,"isCoreExpertise":69,"documentId":70,"image":71,"blocks":90,"midPageBlocks":162,"seo":18},2,"Front-End","Steeds complexer en steeds belangrijker","In een online wereld vol moderne webapplicaties is een goede Front-End onmisbaar. Het is nodig om aan de behoeften en verwachtingen van de gebruikers te voldoen. De interactie voor de gebruiker moet daarbij zo snel en optimaal mogelijk zijn. Met trots kunnen wij zeggen dat juist dáár de kracht van onze Front-End Developers zit.\n\nOnze ervaren Developers staan klaar om jouw team te versterken en te zorgen voor een optimale gebruikerservaring. Of je nu een tijdelijke aanvulling op je team nodig hebt of op zoek bent naar gespecialiseerde kennis voor een specifiek project, onze Front-End Developers zijn uitgerust om de uitdagingen van onze klanten aan te gaan en hun doelen te bereiken.","Onze Front-End developers zijn bedreven in diverse programmeertalen, frameworks en methodieken en daardoor breed inzetbaar.","front-end","2023-08-17T09:50:12.632Z","2024-12-13T12:15:57.609Z","2023-08-17T09:50:14.418Z",false,"l6bdicvjcb7ue03zpciuc888",{"id":72,"name":73,"alternativeText":18,"caption":18,"width":74,"height":75,"formats":76,"hash":85,"ext":78,"mime":81,"size":86,"url":87,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":88,"updatedAt":88,"documentId":89,"publishedAt":57},15,"frontend.png",282,130,{"thumbnail":77},{"ext":78,"url":79,"hash":80,"mime":81,"name":82,"path":18,"size":83,"width":49,"height":84},".png","https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_frontend_d8fa4dbfc1.png","thumbnail_frontend_d8fa4dbfc1","image/png","thumbnail_frontend.png",5.3,113,"frontend_d8fa4dbfc1",1.19,"https://incredible-beef-2a6059b946.media.strapiapp.com/frontend_d8fa4dbfc1.png","2023-08-17T09:47:56.273Z","gyo35xg1rnualaf1vog9edz8",[91,139],{"__component":92,"id":93,"title":94,"aside":95,"postType":96,"limit":97,"expertise":98},"strapi.related-kennisbank-list",161,"Lees meer over Front-End Development","Onze blogs","alle",3,[99],{"id":60,"title":61,"subTitle":62,"description":63,"shortDescription":64,"slug":65,"createdAt":66,"updatedAt":67,"publishedAt":68,"isCoreExpertise":69,"documentId":70,"image":100,"blocks":103,"midPageBlocks":114,"seo":18},{"id":72,"name":73,"alternativeText":18,"caption":18,"width":74,"height":75,"formats":101,"hash":85,"ext":78,"mime":81,"size":86,"url":87,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":88,"updatedAt":88,"documentId":89,"publishedAt":57},{"thumbnail":102},{"ext":78,"url":79,"hash":80,"mime":81,"name":82,"path":18,"size":83,"width":49,"height":84},[104,105],{"__component":92,"id":93,"title":94,"aside":95,"postType":96,"limit":97},{"__component":106,"id":107,"titleLeft":108,"callToActionTextLeft":109,"callToActionLinkUrlLeft":110,"titleRight":111,"callToActionTextRight":112,"callToActionLinkUrlRight":113},"call-to-action.double",210,"Heb je een Front-End Developer nodig?","Neem contact met ons op","/contact","Zoek je een nieuwe baan?","Bekijk onze vacatures","/word-onze-collega/vacatures",[115,121,125,129,133],{"__component":116,"id":117,"title":118,"subTitle":18,"content":119,"callToActionText":120,"callToActionLink":110,"colorStyle":18,"showAsides":18},"global.alternating-page-section",20,"Experts in verschillende frameworks","De huidige markt wordt al enige jaren gedomineerd door de drie grote Front-End frameworks: Angular, Vue en React. Voor elk framework hebben wij experts die altijd up-to-date blijven van de laatste ontwikkelingen. Hierdoor kunnen wij aan alle wensen voldoen. Het houdt de interactie binnen het team ook levendig; we sparren vaak en organiseren regelmatig LevelUp-sessies om elkaar op de hoogte te houden.","Neem contact op voor de mogelijkheden",{"__component":116,"id":122,"title":123,"subTitle":18,"content":124,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18},22,"Meer dan HTML, CSS en Javascript","Over het algemeen bestaat een Front-End framework uit HTML, CSS en Javascript, maar als Front-End competence in een multidisciplinaire agile omgeving doen we steeds meer. Of het nu gaat om de integratie van middleware zoals GraphQL of het inrichten van een pipeline voor productie- en staging-omgevingen. Wij weten wat we ermee moeten doen. Onze experts zijn zeer bekwaam en ervaren in de samenwerking met UX-designers. Door het gebruik van design patterns en design tokens zorgen ze voor een naadloze integratie van ontwerp naar ontwikkeling.",{"__component":116,"id":126,"title":127,"subTitle":18,"content":128,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18},21,"Kennis up-to-date","De Front-End Developers krijgen ruim de mogelijkheid om hun kennis up-to-date te houden door trainingen te volgen en evenementen te bezoeken. Maar wat is leerzamer dan de opgedane kennis in de praktijk brengen? Daarvoor hebben we binnen ShareValue een aantal interne projecten lopen zoals de herbouw van onze website met Nuxt met een Strapi CMS, en de ontwikkeling van een eigen CV-generator met Angular. De kennis die onze experts opdoen, delen zij regelmatig in blogs.",{"__component":116,"id":130,"title":131,"subTitle":18,"content":132,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18},23,"Full-Stack Development","Onze Developers zijn niet alleen experts in Front-End technieken, maar ook getraind in .NET en Azure. Dit verbreedt hun vaardigheden en maakt hen volwaardige Full-Stack Developers. Wat natuurlijk niet wegneemt dat wij trots zijn op onze specialistische kennis als Front-End Developers. ",{"__component":134,"id":135,"title":136,"callToActionText":137,"callToActionLinkUrl":138,"body":18},"call-to-action.single",100,"Wil je weten wat onze collega's allemaal kunnen?","Lees de klantcase over ons werk bij Rovict","/klantcases/rovict-vernieuwt-leerlingadministratie-en-leerlingvolgsysteem-esis",{"__component":106,"id":107,"titleLeft":108,"callToActionTextLeft":109,"callToActionLinkUrlLeft":110,"titleRight":111,"callToActionTextRight":112,"callToActionLinkUrlRight":113,"iconUrlLeft":140,"iconUrlRight":153},{"id":141,"name":142,"alternativeText":18,"caption":18,"width":143,"height":144,"formats":18,"hash":145,"ext":146,"mime":147,"size":148,"url":149,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":150,"updatedAt":151,"documentId":152,"publishedAt":57},6,"bulb.svg",71,70,"bulb_dd2e1d4efb",".svg","image/svg+xml",3.75,"https://incredible-beef-2a6059b946.media.strapiapp.com/bulb_dd2e1d4efb.svg","2023-08-17T08:31:37.036Z","2025-04-01T14:08:08.648Z","l2lglwkh4lf7ip36sjvs42rc",{"id":154,"name":155,"alternativeText":18,"caption":18,"width":144,"height":144,"formats":18,"hash":156,"ext":146,"mime":147,"size":157,"url":158,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":159,"updatedAt":160,"documentId":161,"publishedAt":57},8,"briefcase.svg","briefcase_679abae475",4.49,"https://incredible-beef-2a6059b946.media.strapiapp.com/briefcase_679abae475.svg","2023-08-17T08:31:37.038Z","2025-01-24T15:53:51.531Z","bfdftlvwhj35dm37dzv4aujf",[163,199,229,259,290],{"__component":116,"id":117,"title":118,"subTitle":18,"content":119,"callToActionText":120,"callToActionLink":110,"colorStyle":18,"showAsides":18,"imageUrl":164},{"id":165,"name":166,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":168,"hash":194,"ext":23,"mime":26,"size":195,"url":196,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":197,"updatedAt":197,"documentId":198,"publishedAt":57},775,"development.jpg",850,{"large":169,"small":175,"medium":181,"thumbnail":187},{"ext":23,"url":170,"hash":171,"mime":26,"name":172,"path":18,"size":173,"width":29,"height":174},"https://incredible-beef-2a6059b946.media.strapiapp.com/large_development_eb51c16b40.jpg","large_development_eb51c16b40","large_development.jpg",129.5,664,{"ext":23,"url":176,"hash":177,"mime":26,"name":178,"path":18,"size":179,"width":20,"height":180},"https://incredible-beef-2a6059b946.media.strapiapp.com/small_development_eb51c16b40.jpg","small_development_eb51c16b40","small_development.jpg",47.86,332,{"ext":23,"url":182,"hash":183,"mime":26,"name":184,"path":18,"size":185,"width":42,"height":186},"https://incredible-beef-2a6059b946.media.strapiapp.com/medium_development_eb51c16b40.jpg","medium_development_eb51c16b40","medium_development.jpg",86.06,498,{"ext":23,"url":188,"hash":189,"mime":26,"name":190,"path":18,"size":191,"width":192,"height":193},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_development_eb51c16b40.jpg","thumbnail_development_eb51c16b40","thumbnail_development.jpg",14.65,235,156,"development_eb51c16b40",184.35,"https://incredible-beef-2a6059b946.media.strapiapp.com/development_eb51c16b40.jpg","2024-08-08T08:20:39.044Z","kpowm3xzp131qb3rneasct1x",{"__component":116,"id":122,"title":123,"subTitle":18,"content":124,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18,"imageUrl":200},{"id":201,"name":202,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":203,"hash":224,"ext":23,"mime":26,"size":225,"url":226,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":227,"updatedAt":227,"documentId":228,"publishedAt":57},776,"ux designer.jpg",{"large":204,"small":209,"medium":214,"thumbnail":219},{"ext":23,"url":205,"hash":206,"mime":26,"name":207,"path":18,"size":208,"width":29,"height":174},"https://incredible-beef-2a6059b946.media.strapiapp.com/large_ux_designer_4d22c4e684.jpg","large_ux_designer_4d22c4e684","large_ux designer.jpg",95.41,{"ext":23,"url":210,"hash":211,"mime":26,"name":212,"path":18,"size":213,"width":20,"height":180},"https://incredible-beef-2a6059b946.media.strapiapp.com/small_ux_designer_4d22c4e684.jpg","small_ux_designer_4d22c4e684","small_ux designer.jpg",30.12,{"ext":23,"url":215,"hash":216,"mime":26,"name":217,"path":18,"size":218,"width":42,"height":186},"https://incredible-beef-2a6059b946.media.strapiapp.com/medium_ux_designer_4d22c4e684.jpg","medium_ux_designer_4d22c4e684","medium_ux designer.jpg",59.67,{"ext":23,"url":220,"hash":221,"mime":26,"name":222,"path":18,"size":223,"width":192,"height":193},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_ux_designer_4d22c4e684.jpg","thumbnail_ux_designer_4d22c4e684","thumbnail_ux designer.jpg",8.79,"ux_designer_4d22c4e684",140.45,"https://incredible-beef-2a6059b946.media.strapiapp.com/ux_designer_4d22c4e684.jpg","2024-08-08T08:22:53.444Z","lzicd49svwe2coyrmyxkolub",{"__component":116,"id":126,"title":127,"subTitle":18,"content":128,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18,"imageUrl":230},{"id":231,"name":232,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":233,"hash":254,"ext":23,"mime":26,"size":255,"url":256,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":257,"updatedAt":257,"documentId":258,"publishedAt":57},777,"kennis opdoen.jpg",{"large":234,"small":239,"medium":244,"thumbnail":249},{"ext":23,"url":235,"hash":236,"mime":26,"name":237,"path":18,"size":238,"width":29,"height":174},"https://incredible-beef-2a6059b946.media.strapiapp.com/large_kennis_opdoen_7e45a846f8.jpg","large_kennis_opdoen_7e45a846f8","large_kennis opdoen.jpg",147.32,{"ext":23,"url":240,"hash":241,"mime":26,"name":242,"path":18,"size":243,"width":20,"height":180},"https://incredible-beef-2a6059b946.media.strapiapp.com/small_kennis_opdoen_7e45a846f8.jpg","small_kennis_opdoen_7e45a846f8","small_kennis opdoen.jpg",43.85,{"ext":23,"url":245,"hash":246,"mime":26,"name":247,"path":18,"size":248,"width":42,"height":186},"https://incredible-beef-2a6059b946.media.strapiapp.com/medium_kennis_opdoen_7e45a846f8.jpg","medium_kennis_opdoen_7e45a846f8","medium_kennis opdoen.jpg",90.65,{"ext":23,"url":250,"hash":251,"mime":26,"name":252,"path":18,"size":253,"width":192,"height":193},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_kennis_opdoen_7e45a846f8.jpg","thumbnail_kennis_opdoen_7e45a846f8","thumbnail_kennis opdoen.jpg",10.87,"kennis_opdoen_7e45a846f8",220.32,"https://incredible-beef-2a6059b946.media.strapiapp.com/kennis_opdoen_7e45a846f8.jpg","2024-08-08T08:25:10.656Z","q2bqhg65mnalhkgalkt2o2sq",{"__component":116,"id":130,"title":131,"subTitle":18,"content":132,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18,"imageUrl":260},{"id":261,"name":262,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":263,"hash":284,"ext":23,"mime":26,"size":285,"url":286,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":287,"updatedAt":288,"documentId":289,"publishedAt":57},778,"stack.jpg",{"large":264,"small":269,"medium":274,"thumbnail":279},{"ext":23,"url":265,"hash":266,"mime":26,"name":267,"path":18,"size":268,"width":29,"height":174},"https://incredible-beef-2a6059b946.media.strapiapp.com/large_stack_fec3a2bfae.jpg","large_stack_fec3a2bfae","large_stack.jpg",95.19,{"ext":23,"url":270,"hash":271,"mime":26,"name":272,"path":18,"size":273,"width":20,"height":180},"https://incredible-beef-2a6059b946.media.strapiapp.com/small_stack_fec3a2bfae.jpg","small_stack_fec3a2bfae","small_stack.jpg",29.21,{"ext":23,"url":275,"hash":276,"mime":26,"name":277,"path":18,"size":278,"width":42,"height":186},"https://incredible-beef-2a6059b946.media.strapiapp.com/medium_stack_fec3a2bfae.jpg","medium_stack_fec3a2bfae","medium_stack.jpg",58.57,{"ext":23,"url":280,"hash":281,"mime":26,"name":282,"path":18,"size":283,"width":192,"height":193},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_stack_fec3a2bfae.jpg","thumbnail_stack_fec3a2bfae","thumbnail_stack.jpg",8.24,"stack_fec3a2bfae",143.32,"https://incredible-beef-2a6059b946.media.strapiapp.com/stack_fec3a2bfae.jpg","2024-08-08T08:26:50.506Z","2024-12-09T10:18:46.269Z","kpz9iiz9dr551k3umhmtwy3k",{"__component":134,"id":135,"title":136,"callToActionText":137,"callToActionLinkUrl":138,"body":18,"imageUrl":291},{"id":141,"name":142,"alternativeText":18,"caption":18,"width":143,"height":144,"formats":18,"hash":145,"ext":146,"mime":147,"size":148,"url":149,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":150,"updatedAt":151,"documentId":152,"publishedAt":57},{"id":293,"title":294,"subTitle":295,"description":296,"shortDescription":297,"slug":298,"createdAt":299,"updatedAt":300,"publishedAt":301,"isCoreExpertise":302,"documentId":303,"image":304,"blocks":318,"midPageBlocks":456,"seo":546},10,"Development","Maatwerkoplossingen voor ieder vraagstuk","Ons Development-team biedt oplossingen die de verwachtingen van onze opdrachtgevers overtreffen. Wij zijn experts op het gebied van alle aspecten van Development, wat ons in staat stelt om veelzijdige en schaalbare oplossingen te creëren. Van gebruiksvriendelijke interfaces tot krachtige Back-End-architecturen: wij hebben de kennis en ervaring om jouw project tot een succes te maken.","Ons Development-team biedt oplossingen die de verwachtingen van onze opdrachtgevers overtreffen. Wij zijn experts op het gebied van alle aspecten van Development, wat ons in staat stelt om veelzijdige en schaalbare oplossingen te creëren. ","development","2024-12-13T12:15:40.484Z","2025-04-11T13:13:55.384Z","2024-12-13T12:15:42.976Z",true,"lpzfadokpxn5sdnx9czcdg47",{"id":305,"name":306,"alternativeText":18,"caption":18,"width":74,"height":75,"formats":307,"hash":313,"ext":78,"mime":81,"size":60,"url":314,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":315,"updatedAt":316,"documentId":317,"publishedAt":57},950,"Logo Development 2025 web.png",{"thumbnail":308},{"ext":78,"url":309,"hash":310,"mime":81,"name":311,"path":18,"size":312,"width":49,"height":84},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_Logo_Development_2025_web_d7711df072.png","thumbnail_Logo_Development_2025_web_d7711df072","thumbnail_Logo Development 2025 web.png",8.58,"Logo_Development_2025_web_d7711df072","https://incredible-beef-2a6059b946.media.strapiapp.com/Logo_Development_2025_web_d7711df072.png","2024-12-17T15:02:47.479Z","2024-12-19T08:35:22.054Z","okwfs117fps338v5fj5dnrpb",[319,435],{"__component":92,"id":320,"title":321,"aside":18,"postType":96,"limit":97,"expertise":322},179,"Lees meer over Development",[323,373,386],{"id":293,"title":294,"subTitle":295,"description":296,"shortDescription":297,"slug":298,"createdAt":299,"updatedAt":300,"publishedAt":301,"isCoreExpertise":302,"documentId":303,"image":324,"blocks":327,"midPageBlocks":332,"seo":356},{"id":305,"name":306,"alternativeText":18,"caption":18,"width":74,"height":75,"formats":325,"hash":313,"ext":78,"mime":81,"size":60,"url":314,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":315,"updatedAt":316,"documentId":317,"publishedAt":57},{"thumbnail":326},{"ext":78,"url":309,"hash":310,"mime":81,"name":311,"path":18,"size":312,"width":49,"height":84},[328,329],{"__component":92,"id":320,"title":321,"aside":18,"postType":96,"limit":97},{"__component":106,"id":330,"titleLeft":331,"callToActionTextLeft":109,"callToActionLinkUrlLeft":110,"titleRight":111,"callToActionTextRight":112,"callToActionLinkUrlRight":113},251,"Heb je een Developer nodig?",[333,338,343,347,352],{"__component":116,"id":334,"title":335,"subTitle":18,"content":336,"callToActionText":18,"callToActionLink":18,"colorStyle":337,"showAsides":69},47,"Optimale gebruikerservaring","Een goede Front-End is meer dan alleen een aantrekkelijke interface; het vormt de schakel tussen technologie en eindgebruiker. Onze Developers combineren hun kennis van frameworks zoals React, Angular en Vue met ervaring in geavanceerde technologieën zoals GraphQL en CI/CD pipelines. Dit stelt ons in staat om interactieve, intuïtieve en betrouwbare applicaties te ontwikkelen die voldoen aan de hoogste standaarden.\n\nWij werken nauw samen met UX-designers om via design patterns en design tokens een naadloze integratie van ontwerp naar functionaliteit te realiseren. Dankzij regelmatige LevelUp-sessies, interne projecten en kennisdeling blijven onze Front-End specialisten altijd up-to-date.","Sugar Glaze",{"__component":116,"id":339,"title":340,"subTitle":18,"content":341,"callToActionText":18,"callToActionLink":18,"colorStyle":342,"showAsides":69},49,"Betrouwbaarheid en schaalbaarheid","Voor robuuste Back-End-oplossingen vertrouwen we op onze kennis van .NET. Of het nu gaat om het bouwen van nieuwe applicaties, het onderhouden van bestaande software of het implementeren van geavanceerde authenticatie- en autorisatiesystemen: ons team levert maatwerk dat aansluit bij de specifieke wensen en behoeften van jouw organisatie.\n\nHierbij maken we onder andere gebruik van onze kennis van Azure-services zoals Function Apps, Service Bus en App Services, maar ook tools als Docker en Kubernetes om veilige, schaalbare oplossingen te realiseren.\n\nOnze focus op grondige tests – van unit tests tot integratietests – garandeert stabiliteit en betrouwbaarheid.","White",{"__component":116,"id":344,"title":345,"subTitle":18,"content":346,"callToActionText":18,"callToActionLink":18,"colorStyle":337,"showAsides":69},50,"Full-Stack mogelijkheden","Wat ons uniek maakt, is onze combinatie van Front-End en .NET-expertise. Onze Developers zijn niet alleen gespecialiseerd in het creëren van intuïtieve interfaces, maar beheersen ook de complexiteit van Back-End-architectuur en Azure-integraties. Dit maakt hen volwaardige Full-Stack Developers die moeiteloos schakelen tussen de verschillende onderdelen van jouw project.",{"__component":116,"id":348,"title":349,"subTitle":18,"content":350,"callToActionText":351,"callToActionLink":110,"colorStyle":342,"showAsides":69},48,"Samen naar succes","Onze aanpak is erop gericht om samen met jou het optimale resultaat te behalen. Door proactief mee te denken en onze kennis te delen, zorgen we ervoor dat jouw project voldoet aan de hoogste standaarden van gebruiksvriendelijkheid, betrouwbaarheid en veiligheid. Of het nu gaat om een tijdelijke versterking van je team of volledige projectondersteuning: ons Development-team staat voor je klaar.\n\nOntdek wat wij voor jouw project kunnen betekenen."," Neem contact met ons op voor meer informatie!",{"__component":134,"id":353,"title":354,"callToActionText":137,"callToActionLinkUrl":355,"body":18},103,"Wil je weten wat onze collega’s allemaal kunnen?","https://www.sharevalue.nl/klantcases/rovict-vernieuwt-leerlingadministratie-en-leerlingvolgsysteem-esis",{"id":357,"metaTitle":358,"metaDescription":359,"structuredData":360},27,"Maatwerk software & integraties – ShareValue Development","Van webapps tot koppelingen: onze developers bouwen slimme oplossingen die passen bij jouw Microsoft-omgeving.",{"url":361,"@type":362,"@context":363,"provider":364,"areaServed":368,"description":371,"serviceType":372},"https://www.sharevalue.nl/wat-we-doen/development","Service","https://schema.org",{"url":365,"name":366,"@type":367},"https://www.sharevalue.nl","ShareValue","Organization",{"name":369,"@type":370},"Nederland","Country","Onze developers realiseren maatwerkoplossingen binnen Microsoft-omgevingen. Denk aan webapplicaties, API-integraties, extensies voor Microsoft 365 en koppelingen met externe systemen. Technisch sterk én begrijpelijk ingericht.","Maatwerk softwareontwikkeling en integraties",{"id":60,"title":61,"subTitle":62,"description":63,"shortDescription":64,"slug":65,"createdAt":66,"updatedAt":67,"publishedAt":68,"isCoreExpertise":69,"documentId":70,"image":374,"blocks":377,"midPageBlocks":380,"seo":18},{"id":72,"name":73,"alternativeText":18,"caption":18,"width":74,"height":75,"formats":375,"hash":85,"ext":78,"mime":81,"size":86,"url":87,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":88,"updatedAt":88,"documentId":89,"publishedAt":57},{"thumbnail":376},{"ext":78,"url":79,"hash":80,"mime":81,"name":82,"path":18,"size":83,"width":49,"height":84},[378,379],{"__component":92,"id":93,"title":94,"aside":95,"postType":96,"limit":97},{"__component":106,"id":107,"titleLeft":108,"callToActionTextLeft":109,"callToActionLinkUrlLeft":110,"titleRight":111,"callToActionTextRight":112,"callToActionLinkUrlRight":113},[381,382,383,384,385],{"__component":116,"id":117,"title":118,"subTitle":18,"content":119,"callToActionText":120,"callToActionLink":110,"colorStyle":18,"showAsides":18},{"__component":116,"id":122,"title":123,"subTitle":18,"content":124,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18},{"__component":116,"id":126,"title":127,"subTitle":18,"content":128,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18},{"__component":116,"id":130,"title":131,"subTitle":18,"content":132,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18},{"__component":134,"id":135,"title":136,"callToActionText":137,"callToActionLinkUrl":138,"body":18},{"id":97,"title":387,"subTitle":295,"description":388,"shortDescription":389,"slug":390,"createdAt":391,"updatedAt":392,"publishedAt":393,"isCoreExpertise":69,"documentId":394,"image":395,"blocks":409,"midPageBlocks":417,"seo":18},"Microsoft .NET","Ons team van .NET-experts staat niet alleen klaar om onze klanten te ondersteunen bij diverse implementatie uitdagingen, maar we zijn ook gespecialiseerd in het testen van applicaties op verschillende niveaus, zoals unit tests, integratietests en acceptatietests. We streven naar uitmuntende testdekking om de stabiliteit en betrouwbaarheid van de applicaties te waarborgen.\n\nDaarnaast zijn we bedreven in het gebruik van verschillende Azure-services om schaalbare en veilige oplossingen te bieden aan onze klanten. Zo bieden we met Azure DevOps krachtige tools voor het beheren van de ontwikkeling, het automatiseren van tests en het geautomatiseerd uitrollen naar acceptatie- of productieomgevingen met CI/CD-pipelines.\n\nHet samenwerken met onze klanten staat centraal in ons werk, en we denken proactief mee om samen de meest optimale oplossingen te realiseren.","In de praktijk komen de .NET developers van ShareValue terecht in allerlei verschillende branches met uiteenlopende technische uitdagingen.","dotnet","2023-08-17T11:19:57.991Z","2024-12-13T12:16:04.480Z","2023-08-17T11:22:08.050Z","v9pl553hsjk98esvs5gzoso3",{"id":396,"name":397,"alternativeText":18,"caption":18,"width":74,"height":75,"formats":398,"hash":404,"ext":78,"mime":81,"size":405,"url":406,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":407,"updatedAt":407,"documentId":408,"publishedAt":57},17,"dotnet_logo.png",{"thumbnail":399},{"ext":78,"url":400,"hash":401,"mime":81,"name":402,"path":18,"size":403,"width":49,"height":84},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_dotnet_logo_d38dbc3865.png","thumbnail_dotnet_logo_d38dbc3865","thumbnail_dotnet_logo.png",7.14,"dotnet_logo_d38dbc3865",2.93,"https://incredible-beef-2a6059b946.media.strapiapp.com/dotnet_logo_d38dbc3865.png","2023-08-17T09:47:56.313Z","nnimzsossci29qmi8z0texlp",[410,413],{"__component":92,"id":411,"title":412,"aside":18,"postType":96,"limit":97},167," Lees meer over .NET Development",{"__component":106,"id":414,"titleLeft":415,"callToActionTextLeft":109,"callToActionLinkUrlLeft":110,"titleRight":416,"callToActionTextRight":109,"callToActionLinkUrlRight":110},212,"Heb je een .NET expert nodig?","Weten welke expert op dit moment beschikbaar is?",[418,423,427,431],{"__component":116,"id":419,"title":420,"subTitle":18,"content":421,"callToActionText":422,"callToActionLink":110,"colorStyle":18,"showAsides":18},36,"Bouwen en testen","Onze .NET-experts kunnen uiteraard goede en betrouwbare applicaties ontwikkelen met de laatste .NET-versies. Ook zijn onze collega’s ervaren in het onderhouden van oudere software. We kunnen je helpen met het upgraden en uitbreiden van je applicatie zodat deze aan de laatste wensen en eisen voldoet. Het uitvoeren van uitgebreide unit- en integratietests om de stabiliteit van applicaties te waarborgen, wordt meegenomen als standaard onderdeel van het werk. Met een focus op grondige testdekking streven we ernaar om eventuele bugs vroegtijdig op te sporen en op te lossen, waardoor de algehele kwaliteit van jouw product wordt verbeterd.  \n\nVan Blazor Front-End of REST API’s tot database communicatie, onze .NET-experts hebben er ruime ervaring mee.","Weten wat onze experts voor jou kunnen doen?",{"__component":116,"id":424,"title":425,"subTitle":18,"content":426,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18},37,"Combineren met Azure","Wil je profiteren van Azure-services voor jouw project? Ons team van experts kan je helpen met het selecteren en opzetten van de juiste services. Of je gebruik wil maken van App services, Function Apps, storage of database oplossingen of bijvoorbeeld een Service Bus, onze experts kunnen je helpen bij het kiezen en het realiseren van stabiele, schaalbare en veilige oplossingen die voldoen aan jouw specifieke behoeften.",{"__component":116,"id":428,"title":429,"subTitle":18,"content":430,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18},35,"Houd het veilig!","Om de toegang tot je producten veilig te houden, kan ons team van .NET-experts je helpen bij het opzetten en onderhouden van authenticatie en autorisatie. Onze experts zijn ervaren in het opzetten de juiste entra diensten zodat de toegang tot zowel Front-End als Back-End of deamon-processen op een juiste manier afgehandeld wordt. Ook kunnen we je helpen met het opzetten van verschillende groepen, rechten en rollen, en deze op de juiste manier toepassen binnen de applicatie zodat onterechte toegang op functieniveau geregeld kan worden. Bij het opzetten en implementeren wordt er rekening gehouden met het reduceren van de administratieve overhead zonder concessies te doen aan de beveiliging.",{"__component":134,"id":432,"title":136,"callToActionText":433,"callToActionLinkUrl":434,"body":18},46,"Lees de klantcase over ons werk bij KPN","/klantcases/de-continue-bereikbaarheid-van-een-alarmcentrale",{"__component":106,"id":330,"titleLeft":331,"callToActionTextLeft":109,"callToActionLinkUrlLeft":110,"titleRight":111,"callToActionTextRight":112,"callToActionLinkUrlRight":113,"iconUrlLeft":436,"iconUrlRight":447},{"id":437,"name":438,"alternativeText":18,"caption":18,"width":439,"height":440,"formats":18,"hash":441,"ext":146,"mime":147,"size":442,"url":443,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":444,"updatedAt":445,"documentId":446,"publishedAt":57},7,"people.svg",83,60,"people_6bb632d0d7",1.47,"https://incredible-beef-2a6059b946.media.strapiapp.com/people_6bb632d0d7.svg","2023-08-17T08:31:37.039Z","2024-09-13T08:11:42.408Z","iyvqylwtkx5qokq2hk77ppgf",{"id":448,"name":449,"alternativeText":18,"caption":18,"width":339,"height":440,"formats":18,"hash":450,"ext":146,"mime":147,"size":451,"url":452,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":453,"updatedAt":454,"documentId":455,"publishedAt":57},372,"magnifier.svg","magnifier_d084afba36",1.05,"https://incredible-beef-2a6059b946.media.strapiapp.com/magnifier_d084afba36.svg","2023-11-03T11:13:25.446Z","2026-05-12T12:19:53.518Z","e7czsfz9jg7oi93q44vomebz",[457,477,507,514,544],{"__component":116,"id":334,"title":335,"subTitle":18,"content":336,"callToActionText":18,"callToActionLink":18,"colorStyle":337,"showAsides":69,"imageUrl":458},{"id":459,"name":166,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":460,"hash":473,"ext":23,"mime":26,"size":195,"url":474,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":475,"updatedAt":475,"documentId":476,"publishedAt":57},904,{"large":461,"small":464,"medium":467,"thumbnail":470},{"ext":23,"url":462,"hash":463,"mime":26,"name":172,"path":18,"size":173,"width":29,"height":174},"https://incredible-beef-2a6059b946.media.strapiapp.com/large_development_6e5abdca44.jpg","large_development_6e5abdca44",{"ext":23,"url":465,"hash":466,"mime":26,"name":178,"path":18,"size":179,"width":20,"height":180},"https://incredible-beef-2a6059b946.media.strapiapp.com/small_development_6e5abdca44.jpg","small_development_6e5abdca44",{"ext":23,"url":468,"hash":469,"mime":26,"name":184,"path":18,"size":185,"width":42,"height":186},"https://incredible-beef-2a6059b946.media.strapiapp.com/medium_development_6e5abdca44.jpg","medium_development_6e5abdca44",{"ext":23,"url":471,"hash":472,"mime":26,"name":190,"path":18,"size":191,"width":192,"height":193},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_development_6e5abdca44.jpg","thumbnail_development_6e5abdca44","development_6e5abdca44","https://incredible-beef-2a6059b946.media.strapiapp.com/development_6e5abdca44.jpg","2024-12-13T12:36:11.969Z","qqi9wubjpzs8w6daj98mtc7a",{"__component":116,"id":339,"title":340,"subTitle":18,"content":341,"callToActionText":18,"callToActionLink":18,"colorStyle":342,"showAsides":69,"imageUrl":478},{"id":479,"name":480,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":481,"hash":502,"ext":23,"mime":26,"size":503,"url":504,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":505,"updatedAt":505,"documentId":506,"publishedAt":57},791,"service bus.jpg",{"large":482,"small":487,"medium":492,"thumbnail":497},{"ext":23,"url":483,"hash":484,"mime":26,"name":485,"path":18,"size":486,"width":29,"height":174},"https://incredible-beef-2a6059b946.media.strapiapp.com/large_service_bus_2b48e3a7cc.jpg","large_service_bus_2b48e3a7cc","large_service bus.jpg",82.82,{"ext":23,"url":488,"hash":489,"mime":26,"name":490,"path":18,"size":491,"width":20,"height":180},"https://incredible-beef-2a6059b946.media.strapiapp.com/small_service_bus_2b48e3a7cc.jpg","small_service_bus_2b48e3a7cc","small_service bus.jpg",29.35,{"ext":23,"url":493,"hash":494,"mime":26,"name":495,"path":18,"size":496,"width":42,"height":186},"https://incredible-beef-2a6059b946.media.strapiapp.com/medium_service_bus_2b48e3a7cc.jpg","medium_service_bus_2b48e3a7cc","medium_service bus.jpg",54.72,{"ext":23,"url":498,"hash":499,"mime":26,"name":500,"path":18,"size":501,"width":192,"height":193},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_service_bus_2b48e3a7cc.jpg","thumbnail_service_bus_2b48e3a7cc","thumbnail_service bus.jpg",8.71,"service_bus_2b48e3a7cc",117.51,"https://incredible-beef-2a6059b946.media.strapiapp.com/service_bus_2b48e3a7cc.jpg","2024-08-09T08:35:35.231Z","rbpawsulv6vrsistrk2yupwg",{"__component":116,"id":344,"title":345,"subTitle":18,"content":346,"callToActionText":18,"callToActionLink":18,"colorStyle":337,"showAsides":69,"imageUrl":508},{"id":261,"name":262,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":509,"hash":284,"ext":23,"mime":26,"size":285,"url":286,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":287,"updatedAt":288,"documentId":289,"publishedAt":57},{"large":510,"small":511,"medium":512,"thumbnail":513},{"ext":23,"url":265,"hash":266,"mime":26,"name":267,"path":18,"size":268,"width":29,"height":174},{"ext":23,"url":270,"hash":271,"mime":26,"name":272,"path":18,"size":273,"width":20,"height":180},{"ext":23,"url":275,"hash":276,"mime":26,"name":277,"path":18,"size":278,"width":42,"height":186},{"ext":23,"url":280,"hash":281,"mime":26,"name":282,"path":18,"size":283,"width":192,"height":193},{"__component":116,"id":348,"title":349,"subTitle":18,"content":350,"callToActionText":351,"callToActionLink":110,"colorStyle":342,"showAsides":69,"imageUrl":515},{"id":516,"name":517,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":518,"hash":539,"ext":23,"mime":26,"size":540,"url":541,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":542,"updatedAt":542,"documentId":543,"publishedAt":57},789,"teamwork.jpg",{"large":519,"small":524,"medium":529,"thumbnail":534},{"ext":23,"url":520,"hash":521,"mime":26,"name":522,"path":18,"size":523,"width":29,"height":174},"https://incredible-beef-2a6059b946.media.strapiapp.com/large_teamwork_8f4a7b0c14.jpg","large_teamwork_8f4a7b0c14","large_teamwork.jpg",80.4,{"ext":23,"url":525,"hash":526,"mime":26,"name":527,"path":18,"size":528,"width":20,"height":180},"https://incredible-beef-2a6059b946.media.strapiapp.com/small_teamwork_8f4a7b0c14.jpg","small_teamwork_8f4a7b0c14","small_teamwork.jpg",27.14,{"ext":23,"url":530,"hash":531,"mime":26,"name":532,"path":18,"size":533,"width":42,"height":186},"https://incredible-beef-2a6059b946.media.strapiapp.com/medium_teamwork_8f4a7b0c14.jpg","medium_teamwork_8f4a7b0c14","medium_teamwork.jpg",51.59,{"ext":23,"url":535,"hash":536,"mime":26,"name":537,"path":18,"size":538,"width":192,"height":193},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_teamwork_8f4a7b0c14.jpg","thumbnail_teamwork_8f4a7b0c14","thumbnail_teamwork.jpg",8.11,"teamwork_8f4a7b0c14",116.53,"https://incredible-beef-2a6059b946.media.strapiapp.com/teamwork_8f4a7b0c14.jpg","2024-08-08T10:07:23.468Z","uo85gvimf7llsbaoahqw08m3",{"__component":134,"id":353,"title":354,"callToActionText":137,"callToActionLinkUrl":355,"body":18,"imageUrl":545},{"id":141,"name":142,"alternativeText":18,"caption":18,"width":143,"height":144,"formats":18,"hash":145,"ext":146,"mime":147,"size":148,"url":149,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":150,"updatedAt":151,"documentId":152,"publishedAt":57},{"id":357,"metaTitle":358,"metaDescription":359,"structuredData":547,"metaImage":18,"metaSocial":550},{"url":361,"@type":362,"@context":363,"provider":548,"areaServed":549,"description":371,"serviceType":372},{"url":365,"name":366,"@type":367},{"name":369,"@type":370},[],{"id":552,"name":553,"jobTitle":554,"about":18,"createdAt":555,"updatedAt":556,"publishedAt":557,"documentId":558,"image":559,"contactOptions":576},75,"Sem","Developer","2023-08-18T08:37:46.200Z","2024-12-13T12:52:35.321Z","2023-08-18T08:37:45.970Z","ja6h5ik1ifylgza2z0hj3bm8",{"id":560,"name":561,"alternativeText":18,"caption":18,"width":562,"height":563,"formats":564,"hash":571,"ext":78,"mime":81,"size":572,"url":573,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":574,"updatedAt":574,"documentId":575,"publishedAt":57},666,"Sem websitefoto.png",278,326,{"thumbnail":565},{"ext":78,"url":566,"hash":567,"mime":81,"name":568,"path":18,"size":569,"width":570,"height":193},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_Sem_websitefoto_9ade3cf88d.png","thumbnail_Sem_websitefoto_9ade3cf88d","thumbnail_Sem websitefoto.png",21.28,133,"Sem_websitefoto_9ade3cf88d",24.26,"https://incredible-beef-2a6059b946.media.strapiapp.com/Sem_websitefoto_9ade3cf88d.png","2024-04-12T13:54:44.380Z","zwxdapl8oetuno3afql320bq",[],[578,583,585,588,770],{"__component":579,"id":580,"title":18,"asideText":18,"underline":69,"centered":69,"blankAside":69,"aside":581,"content":582,"introductionText":18},"global.pagesection",1953,"","De vraag is: waarom zou jouw team dit moeten gebruiken? De Control Flow API optimaliseert de manier waarop condities in templates worden beheerd, met als resultaat een snellere, stabielere applicatie en een sterk vereenvoudigde codebase. Dit maakt toekomstige updates eenvoudiger, minimaliseert fouten en verhoogt de ontwikkelsnelheid. In deze blog ontdek je hoe jouw team deze functionaliteit kan toepassen en wat de concrete voordelen zijn voor zowel het ontwikkelproces als de prestaties van jullie applicaties.\n\n## Wat is Control Flow in Angular?\nControl Flow is een nieuwe built-in feature van Angular die het mogelijk maakt aan de hand van condities blokken in je template te tonen, verbergen en iteratief te plaatsen. Is dit iets nieuws? Zeker niet! Angular kende deze functionaliteit al door het gebruik van ***ngIf**, ***ngFor** en ***ngSwitch** in je templates. Wat maakt deze wijziging dan zo interessant? De nieuwe syntax levert flinke prestatieverbeteringen, meer flexibiliteit en betere leesbaarheid van de templates. Een bijkomend voordeel van deze nieuwe functionaliteit is dat hij backwards-compatible is, waardoor je de control flow geleidelijk kunt toevoegen aan je applicatie, zonder direct de gehele applicatie te moeten aanpassen.\n\n## Wat is er precies verbeterd?\nVoor het conditioneel tonen van blokken was voorheen altijd een element nodig in je template waarop een ***ngIf** geplaatst diende te worden. Voldoet de conditie niet? Dan gebruikte je een **ng-template** element om een alternatief blok te tonen. Wilde je iteratief over een aantal waardes uit een lijst lopen, maar in het geval van een lege lijst een melding tonen? Dan waren hiervoor meerdere checks nodig. Met de komst van control flow is dit niet langer nodig. Dit maakt het template een stuk beter leesbaar, maar verwijdert ook de noodzaak voor het gebruik van overbodige elementen. In de volgende code heb ik een winkelscenario ontwikkeld en wil ik aan de hand van condities een melding tonen aan de eindgebruiker. Is een gebruiker uitgelogd? Dan moet hij eerst inloggen, een mandje pakken en producten aan de winkelmand toevoegen. \n\n```\n\u003Cdiv class=\"app\">\n    \u003Cdiv class=\"account-acties\">\n        \u003Ch2>Account acties\u003C/h2>\n        \u003Cdiv class=\"account-acties-inhoud\">\n            \u003Cbutton *ngIf=\"!ingelogd; else ingelogd\" (click)=\"login()\">Inloggen\u003C/button>\n            \u003Cng-template #ingelogd>\n                \u003Cdiv *ngIf=\"winkelmand$ | async; else #geenWinkelmand\">\n                    \u003Cbutton (click)=\"addProductToBasket('Appel')\">+ Appel\u003C/button>\n                    \u003Cbutton (click)=\"addProductToBasket('Melk')\">+ Melk\u003C/button>\n                    \u003Cbutton (click)=\"addProductToBasket('Kaas')\">+ Kaas\u003C/button>\n                \u003C/div>\n                \u003Cng-template #geenWinkelmand>\n                    \u003Cbutton (click)=\"takeBasket()\">Pak een mandje\u003C/button>\n                \u003C/ng-template>\n                \u003Cbutton (click)=\"logout()\">Uitloggen\u003C/button>\n            \u003C/ng-template>\n        \u003C/div>\n    \u003C/div>\n    \u003Cdiv class=\"winkelmand\" *ngIf=\"ingelogd; else nogNietIngelogd\">\n        \u003Ch2>Winkelmand\u003C/h2>\n        \u003Cdiv class=\"winkelmand-inhoud\" *ngIf=\"(winkelmand$ | async) as winkelmand; else geenWinkelmand\">\n            \u003Cp>\u003Cb>Uw winkelmand:\u003C/b>\u003C/p>\n            \u003Cul>\n                \u003Cli *ngFor=\"let boodschap of winkelmand\">{{boodschap}}\u003C/li>\n                \u003Cli *ngIf=\"winkelmand.length \u003C= 0\">Uw winkelmand is nog leeg.\u003C/li>\n            \u003C/ul>\n        \u003C/div>\n        \u003Cng-template #geenWinkelmand>\n            \u003Cp>U heeft nog geen winkelmand.\u003C/p>\n        \u003C/ng-template>\n    \u003C/div>\n    \u003Cng-template #nogNietIngelogd>\n        \u003Cp>U bent nog niet ingelogd. U kunt nog geen boodschappenmandje pakken.\u003C/p>\n    \u003C/ng-template>\n\u003C/div>\n```\n\nMinpunten aan deze oude opzet zijn bijvoorbeeld dat er meerdere ng-template elementen nodig zijn voor het conditioneel tonen van meldingen. Ook de asynchrone data moet meerdere malen gebruikt worden, wat het template vult met veel code en de leesbaarheid niet ten goede komt. Met het gebruik van de nieuwe control flow ziet dit stuk code er heel anders uit. Hieronder is hetzelfde voorbeeld opgenomen, maar dan met het gebruik van de nieuwe syntax.\n\n```\n\u003Cdiv class=\"app\">\n//Eenmalig asynchrone data opslaan in een template variabele  \n@let winkelmand = (winkelmand$ | async);\n  \u003Cdiv class=\"account-acties\">\n    \u003Ch2>Account acties\u003C/h2>\n    \u003Cdiv class=\"account-acties-inhoud\">\n      @if (!ingelogd) {\n        \u003Cbutton (click)=\"login()\">Inloggen\u003C/button>\n      } @else {\n        @if (!winkelmand) {\n          \u003Cbutton (click)=\"takeBasket()\">Pak een mandje\u003C/button>\n        } @else {\n          \u003Cbutton (click)=\"addProductToBasket('Appel')\">+ Appel\u003C/button>\n          \u003Cbutton (click)=\"addProductToBasket('Melk')\">+ Melk\u003C/button>\n          \u003Cbutton (click)=\"addProductToBasket('Kaas')\">+ Kaas\u003C/button>\n        }\n        \u003Cbutton (click)=\"logout()\">Uitloggen\u003C/button>\n      }\n    \u003C/div>\n  \u003C/div>\n  @if (ingelogd) {\n    \u003Cdiv class=\"winkelmand\">\n      \u003Ch2>Winkelmand\u003C/h2>\n      @if (winkelmand) {\n        \u003Cdiv class=\"winkelmand-inhoud\">\n          \u003Cp>\u003Cb>Uw winkelmand:\u003C/b>\u003C/p>\n          \u003Cul>\n            @for (boodschap of winkelmand; track boodschap) {\n              \u003Cli>{{boodschap}}\u003C/li>\n            } @empty {\n              \u003Cli>Uw winkelmand is nog leeg.\u003C/li>\n            }\n          \u003C/ul>\n        \u003C/div>\n      } @else {\n        // Er zijn geen ng-template elementen meer nodig.\n        \u003Cp>U heeft nog geen winkelmand.\u003C/p>\n      }\n    \u003C/div>\n  } @else {\n    \u003Cp>U bent nog niet ingelogd. U kunt nog geen boodschappenmandje pakken.\u003C/p>\n  }\n\u003C/div>\n\n```\nZoals je kunt zien, is het gebruik van ng-templates niet meer noodzakelijk, wat al wat overbodige code verhelpt. Deze elementen ogen verwarrend en komen de leesbaarheid van de code niet ten goede. Daarnaast zie je dat de for-loop een nieuwe optie kent: **@empty**. Is de variabele die jij in de loop wilt gebruiken nog leeg? Dan kun je dit blok hiervoor gebruiken. Voorheen was voor deze situatie een aanvullende ***ngIf** nodig. Daarnaast moet in deze loop nu aangegeven worden door middel van de “track”-optie op welke property uit de lijst Angular de elementen moet tracken. Hierdoor kan Angular nog beter met deze variabelen omgaan en dit verbetert de performance van de applicatie.\nEen andere mooie toevoeging in deze code is dat we met **@let** de asynchrone winkelmand eenmalig een alias kunnen geven en deze door het gehele template kunnen gebruiken. Hierdoor is de code enorm opgeschoond.\n\nDe nieuwe **@switch** directive biedt enkele verbeteringen ten opzichte van de traditionele ***ngSwitch**. Voorheen bestonden ***ngSwitch** en ***ngSwitchCase** al in Angular, maar de nieuwe **@switch** syntax maakt het mogelijk om condities eenvoudiger in te richten zonder gebruik van extra Angular directives en elementen. Dit maakt je templates nog leesbaarder en flexibeler.\nEen voorbeeld van hoe dit in de oude versie en in de nieuwe versie kan worden gebruikt, zal ik hieronder delen. We gebruiken weer een voorbeeld aan de hand van een winkel, namelijk over de aanwezigheid van een product. In de oude situatie zou dit er zo uitgezien hebben:\n\n```\n\u003Cng-template [ngSwitch]=\"status\">\n\u003Cp *ngSwitchCase=\"'inStock'\">Het product is op voorraad.\u003C/p>\n\u003Cp *ngSwitchCase=\"'outOfStock'\">Helaas, het product is uitverkocht.\u003C/p>\n\u003Cp *ngSwitchCase=\"'discontinued'\">Dit product wordt niet meer verkocht.\u003C/p>\n\u003Cp *ngSwitchDefault>Status onbekend.\u003C/p>\n\u003C/ng-template>\n```\n\nMet de nieuwe **@switch** directive, ziet dat er als volgt uit:\n\n```\n  @switch (status) {\n    @case ('inStock') {\n      \u003Cp>Het product is op voorraad.\u003C/p>\n    }\n    @case ('outOfStock') {\n      \u003Cp>Helaas, het product is uitverkocht.\u003C/p>\n    }\n    @case ('discontinued') {\n      \u003Cp>Dit product wordt niet meer verkocht.\u003C/p>\n    }\n    @default {\n      \u003Cp>Status onbekend.\u003C/p>\n    }\n  }\n```\n\nZoals je kunt zien, is de opzet in de control flow veranderd, waarbij de checks niet langer op de elementen zelf zitten, maar er omheen. Dit maakt de code beter leesbaar en ook hier is opnieuw een overbodig ng-element verdwenen.\n\n## Zelf aan de slag\nNatuurlijk kun je nu als developer aan de slag om met de nieuwe control flow te werken, maar de Angular CLI biedt ook migraties om via de command line jouw applicatie naar de nieuwe control flow te migreren. Dit is dus snel en efficient en geeft direct performance-verbeteringen voor jouw applicatie. Wel is het altijd aangeraden om zelf na het draaien van de migratie de code te controleren. Om terug te komen op bijvoorbeeld de **@switch**, kun je eenvoudig gebruik maken van het volgende commando: **`ng generate @angular/core:control-flow`**. Zelf de nieuwe control flow implementeren mag natuurlijk ook!\n\n## Conclusie\nDe nieuwe Control Flow API in Angular 18 biedt ontwikkelaars een efficiënte manier om condities in Angular-templates te beheren. Met de nieuwe, vereenvoudigde syntax, zoals **@if**, **@let**, en **@switch**, worden templates leesbaarder en overzichtelijker en kunnen overbodige elementen worden verwijderd. Daarnaast levert de nieuwe aanpak prestatieverbeteringen op, maar blijft backwards compatible zodat ook de oude syntax nog ondersteund wordt.\n\nDe toekomst van Angular ziet er veelbelovend uit. We zien steeds meer verbeteringen in performance en ontwikkelervaring. De komst van signals was een zo’n verbetering. Innovaties zoals de Control Flow API zorgen ervoor dat Angular relevant blijft in een snel veranderende wereld.\n\nWil je deze voordelen zelf ervaren? Probeer de nieuwe Control Flow-functionaliteit uit in jouw Angular-project en optimaliseer je applicaties met de nieuwste ontwikkelingen van Angular. Kom je er niet helemaal uit of wil je meer uitleg? Neem dan gerust contact op. Ik help je graag verder!\n\n## Extra Resources\n- [Angular Control Flow Documentatie](https://angular.dev/guide/templates/control-flow)\n- [Blog: Introducing the **@let** directive](https://blog.angular.dev/introducing-let-in-angular-686f9f383f0f)\n- [Video-guide voor de Control flow](https://www.youtube.com/watch?v=DOffmVeBk0o)\n",{"__component":584,"id":414,"title":18,"showBlankAside":69},"global.social-sharing",{"__component":586,"id":587,"name":18,"jobTitle":18},"strapi.author-card",157,{"__component":92,"id":589,"title":321,"aside":18,"postType":96,"limit":97,"expertise":590},176,[591,633,721],{"id":60,"title":61,"subTitle":62,"description":63,"shortDescription":64,"slug":65,"createdAt":66,"updatedAt":67,"publishedAt":68,"isCoreExpertise":69,"documentId":70,"image":592,"blocks":595,"midPageBlocks":602,"seo":18},{"id":72,"name":73,"alternativeText":18,"caption":18,"width":74,"height":75,"formats":593,"hash":85,"ext":78,"mime":81,"size":86,"url":87,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":88,"updatedAt":88,"documentId":89,"publishedAt":57},{"thumbnail":594},{"ext":78,"url":79,"hash":80,"mime":81,"name":82,"path":18,"size":83,"width":49,"height":84},[596,599],{"__component":92,"id":93,"title":94,"aside":95,"postType":96,"limit":97,"expertise":597},[598],{"id":60,"title":61,"subTitle":62,"description":63,"shortDescription":64,"slug":65,"createdAt":66,"updatedAt":67,"publishedAt":68,"isCoreExpertise":69,"documentId":70},{"__component":106,"id":107,"titleLeft":108,"callToActionTextLeft":109,"callToActionLinkUrlLeft":110,"titleRight":111,"callToActionTextRight":112,"callToActionLinkUrlRight":113,"iconUrlLeft":600,"iconUrlRight":601},{"id":141,"name":142,"alternativeText":18,"caption":18,"width":143,"height":144,"formats":18,"hash":145,"ext":146,"mime":147,"size":148,"url":149,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":150,"updatedAt":151,"documentId":152,"publishedAt":57},{"id":154,"name":155,"alternativeText":18,"caption":18,"width":144,"height":144,"formats":18,"hash":156,"ext":146,"mime":147,"size":157,"url":158,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":159,"updatedAt":160,"documentId":161,"publishedAt":57},[603,610,617,624,631],{"__component":116,"id":117,"title":118,"subTitle":18,"content":119,"callToActionText":120,"callToActionLink":110,"colorStyle":18,"showAsides":18,"imageUrl":604},{"id":165,"name":166,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":605,"hash":194,"ext":23,"mime":26,"size":195,"url":196,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":197,"updatedAt":197,"documentId":198,"publishedAt":57},{"large":606,"small":607,"medium":608,"thumbnail":609},{"ext":23,"url":170,"hash":171,"mime":26,"name":172,"path":18,"size":173,"width":29,"height":174},{"ext":23,"url":176,"hash":177,"mime":26,"name":178,"path":18,"size":179,"width":20,"height":180},{"ext":23,"url":182,"hash":183,"mime":26,"name":184,"path":18,"size":185,"width":42,"height":186},{"ext":23,"url":188,"hash":189,"mime":26,"name":190,"path":18,"size":191,"width":192,"height":193},{"__component":116,"id":122,"title":123,"subTitle":18,"content":124,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18,"imageUrl":611},{"id":201,"name":202,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":612,"hash":224,"ext":23,"mime":26,"size":225,"url":226,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":227,"updatedAt":227,"documentId":228,"publishedAt":57},{"large":613,"small":614,"medium":615,"thumbnail":616},{"ext":23,"url":205,"hash":206,"mime":26,"name":207,"path":18,"size":208,"width":29,"height":174},{"ext":23,"url":210,"hash":211,"mime":26,"name":212,"path":18,"size":213,"width":20,"height":180},{"ext":23,"url":215,"hash":216,"mime":26,"name":217,"path":18,"size":218,"width":42,"height":186},{"ext":23,"url":220,"hash":221,"mime":26,"name":222,"path":18,"size":223,"width":192,"height":193},{"__component":116,"id":126,"title":127,"subTitle":18,"content":128,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18,"imageUrl":618},{"id":231,"name":232,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":619,"hash":254,"ext":23,"mime":26,"size":255,"url":256,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":257,"updatedAt":257,"documentId":258,"publishedAt":57},{"large":620,"small":621,"medium":622,"thumbnail":623},{"ext":23,"url":235,"hash":236,"mime":26,"name":237,"path":18,"size":238,"width":29,"height":174},{"ext":23,"url":240,"hash":241,"mime":26,"name":242,"path":18,"size":243,"width":20,"height":180},{"ext":23,"url":245,"hash":246,"mime":26,"name":247,"path":18,"size":248,"width":42,"height":186},{"ext":23,"url":250,"hash":251,"mime":26,"name":252,"path":18,"size":253,"width":192,"height":193},{"__component":116,"id":130,"title":131,"subTitle":18,"content":132,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18,"imageUrl":625},{"id":261,"name":262,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":626,"hash":284,"ext":23,"mime":26,"size":285,"url":286,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":287,"updatedAt":288,"documentId":289,"publishedAt":57},{"large":627,"small":628,"medium":629,"thumbnail":630},{"ext":23,"url":265,"hash":266,"mime":26,"name":267,"path":18,"size":268,"width":29,"height":174},{"ext":23,"url":270,"hash":271,"mime":26,"name":272,"path":18,"size":273,"width":20,"height":180},{"ext":23,"url":275,"hash":276,"mime":26,"name":277,"path":18,"size":278,"width":42,"height":186},{"ext":23,"url":280,"hash":281,"mime":26,"name":282,"path":18,"size":283,"width":192,"height":193},{"__component":134,"id":135,"title":136,"callToActionText":137,"callToActionLinkUrl":138,"body":18,"imageUrl":632},{"id":141,"name":142,"alternativeText":18,"caption":18,"width":143,"height":144,"formats":18,"hash":145,"ext":146,"mime":147,"size":148,"url":149,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":150,"updatedAt":151,"documentId":152,"publishedAt":57},{"id":97,"title":387,"subTitle":295,"description":388,"shortDescription":389,"slug":390,"createdAt":391,"updatedAt":392,"publishedAt":393,"isCoreExpertise":69,"documentId":394,"image":634,"blocks":637,"midPageBlocks":651,"seo":18},{"id":396,"name":397,"alternativeText":18,"caption":18,"width":74,"height":75,"formats":635,"hash":404,"ext":78,"mime":81,"size":405,"url":406,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":407,"updatedAt":407,"documentId":408,"publishedAt":57},{"thumbnail":636},{"ext":78,"url":400,"hash":401,"mime":81,"name":402,"path":18,"size":403,"width":49,"height":84},[638,641],{"__component":92,"id":411,"title":412,"aside":18,"postType":96,"limit":97,"expertise":639},[640],{"id":97,"title":387,"subTitle":295,"description":388,"shortDescription":389,"slug":390,"createdAt":391,"updatedAt":392,"publishedAt":393,"isCoreExpertise":69,"documentId":394},{"__component":106,"id":414,"titleLeft":415,"callToActionTextLeft":109,"callToActionLinkUrlLeft":110,"titleRight":416,"callToActionTextRight":109,"callToActionLinkUrlRight":110,"iconUrlLeft":642,"iconUrlRight":643},{"id":141,"name":142,"alternativeText":18,"caption":18,"width":143,"height":144,"formats":18,"hash":145,"ext":146,"mime":147,"size":148,"url":149,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":150,"updatedAt":151,"documentId":152,"publishedAt":57},{"id":644,"name":645,"alternativeText":18,"caption":18,"width":144,"height":144,"formats":18,"hash":646,"ext":146,"mime":147,"size":647,"url":648,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":649,"updatedAt":649,"documentId":650,"publishedAt":57},250,"looking-glass.svg","looking_glass_cfa3801802",0.6,"https://incredible-beef-2a6059b946.media.strapiapp.com/looking_glass_cfa3801802.svg","2023-10-11T09:43:10.911Z","suv3p7h0kw7jdnuddk1l2rdu",[652,682,689,719],{"__component":116,"id":419,"title":420,"subTitle":18,"content":421,"callToActionText":422,"callToActionLink":110,"colorStyle":18,"showAsides":18,"imageUrl":653},{"id":654,"name":655,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":656,"hash":677,"ext":23,"mime":26,"size":678,"url":679,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":680,"updatedAt":680,"documentId":681,"publishedAt":57},790,"code matrix.jpg",{"large":657,"small":662,"medium":667,"thumbnail":672},{"ext":23,"url":658,"hash":659,"mime":26,"name":660,"path":18,"size":661,"width":29,"height":174},"https://incredible-beef-2a6059b946.media.strapiapp.com/large_code_matrix_939256fff4.jpg","large_code_matrix_939256fff4","large_code matrix.jpg",164.22,{"ext":23,"url":663,"hash":664,"mime":26,"name":665,"path":18,"size":666,"width":20,"height":180},"https://incredible-beef-2a6059b946.media.strapiapp.com/small_code_matrix_939256fff4.jpg","small_code_matrix_939256fff4","small_code matrix.jpg",42.02,{"ext":23,"url":668,"hash":669,"mime":26,"name":670,"path":18,"size":671,"width":42,"height":186},"https://incredible-beef-2a6059b946.media.strapiapp.com/medium_code_matrix_939256fff4.jpg","medium_code_matrix_939256fff4","medium_code matrix.jpg",97.04,{"ext":23,"url":673,"hash":674,"mime":26,"name":675,"path":18,"size":676,"width":192,"height":193},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_code_matrix_939256fff4.jpg","thumbnail_code_matrix_939256fff4","thumbnail_code matrix.jpg",8.35,"code_matrix_939256fff4",258.04,"https://incredible-beef-2a6059b946.media.strapiapp.com/code_matrix_939256fff4.jpg","2024-08-09T08:30:59.615Z","s5v68ezvz0ho9m6ot0mbk8z2",{"__component":116,"id":424,"title":425,"subTitle":18,"content":426,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18,"imageUrl":683},{"id":479,"name":480,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":684,"hash":502,"ext":23,"mime":26,"size":503,"url":504,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":505,"updatedAt":505,"documentId":506,"publishedAt":57},{"large":685,"small":686,"medium":687,"thumbnail":688},{"ext":23,"url":483,"hash":484,"mime":26,"name":485,"path":18,"size":486,"width":29,"height":174},{"ext":23,"url":488,"hash":489,"mime":26,"name":490,"path":18,"size":491,"width":20,"height":180},{"ext":23,"url":493,"hash":494,"mime":26,"name":495,"path":18,"size":496,"width":42,"height":186},{"ext":23,"url":498,"hash":499,"mime":26,"name":500,"path":18,"size":501,"width":192,"height":193},{"__component":116,"id":428,"title":429,"subTitle":18,"content":430,"callToActionText":18,"callToActionLink":18,"colorStyle":18,"showAsides":18,"imageUrl":690},{"id":691,"name":692,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":693,"hash":714,"ext":23,"mime":26,"size":715,"url":716,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":717,"updatedAt":717,"documentId":718,"publishedAt":57},792,"security dotnet.jpg",{"large":694,"small":699,"medium":704,"thumbnail":709},{"ext":23,"url":695,"hash":696,"mime":26,"name":697,"path":18,"size":698,"width":29,"height":174},"https://incredible-beef-2a6059b946.media.strapiapp.com/large_security_dotnet_a65d687baf.jpg","large_security_dotnet_a65d687baf","large_security dotnet.jpg",38.7,{"ext":23,"url":700,"hash":701,"mime":26,"name":702,"path":18,"size":703,"width":20,"height":180},"https://incredible-beef-2a6059b946.media.strapiapp.com/small_security_dotnet_a65d687baf.jpg","small_security_dotnet_a65d687baf","small_security dotnet.jpg",13.37,{"ext":23,"url":705,"hash":706,"mime":26,"name":707,"path":18,"size":708,"width":42,"height":186},"https://incredible-beef-2a6059b946.media.strapiapp.com/medium_security_dotnet_a65d687baf.jpg","medium_security_dotnet_a65d687baf","medium_security dotnet.jpg",24.75,{"ext":23,"url":710,"hash":711,"mime":26,"name":712,"path":18,"size":713,"width":192,"height":193},"https://incredible-beef-2a6059b946.media.strapiapp.com/thumbnail_security_dotnet_a65d687baf.jpg","thumbnail_security_dotnet_a65d687baf","thumbnail_security dotnet.jpg",4.63,"security_dotnet_a65d687baf",57.25,"https://incredible-beef-2a6059b946.media.strapiapp.com/security_dotnet_a65d687baf.jpg","2024-08-09T08:36:56.895Z","srupv8bm7kvcgseu2efeadhk",{"__component":134,"id":432,"title":136,"callToActionText":433,"callToActionLinkUrl":434,"body":18,"imageUrl":720},{"id":141,"name":142,"alternativeText":18,"caption":18,"width":143,"height":144,"formats":18,"hash":145,"ext":146,"mime":147,"size":148,"url":149,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":150,"updatedAt":151,"documentId":152,"publishedAt":57},{"id":293,"title":294,"subTitle":295,"description":296,"shortDescription":297,"slug":298,"createdAt":299,"updatedAt":300,"publishedAt":301,"isCoreExpertise":302,"documentId":303,"image":722,"blocks":725,"midPageBlocks":734,"seo":765},{"id":305,"name":306,"alternativeText":18,"caption":18,"width":74,"height":75,"formats":723,"hash":313,"ext":78,"mime":81,"size":60,"url":314,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":315,"updatedAt":316,"documentId":317,"publishedAt":57},{"thumbnail":724},{"ext":78,"url":309,"hash":310,"mime":81,"name":311,"path":18,"size":312,"width":49,"height":84},[726,731],{"__component":92,"id":320,"title":321,"aside":18,"postType":96,"limit":97,"expertise":727},[728,729,730],{"id":293,"title":294,"subTitle":295,"description":296,"shortDescription":297,"slug":298,"createdAt":299,"updatedAt":300,"publishedAt":301,"isCoreExpertise":302,"documentId":303},{"id":60,"title":61,"subTitle":62,"description":63,"shortDescription":64,"slug":65,"createdAt":66,"updatedAt":67,"publishedAt":68,"isCoreExpertise":69,"documentId":70},{"id":97,"title":387,"subTitle":295,"description":388,"shortDescription":389,"slug":390,"createdAt":391,"updatedAt":392,"publishedAt":393,"isCoreExpertise":69,"documentId":394},{"__component":106,"id":330,"titleLeft":331,"callToActionTextLeft":109,"callToActionLinkUrlLeft":110,"titleRight":111,"callToActionTextRight":112,"callToActionLinkUrlRight":113,"iconUrlLeft":732,"iconUrlRight":733},{"id":437,"name":438,"alternativeText":18,"caption":18,"width":439,"height":440,"formats":18,"hash":441,"ext":146,"mime":147,"size":442,"url":443,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":444,"updatedAt":445,"documentId":446,"publishedAt":57},{"id":448,"name":449,"alternativeText":18,"caption":18,"width":339,"height":440,"formats":18,"hash":450,"ext":146,"mime":147,"size":451,"url":452,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":453,"updatedAt":454,"documentId":455,"publishedAt":57},[735,742,749,756,763],{"__component":116,"id":334,"title":335,"subTitle":18,"content":336,"callToActionText":18,"callToActionLink":18,"colorStyle":337,"showAsides":69,"imageUrl":736},{"id":459,"name":166,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":737,"hash":473,"ext":23,"mime":26,"size":195,"url":474,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":475,"updatedAt":475,"documentId":476,"publishedAt":57},{"large":738,"small":739,"medium":740,"thumbnail":741},{"ext":23,"url":462,"hash":463,"mime":26,"name":172,"path":18,"size":173,"width":29,"height":174},{"ext":23,"url":465,"hash":466,"mime":26,"name":178,"path":18,"size":179,"width":20,"height":180},{"ext":23,"url":468,"hash":469,"mime":26,"name":184,"path":18,"size":185,"width":42,"height":186},{"ext":23,"url":471,"hash":472,"mime":26,"name":190,"path":18,"size":191,"width":192,"height":193},{"__component":116,"id":339,"title":340,"subTitle":18,"content":341,"callToActionText":18,"callToActionLink":18,"colorStyle":342,"showAsides":69,"imageUrl":743},{"id":479,"name":480,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":744,"hash":502,"ext":23,"mime":26,"size":503,"url":504,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":505,"updatedAt":505,"documentId":506,"publishedAt":57},{"large":745,"small":746,"medium":747,"thumbnail":748},{"ext":23,"url":483,"hash":484,"mime":26,"name":485,"path":18,"size":486,"width":29,"height":174},{"ext":23,"url":488,"hash":489,"mime":26,"name":490,"path":18,"size":491,"width":20,"height":180},{"ext":23,"url":493,"hash":494,"mime":26,"name":495,"path":18,"size":496,"width":42,"height":186},{"ext":23,"url":498,"hash":499,"mime":26,"name":500,"path":18,"size":501,"width":192,"height":193},{"__component":116,"id":344,"title":345,"subTitle":18,"content":346,"callToActionText":18,"callToActionLink":18,"colorStyle":337,"showAsides":69,"imageUrl":750},{"id":261,"name":262,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":751,"hash":284,"ext":23,"mime":26,"size":285,"url":286,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":287,"updatedAt":288,"documentId":289,"publishedAt":57},{"large":752,"small":753,"medium":754,"thumbnail":755},{"ext":23,"url":265,"hash":266,"mime":26,"name":267,"path":18,"size":268,"width":29,"height":174},{"ext":23,"url":270,"hash":271,"mime":26,"name":272,"path":18,"size":273,"width":20,"height":180},{"ext":23,"url":275,"hash":276,"mime":26,"name":277,"path":18,"size":278,"width":42,"height":186},{"ext":23,"url":280,"hash":281,"mime":26,"name":282,"path":18,"size":283,"width":192,"height":193},{"__component":116,"id":348,"title":349,"subTitle":18,"content":350,"callToActionText":351,"callToActionLink":110,"colorStyle":342,"showAsides":69,"imageUrl":757},{"id":516,"name":517,"alternativeText":18,"caption":18,"width":19,"height":167,"formats":758,"hash":539,"ext":23,"mime":26,"size":540,"url":541,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":542,"updatedAt":542,"documentId":543,"publishedAt":57},{"large":759,"small":760,"medium":761,"thumbnail":762},{"ext":23,"url":520,"hash":521,"mime":26,"name":522,"path":18,"size":523,"width":29,"height":174},{"ext":23,"url":525,"hash":526,"mime":26,"name":527,"path":18,"size":528,"width":20,"height":180},{"ext":23,"url":530,"hash":531,"mime":26,"name":532,"path":18,"size":533,"width":42,"height":186},{"ext":23,"url":535,"hash":536,"mime":26,"name":537,"path":18,"size":538,"width":192,"height":193},{"__component":134,"id":353,"title":354,"callToActionText":137,"callToActionLinkUrl":355,"body":18,"imageUrl":764},{"id":141,"name":142,"alternativeText":18,"caption":18,"width":143,"height":144,"formats":18,"hash":145,"ext":146,"mime":147,"size":148,"url":149,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":150,"updatedAt":151,"documentId":152,"publishedAt":57},{"id":357,"metaTitle":358,"metaDescription":359,"structuredData":766,"metaImage":18,"metaSocial":769},{"url":361,"@type":362,"@context":363,"provider":767,"areaServed":768,"description":371,"serviceType":372},{"url":365,"name":366,"@type":367},{"name":369,"@type":370},[],{"__component":106,"id":771,"titleLeft":772,"callToActionTextLeft":773,"callToActionLinkUrlLeft":774,"titleRight":775,"callToActionTextRight":776,"callToActionLinkUrlRight":777,"iconUrlLeft":778,"iconUrlRight":779},246,"Kan je een Developer gebruiken in je team?","Neem contact met ons op om de mogelijkheden te bespreken","https://www.sharevalue.nl/contact","Hoe leuk is het om Developer bij ShareValue te zijn? ","Onze collega's vertellen het graag!","/word-onze-collega/collegas-aan-het-woord",{"id":448,"name":449,"alternativeText":18,"caption":18,"width":339,"height":440,"formats":18,"hash":450,"ext":146,"mime":147,"size":451,"url":452,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":453,"updatedAt":454,"documentId":455,"publishedAt":57},{"id":154,"name":155,"alternativeText":18,"caption":18,"width":144,"height":144,"formats":18,"hash":156,"ext":146,"mime":147,"size":157,"url":158,"previewUrl":18,"provider":54,"provider_metadata":18,"createdAt":159,"updatedAt":160,"documentId":161,"publishedAt":57},{"id":781,"metaTitle":782,"metaDescription":783,"structuredData":784,"metaImage":18,"metaSocial":818},68,"Verbeter prestaties met Angular 18 Control Flow | ShareValue","Met de Control Flow API in Angular 18 verbeter je de prestaties en leesbaarheid van je code. Lees meer over de voordelen en implementatie.",{"faq":785,"url":808,"@type":809,"author":810,"@context":363,"headline":812,"publisher":813,"description":817,"dateModified":13,"datePublished":13,"mainEntityOfPage":808},[786,792,796,800,804],{"name":787,"@type":788,"acceptedAnswer":789},"Wat is de Control Flow API in Angular 18?","Question",{"text":790,"@type":791},"De Control Flow API in Angular 18 biedt een nieuwe syntax om condities in templates efficiënter te beheren, wat leidt tot betere prestaties, leesbaarheid en onderhoudbaarheid van de code.","Answer",{"name":793,"@type":788,"acceptedAnswer":794},"Wat zijn de voordelen van de nieuwe Control Flow syntax?",{"text":795,"@type":791},"De nieuwe syntax maakt templates eenvoudiger leesbaar, vermindert de noodzaak voor extra ng-template elementen, en biedt prestatieverbeteringen door efficiënter om te gaan met asynchrone data en loops.",{"name":797,"@type":788,"acceptedAnswer":798},"Is de Control Flow API backwards compatible?",{"text":799,"@type":791},"Ja, de nieuwe Control Flow API is volledig backwards compatible, wat betekent dat je de nieuwe syntax geleidelijk kunt implementeren zonder bestaande code te breken.",{"name":801,"@type":788,"acceptedAnswer":802},"Hoe pas ik de nieuwe Control Flow API toe in mijn Angular-project?",{"text":803,"@type":791},"Je kunt de nieuwe Control Flow API gebruiken door Angular CLI-migraties uit te voeren of de nieuwe syntax handmatig toe te passen. Voor migratie kun je bijvoorbeeld het commando 'ng generate @angular/core:control-flow' gebruiken.",{"name":805,"@type":788,"acceptedAnswer":806},"Wat zijn de voordelen van de nieuwe @switch directive in Angular?",{"text":807,"@type":791},"De nieuwe @switch directive vereenvoudigt het gebruik van conditionele logica in templates, maakt de code leesbaarder en vervangt de oude *ngSwitch syntax door een meer flexibele en overzichtelijke aanpak.","https://www.sharevalue.nl/blogs/angular-18-control-flow-api-prestatieverbeteringen-en-verbeterde-leesbaarheid-voor-jouw-applicaties","BlogPosting",{"name":553,"@type":811,"jobTitle":554},"Person","Angular 18 Control Flow API: Prestatieverbeteringen en verbeterde leesbaarheid voor jouw applicaties | ShareValue",{"logo":814,"name":366,"@type":367},{"url":815,"@type":816},"https://www.sharevalue.nl/logo.png","ImageObject","Ontdek de voordelen van de nieuwe Control Flow API in Angular 18. Leer hoe de verbeterde syntax voor condities in templates de prestaties en leesbaarheid van je applicaties optimaliseert.",[],{"pagination":820},{"page":821,"pageSize":135},1,{},1781259276241]