A quickstart guide to your first Glassfish process which:
* Accepts input as webservice
* Writes data to a file on local harddisk
* Return a value to the calling webservice.
A quickstart guide to your first Glassfish process which:
* Accepts input as webservice
* Writes data to a file on local harddisk
* Return a value to the calling webservice.
Techdays 2013 NL - Serious Request met Windows AzureMichaël Hompus
Bijna iedereen in Nederland kent de Serious Request actie van 3FM en het Nederlands Rode Kruis. Wat weinig mensen weten is dat de afgelopen 2 edities voor een belangrijk deel op Windows Azure draaide. In deze presentatie wordt de architectuur achter de oplossing toegelicht, welke Azure componenten er gebruikt zijn. Wat we geleerd hebben van de eerste editie, wat we daarom aanpast hebben voor de tweede editie, en wat er nog meer mogelijk was omdat het Windows Azure platform zich in de tussentijd ook verder ontwikkeld heeft. Ook worden er veel ervaringen gedeeld waar je als ontwikkelaar tegen aan kan lopen bij het opzetten van een Windows Azure oplossing.
HTML 5, ASP.NET MVC & Windows Azure sessie voor Ivo BruggePureplexity
Deze presentatie werd gegeven bij de sessie die we gaven voor de 2de en 3de jaars studenten van het graduaat informatica aan het IVO te Brugge. In deze presentatie behandelden we 3 grote onderwerpen: HTML 5, ASP.NET MVC en Windows Azure.
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Nederland
Met de lancering van de nieuwste TYPO3 CMS versies wordt het belang van werken met Extbase en Fluid steeds groter. Wanneer je nog extensies ontwikkelt op basis van pi_base of je wilt graag extensies gaan ontwikkelen maar je vindt de drempel is hoog, in deze sessie leer je de basics van een extase / fluid extensie en zie je hoe eenvoudig het is om extensies te ontwikkelen.
Henjo Hoeksma
Na enkele jaren als hobby met TYPO3 gewerkt te hebben, heeft Henjo zijn beroep gemaakt van het ontwikkelen van websites en webapplicaties op basis van het TYPO3 framework. Na een korte periode gewerkt te hebben als ontwikkelaar bij alterNET en een internationaal bedrijf in LED verlichting is hij als freelancer aan de slag gegaan.
Met een passie voor nieuwe technieken, kwalitatieve oplossingen & code en de TYPO3 producten & community ondersteunt hij vanuit zijn bedrijf Stylence zowel grote als minder grote organisaties in de ontwikkeling van websites en maatwerk oplossingen.
NL Front-end Guidelines (HTML,CSS,Javascript)Mathijs Jong
Visie op semantiek, techniek, structuur en werkwijze anno 2012.
Hoe schrijf je toegankelijke en herbruikbare HTML, CSS en Javascript?
Wat is Modular CSS?
Deze workshop geeft je de argumenten.
Techdays 2013 NL - Serious Request met Windows AzureMichaël Hompus
Bijna iedereen in Nederland kent de Serious Request actie van 3FM en het Nederlands Rode Kruis. Wat weinig mensen weten is dat de afgelopen 2 edities voor een belangrijk deel op Windows Azure draaide. In deze presentatie wordt de architectuur achter de oplossing toegelicht, welke Azure componenten er gebruikt zijn. Wat we geleerd hebben van de eerste editie, wat we daarom aanpast hebben voor de tweede editie, en wat er nog meer mogelijk was omdat het Windows Azure platform zich in de tussentijd ook verder ontwikkeld heeft. Ook worden er veel ervaringen gedeeld waar je als ontwikkelaar tegen aan kan lopen bij het opzetten van een Windows Azure oplossing.
HTML 5, ASP.NET MVC & Windows Azure sessie voor Ivo BruggePureplexity
Deze presentatie werd gegeven bij de sessie die we gaven voor de 2de en 3de jaars studenten van het graduaat informatica aan het IVO te Brugge. In deze presentatie behandelden we 3 grote onderwerpen: HTML 5, ASP.NET MVC en Windows Azure.
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Nederland
Met de lancering van de nieuwste TYPO3 CMS versies wordt het belang van werken met Extbase en Fluid steeds groter. Wanneer je nog extensies ontwikkelt op basis van pi_base of je wilt graag extensies gaan ontwikkelen maar je vindt de drempel is hoog, in deze sessie leer je de basics van een extase / fluid extensie en zie je hoe eenvoudig het is om extensies te ontwikkelen.
Henjo Hoeksma
Na enkele jaren als hobby met TYPO3 gewerkt te hebben, heeft Henjo zijn beroep gemaakt van het ontwikkelen van websites en webapplicaties op basis van het TYPO3 framework. Na een korte periode gewerkt te hebben als ontwikkelaar bij alterNET en een internationaal bedrijf in LED verlichting is hij als freelancer aan de slag gegaan.
Met een passie voor nieuwe technieken, kwalitatieve oplossingen & code en de TYPO3 producten & community ondersteunt hij vanuit zijn bedrijf Stylence zowel grote als minder grote organisaties in de ontwikkeling van websites en maatwerk oplossingen.
NL Front-end Guidelines (HTML,CSS,Javascript)Mathijs Jong
Visie op semantiek, techniek, structuur en werkwijze anno 2012.
Hoe schrijf je toegankelijke en herbruikbare HTML, CSS en Javascript?
Wat is Modular CSS?
Deze workshop geeft je de argumenten.
A presentation (in Dutch) on using Durandal for SPAs. This was a presentation given for an internal meeting at Team4Talent (http://www.team4talent.be). There is a demo app to go along with it at https://github.com/petermorlion/DurandalDemo. The notes with each slide sometimes refer to this demo app.
In this hands-on workshop, Maurice will personally guide you through a series of exercises designed to empower you with a deep understanding of React Server Components and the power of TypeScript. Discover how to optimize your applications, improve performance, and unlock new possibilities.
Maurice will virtually be by your side, offering comprehensive guidance and answering your questions as you navigate each exercise. By the end of the workshop, you'll have mastered React Server Components, armed with a newfound arsenal of TypeScript knowledge to supercharge your React applications.
Don't miss this opportunity to elevate your React expertise to new heights. Join our workshop and unlock the potential of React Server Components with TypeScript. Your apps will thank you.
Let's face the facts and admit it: Estimating how long it will take to build software is hard.
Why is estimation so hard? Well there are some reasons for that. Many people tend to be optimistic about how long it will take to do a task. Not surprising when we learn the way memory works. It tends to skew our experiences from old projects. We often forget the many small setbacks encountered. Another reason is that many tasks are not included in the initial estimate. They only become visible over time.
Does that mean that estimation is impossible and a waste of time?
Not at all. Many software development activities are commercial activities. Starting something without even a rough estimate of what the costs and timeline will be is risky at best.
Surati Tech Talks 2022 / Build reliable Svelte applications using CypressMaurice De Beijer [MVP]
Tired of having users email you that your Svelte application is broken? Turns out that building reliable applications is hard and requires a lot of testing. You can write unit tests but quite often these all pass and the application is still broken. Why? Because they test parts of the application in isolation. But for a reliable application we need more. We need to make sure that all parts, including the backend API’s, work together as intended.
Cypress is a great tool to achieve this. It will test you complete web application in the browser and use it like a real world user would. In this session Maurice will show you how to use Cypress during development and on the CI server with Svelte. He will share tips and tricks to make your tests more resilient and more like how an actual end user would behave.
Tired of having users email you that your web application is broken? Turns out that building reliable web applications is hard and requires a lot of testing. You can write unit tests but quite often these all pass and the application is still broken. Why? Because they test parts of the application in isolation. But for a reliable application we need more. We need to make sure that all parts work together as intended.
Cypress is a great tool to achieve this. It will test you complete web application in the browser and use it like a real user would. In this session Maurice will show you how to use Cypress during development and on the CI server. He will share tips and tricks to make your tests more resilient and more like how an actual end user would behave.
Building a small to medium size business application with React isn't terribly hard. It has been done lots of times and there is plenty of information about what works and what doesn't. However building a large, complex and mission critical application with React is another matter. How to configure reliable hosting on Azure for the front and back-end? How to track runtime errors that happen in the browser. And how to create an efficient workflow between front and back-end teams. In this session Maurice de Beijer will share his experiences in building a globally deployed application that is used by thousands of people who depend on the availability and proper functioning of the application for a safe work environment.
https://azconf.dev/
With the release of React 18 we finally get the long awaited concurrent rendering. But how is that going to affect your application? What are the benefits of concurrent rendering in React? What do you need to do to switch to concurrent rendering when you upgrade to React 18? And what if you don’t want or can’t use concurrent rendering yet?
There are some behavior changes you need to be aware of! In this workshop we will cover all of those subjects and more.
Join me with your laptop in this interactive workshop. You will see how easy it is to switch to concurrent rendering in your React application. You will learn all about concurrent rendering, SuspenseList, the startTransition API and more.
https://reactadvanced.com/workshops-3h
Building a small to medium size business application with React isn't terribly hard. It has been done lots of times and there is plenty of information about what works and what doesn't. However building a large, complex, distributed and mission critical application with React is another matter. Add occasional poor mobile connectivity and things become really challenging. That doesn't mean that it is impossible, it is just harder to architect and develop. In this session Maurice de Beijer will share his experiences in building a globally deployed application that is used by thousands of people who depend on the availability and proper functioning of the application for a safe work environment.
https://www.c-sharpcorner.com/events/react-virtual-conference2
Building a small to medium size business application with React isn't terribly hard. It has been done lots of times and there is plenty of information about what works and what doesn't. However building a large, complex, distributed and mission critical application with React is another matter. Add occasional poor mobile connectivity and things become really challenging. That doesn't mean that it is impossible, it is just harder to architect and develop. In this session Maurice de Beijer will share his experiences in building a globally deployed application that is used by thousands of people who depend on the availability and proper functioning of the application for a safe work environment.
https://www.meetup.com/nl-NL/tilburg-tech-tuesdays/events/277150883/
Een kleine React applicatie bouwen met een backend is niet moeilijk. Maar wat als de applicatie groter en complexer wordt? Dan wordt het een ander verhaal. En al helemaal als het een publiek toegankelijke applicatie is.
Plotseling blijkt dat allerlei vaak gedane aannames niet meer kloppen. Je krijgt te maken met netwerkstoringen en schaalbaarheid. Verschillende teams die onafhankelijk van elkaar aan de front- en backend werken. Runtime fouten die optreden omdat sommige browsers toch net even anders blijken te werken dan je verwacht.
In deze sessie gaat Maurice de Beijer zijn ervaringen delen over hoe je dit aan kan pakken.
The React team rewrote the book on developing components. Before we had a choice between classes and functional components. Yet many components needed to be classes. A functional component was often too limited. Now, using hooks, we can extend functional components to be as powerful as we want.
Suspense and asynchronous rendering is in the future of React. It will make large applications much more responsive and easier to deal with. Getting started with suspense and asynchronous rendering isn't hard as you will discover.
Come to this session to learn what React hooks are and how to get started using hooks. But be warned, once seen React hooks can’t be unseen and your React components will never be the same again.
Tired of having users email you that your web application is broken? Turns out that building reliable web applications is hard and requires a lot of testing. You can write unit tests but quite often these all pass and the application is still broken. Why? Because they test parts of the application in isolation. But for a reliable application we need more. We need to make sure that all parts work together as intended.
Cypress is a great tool to achieve this. It will test you complete web application in the browser and use it like a real user would. In this session Maurice will show you how to use Cypress during development and on the CI server. He will share tips and tricks to make your tests more resilient and more like how an actual end user would behave.
React keeps on evolving and making hard things easier for the average developer.
One case, where React was not particularly hard but very repetitive, is working with AJAX request. There is always the trinity of loading, success and possible error states that had to be handled each time. But no more as the <Suspense /> component makes life much easier.
Another case is performance of larger and complex applications. Usually React is fast enough but with a large application rendering components can conflict with user interactions. Concurrent rendering will, mostly automatically, take care of this.
You will learn all about using , showing loading indicators and handling errors. You will see how easy it is to get started with concurrent rendering. You will make suspense even more capable by combining it with concurrent rendering, the useTransition() hook and the component.
The React team has rewritten the book on developing components several times. This time they have introduced Suspense. Amongst other thing this makes splitting your application into multiple bundles easier. But that is only the start as the real innovation comes when loading data. Gone are the side effect hooks with the typical loading, loaded and error states. Instead we can suspend components when loading data. Need to do multiple request? No problem you can suspend multiple components at the same time if you want. Need to trap errors? No problem just use a standard React error boundary. Come to this session to learn what React Suspense can do for you.
Reactive and functional programming, you have probably heard the term mentioned before. It’s supposed to be really cool and a good practice. But what is reactive programming exactly and how to get started with it in JavaScript? And why does Angular start using the reactive extensions for JavaScript (RxJS) instead of standard promises?
In this presentation, Maurice is going to show you how to get started with RxJS, the JavaScript implementation of the ReactiveX library. You will learn why using RxJS is a great way of dealing with streams of events in an asynchronous and functional way.
Using restful APIs can be hard on your React applications. Before you know it, you are doing lots of parallel queries to the server. Using GraphQL instead of REST might help a lot. Instead of downloading many complete resources each component declares its own needs. Then the GraphQL client library then combines these requirements. The result is a single optimized query for the server. In this session, Maurice de Beijer is going to show you how to get started with GraphQL in your React applications.
3. Wie ben ik
• Maurice de Beijer
• The Problem Solver
• Microsoft Integration MVP
• DevelopMentor instructor
• Twitter: @mauricedb
• Blog: http://msmvps.com/blogs/theproblemsolver/
• Web: http://www.HTML5Support.nl
• E-mail: mauricedb@computer.org
4. Agenda
• CSS3
– LESS
– Web Essentials 2012
• JavaScript
– Asynchronous Module Definition
– TypeScript
– Frameworks/Libraries
• Communicatie
– MVC met een JSON resultaat
– WebApi
– SignalR
22. TypeScript
TypeScript is a language for application-
scale JavaScript development.
TypeScript is a typed superset of
JavaScript that compiles to plain
JavaScript. Any browser. Any host. Any
OS. Open Source.
23. TypeScript
• Geeft ons ECMAScript 6 features
– Classes
– Interfaces
– Modules
• Een super set van JavaScript
24. TypeScript
• Een type checking compiler
• Kan declaratie bestanden gebruiken
– Zie DefinitelyTyped
27. Frameworks/Libraries
• Een kwestie van voorkeur
– Ember is populair binnen de Ruby wereld
– Knockout is populair binnen de .NET
wereld
• Nuttige vergelijkingen
– TodoMCV
– The Top 10 Javascript MVC Frameworks
29. MVC controller met JSON
• Simpel te doen is ASP.NET MVC
• Soms goed genoeg voor eigen
websites
– Hou rekening met caching!
30. WebApi
• Om een REST service te maken
– Lijkt sterk op ASP.NET MVC
• Gebruikt content negotiation
– Standaard XML en JSON
• OData ondersteuning
– Filter, sortering etc
31. Een WebAPI Controller
public class BooksController : ApiController
{
public IQueryable<Book> GetBook()
{
}
public HttpResponseMessage GetBook(int id)
{
}
public Book PutBook(Book book)
{
}
public HttpResponseMessage<Book> Post(Book book)
{
}
public void DeleteBook(int id)
{
}
}
32. SignalR
• Geeft ook push notificatie
– Kan erg nuttig zijn in multi user applicaties
• Gebruikt WebSockets als het kan
– Valt anders terug op een ander protocol
33. Een SignalR hub
public class BooksHub: Hub
{
public IEnumerable<Book> GetBooks()
{
var books = _repo.GetBooks();
return books;
}
public void UpdateBook(Book book)
{
var newBook = _repo.UpdateBook(book);
this.Clients.bookUpdated(newBook);
}
}
36. Conclusie
• Het web is niet meer wat het geweest
is
– Gebruikers verwachten steeds meer
• LESS maakt CSS makkelijker
• TypeScript maakt JavaScript beter
• WebAPI en SignalR
– Maken communicatie beter