SuperUsers billede
Kursus
MS-480

Programming in HTML5 with JavaScript and CSS3

Kurset giver dig viden og færdigheder til at kunne implementere web apps baseret på HTML5, CSS3 og JavaScript.
Ingen kurser tilgængelige

Beskrivelse

På kurset får du en introduktion til HTML5, CSS3 og JavaScript og i den forbindelse danne dig en grundlæggende forståelse for HTML5/CSS3/JavaScript programmering. Dette er grundlaget for udvikling og implementering af Web applikationer.

Det er værd at nævne, at kurset især baserer sig på HTML/CSS, hvor der suppleres med JavaScript.

Vi gennemgår dokumentstrukturer og anvendelsen af objekter, og vi arbejder med, hvordan man anvender program-flows med event- og exception-håndtering, datatilgang og datasikkerhed.

Kurset er en kombination af teori og øvelser. Øvelserne giver dig en brugbar praktisk erfaring og fokuserer på principperne og kodestrukturerne, som er centrale i en HTML5 applikation.

På dette kursus anvendes Visual Studio på en Windows 10 maskine.

Moduloversigt

  • Modul 1
    Overview of HTML and CSS
    • Most modern web applications are built upon a foundation of HTML pages that describe the content that users read and interact with, style sheets to make that content visually pleasing, and JavaScript code to provide a level of interactivity between user and page, and page and server. The web browser uses the HTML markup and the style sheets to render this content, and runs the JavaScript code to implement the behavior of the application. This module reviews the basics of HTML and CSS, and introduces the tools that this course uses to create HTML pages and style sheets.

      Lessons

      • Overview of HTML
      • Overview of CSS
      • Creating a Web Application by Using Visual Studio 2017


      Lab : Exploring the Contoso Conference Application

      • Exploring the Contoso Conference Application
      • Examining and Modifying the Contoso Conference Application
  • Modul 2
    Creating and Styling HTML Pages
    • The technologies forming the basis of all web applications-HTML, CSS, and JavaScript-have been available for many years, but the purpose and sophistication of web applications have changed significantly. HTML5 is the first major revision of HTML in 10 years, and it provides a highly suitable means of presenting content for traditional web applications, applications running on handheld mobile devices, and also on the Windows 10 platform. This module introduces HTML5, describes its new features, demonstrates how to present content by using the new features in HTML5, and how to style this content by using CSS.

      Lessons

      • Creating an HTML5 Page
      • Styling an HTML5 Page


      Lab : Creating and Styling HTML5 Pages

      • Creating HTML5 Pages
      • Styling HTML pages
  • Modul 3
    Introduction to JavaScript
    • HTML and CSS provide the structural, semantic, and presentation information for a web page. However, these technologies do not describe how the user interacts with a page by using a browser. To implement this functionality, all modern browsers include a JavaScript engine to support the use of scripts in a page. They also implement Document Object Model (DOM), a W3C standard that defines how a browser should reflect a page in memory to enable scripting engines to access and alter the contents of that page. This module introduces JavaScript programming and DOM.

      Lessons

      • Overview of JavaScript
      • Introduction to the Document Object Model


      Lab : Displaying Data and Handling Events by Using JavaScript.

      • Displaying Data Programmatically
      • Handling Events
  • Modul 4
    Creating Forms to Collect and Validate User Input
    • Web applications frequently need to gather user input in order to perform their tasks. A web page needs to be clear and concise about the input expected from a user in order to minimize frustrating misunderstandings about the information that the user should provide. Additionally, all input must be validated to ensure that it conforms to the requirements of the application. In this module, you will learn how to define input forms by using the new input types available in HTML5. You will also see how to validate data by using HTML5 attributes. Finally, you will learn how to perform extended input validation by using JavaScript code, and how to provide feedback to users when their input is not valid or does not match the application’s expectations.

      Lessons

      • Creating HTML5 Forms
      • Validating User Input by Using HTML5 Attributes
      • Validating User Input by Using JavaScript


      Lab : Creating a Form and Validating User Input

      • Creating a Form and Validating User Input by Using HTML5 Attributes
      • Validating User Input by Using JavaScript
  • Modul 5
    Communicating with a Remote Server
    • Many web applications require the use of data held by a remote site. In some cases, you can access this data simply by downloading it from a specified URL, but in other cases the data is encapsulated by the remote site and made accessible through a web service. In this module, you will learn how to access a web service by using JavaScript code and to incorporate remote data into your web applications. You will look at two technologies for achieving this: the XMLHttpRequest object, which acts as a programmatic wrapper around HTTP requests to remote web sites, and Fetch API, which simplifies many of the tasks involved in sending requests and receiving data. Because the Fetch API and the XMLHttpRequest object are asynchronous api You will first learn about how to handle asynchronous tasks with the Promise object, arrow functions and the new async/await syntax that lets you handle asynchronous request as if they were synchronous.

      Lessons

      • Async programming in JavaScript
      • Sending and Receiving Data by Using the XMLHttpRequest Object
      • Sending and Receiving Data by Using the Fetch API


      Lab : Communicating with a Remote Data Source

      • Retrieving Data
      • Serializing and Transmitting Data
      • Refactoring the Code by Using the jQuery ajax Method
  • Modul 6
    Styling HTML5 by Using CSS3
    • Styling the content displayed by a web page is an important aspect of making an application attractive and easy to use. CSS is the principal mechanism that web applications use to implement styling, and the features added to CSS3 support many of the new capabilities found in modern browsers. Where CSS1 and CSS2.1 were single documents, the World Wide Web Consortium has chosen to write CSS3 as a set of modules, each focusing on a single aspect of presentation such as color, text, box model, and animations. This allows the specifications to develop incrementally, along with their implementations. Each specification defines properties and values that already exist in CSS1 and CSS2, and also new properties and values. In this module, you will examine the properties and values defined in several of these modules, the new selectors defined in CSS3, and the use of pseudo-classes and pseudo-elements to refine those selections.

      Lessons

      • Styling Text by Using CSS3
      • Styling Block Elements
      • Pseudo-Classes and Pseudo-Elements
      • Enhancing Graphical Effects by Using CSS3


      Lab : Styling Text and Block Elements by Using CSS3

      • Styling the Navigation Bar
      • Styling the Register Link
      • Styling the About Page
  • Modul 7
    Creating Objects and Methods by Using JavaScript
    • Code reuse and ease of maintenance are key objectives of writing well-structured applications. If you can meet these objectives, you will reduce the costs associated with writing and maintaining your code. This module describes how to write well-structured JavaScript code by using language features such as namespaces, objects, encapsulation, and inheritance. These concepts might seem familiar if you have experience in a language such as Java or C#, but the JavaScript approach is quite different and there are many subtleties that you must understand if you want to write maintainable code.

      Lessons

      • Writing Well-Structured JavaScript Code
      • Creating Custom Objects
      • Extending Objects


      Lab : Refining Code for Maintainability and Extensibility

      • Object Inheritance
      • Refactoring JavaScript Code to Use Objects
      • After this module, students will be able to:
      • Write well-structured JavaScript code.
      • Use JavaScript code to create custom objects.
      • Implement object-oriented techniques by using JavaScript idioms.
  • Modul 8
    Creating Interactive Pages by Using HTML5 APIs
    • Interactivity is a key aspect of modern web applications, enabling you to build compelling web sites that can quickly respond to the actions of the user, and also adapt themselves to the user's location. This module describes how to create interactive HTML5 web applications that can access the local file system, enable the user to drag-and-drop data onto elements in a web page, play multimedia files, and obtain geolocation information.

      Lessons

      • Interacting with Files
      • Incorporating Multimedia
      • Reacting to Browser Location and Context
      • Debugging and Profiling a Web Application


      Lab : Creating Interactive Pages with HTML5 APIs

      • Dragging and Dropping Images
      • Incorporating Video
      • Using the Geolocation API to Report the User's Current Location
  • Modul 9
    Adding Offline Support to Web Applications
    • Web applications have a dependency on being able to connect to a network to fetch web pages and data. However, in some environments a network connection may be intermittent. In these situations, it might be useful to enable the application to continue functioning by using data cached on the user's device. HTML5 provides a choice of new client-side storage options, including session storage and local storage, and a resource caching mechanism called the Application Cache. In this module, you will learn how to use these technologies to create robust web applications that can continue running even when a network connection is unavailable.

      Lessons

      • Reading and Writing Data Locally
      • Adding Offline Support by Using the Application Cache


      Lab : Adding Offline Support to Web Applications

      • Caching Offline Data by Using the Application Cache API
      • Persisting User Data by Using the Local Storage API
      • After completing this module, students will be able to:
      • Save data locally on the user's device, and access this data from a web application.
      • Configure a web application to support offline operations by using the Application Cache.
  • Modul 10
    Implementing an Adaptive User Interface
    • One of the most enduring features of the web is its temporary nature. For the first time, the monopoly of the keyboard and mouse is coming under challenge, and that means questioning how user interfaces are designed. You may develop a web application on a computer with a large, high-resolution monitor, a mouse, and a keyboard, but other users might view and interact with your application on a smartphone or a tablet without a mouse, or have a monitor with a different resolution. Users may also want to print pages of your application. In this module, you will learn how to build a website that adapts the layout and functionality of its pages to the capabilities and form factor of the device on which it is being viewed. You will see how to detect the type of device being used to view a page, and learn strategies for laying out content that effectively targets particular devices.

      Lessons

      • Supporting Multiple Form Factors
      • Creating an Adaptive User Interface


      Lab : Implementing an Adaptive User Interface

      • Creating a Print-Friendly Style Sheet
      • Adapting Page Layout to Fit Different Form Factors
  • Modul 11
    Creating Advanced Graphics
    • High-resolution, interactive graphics are a key part of most modern applications. Graphics can help to enhance the user's experience by providing a visual aspect to the content, making a website more attractive and easier to use. Interactivity enables the graphical elements in a website to adapt and respond to user input or changes to the environment, and is another important element in retaining the attention of the user and their interest in the content. This module describes how to create advanced graphics in HTML5 by using Scalable Vector Graphics (SVG) and the Microsoft Canvas API. You will learn how to use SVG-related elements such as , , and to display graphical content on a web page. You will also learn how to enable the user to interact with SVG elements through the use of events such as keyboard events and mouse events. The Canvas API is somewhat different than SVG.

      Lessons

      • Creating Interactive Graphics by Using SVG
      • Drawing Graphics by Using the Canvas API


      Lab : Creating Advanced Graphics

      • Creating an Interactive Venue Map by Using SVG
      • Creating a Speaker Badge by Using the Canvas API
  • Modul 12
    Animating the User Interface
    • Animations are a key element in maintaining the interest of a user in a website. Implemented carefully, animations improve the usability of a web page and provide useful visual feedback on user actions. This module describes how to enhance web pages by using CSS animations. You will learn how to apply transitions to property values. Transitions enable you to specify the timing of property changes. For example, you can specify that an element should change its width and height over a five-second period when the mouse pointer hovers over it. Next, you will learn how to apply 2D and 3D transformations to elements. Transformations enable you to scale, translate, rotate, and skew elements. You can also apply transitions to transformations, so that the transformation is applied gradually over a specified animation period. At the end of this module, you will learn how to apply keyframe animations to elements. Keyframe animations enable you to define a set of property values at specific moments during an animation. For example, you can specify the color and position of an element at 0 percent, 33 percent, 66 percent, and 100 percent of the animation period.

      Lessons

      • Applying CSS Transitions
      • Transforming Elements
      • Applying CSS Keyframe Animations


      Lab : Animating the User Interface

      • Applying CSS Transitions
      • Applying Keyframe Animations
  • Modul 13
    Implementing Real-time Communication by Using Web Sockets
    • Web pages request data on demand from a web server by submitting HTTP requests. This model is ideal for building interactive applications, where the functionality is driven by the actions of a user. However, in an application that needs to display constantly changing information, this mechanism is less suitable. For example, a financial stocks page is worthless if it shows prices that are even a few minutes old, and you cannot expect a user to constantly refresh the page displayed in the browser. This is where web sockets are useful. The Web Sockets API provides a mechanism for implementing real-time, two-way communication between web server and browser. This module introduces web sockets, describes how they work, and explains how to create a web socket connection that can be used to transmit data in real time between a web page and a web server.

      Lessons

      • Introduction to Web Sockets
      • Using the WebSocket API


      Lab : Performing Real-time Communication by Using Web Sockets

      • Receiving Messages from a Web Socket
      • Sending Messages to a Web Socket
      • Handling Different Web Socket Message Types
  • Modul 14
    Performing Background Processing by Using Web Workers

    • JavaScript code is a powerful tool for implementing functionality in a web page, but you need to remember that this code runs either when a web page loads or in response to user actions while the web page is being displayed. The code is run by the browser, and if the code performs operations that take a significant time to complete, the browser can become unresponsive and degrade the user's experience. HTML5 introduces web workers, which enable you to offload processing to separate background threads and thus enable the browser to remain responsive. This module describes how web workers operate and how you can use them in your web applications.

      Lessons

      • Understanding Web Workers
      • Performing Asynchronous Processing by Using Web Workers


      Lab : Creating a Web Worker Process

      • Improving Responsiveness by Using a Web Worker
  • Modul 15
    Packaging JavaScript for Production Deployment
    • Using models allows you to build large, complex applications. The progress of the language in the version of ECMAScript6 allows the build app with to simplify the application construction process. However, the use of ECMAScript6 modules and other features is not yet supported in all browsers. Tools such as Node.js, Webpack, and Babel enable the use of new language features along with support for different browsers in order to avoid harming the user experience. In this module we will introduce the theory behind these tools, when we need to used them, and the different options for use. At the end of the module we will see how to use these tools to write ECMAScript6 code supported in all browsers.

      Lessons

      • Understanding Transpilers And Module bundling
      • Creating Separate Packages for Cross Browser Support


      Lab : Setting Up Webpack Bundle for Production

      • Creating and Deploying Packages using WebPack

Jeg kan ikke give andet end 5 stjerner for det hele. Enten er I helt i særklasse, eller også er jeg bare kommet de forkerte kursussteder tidligere. Fantastisk sted og atmosfære.... når først man har lært at finde rundt :-)

— Mikael Ejberg Pedersen
Cobham SATCOM

Nok det bedste kursus jeg har været på og den bedste instruktør jeg har haft!! Rigtig god dybde og uddybende forklaringer, og derudover fantastisk mad!!!

— Michael Hasløv
Lån & Spar Bank

Lækker mad, hyggelige lokaler, god struktur og stemning. Kommer igen når jeg kan.

— Ea Stenberg
Oticon A/S

Absolut det bedste kursus jeg har deltaget i!

— Esben Salling
JN Data A/S

Kursusstedet er så indbydende og velkomne, at det har været en fornøjelse at være her. Rent, pænt og fuld af charme. Jeg deltog på et kursus, hvor alle enkelte dele gik op i en højere enhed, som knap kan beskrives.

— Bo Peter Jensen
Kyndryl Danmark ApS

Jeg fik meget ud af kurset, det har åbnet øjnene for muligheder, jeg ikke var klar over eksisterede. Jeg er sikker på det ikke er sidste gang, vi er i kontakt med SuperUsers.

— Christian Larsen
Siemens Gamesa Renewable Energy A/S

Jeg havde ikke i min vildeste fantasi troet, at et kursussted kunne være så flot. Ved ikke om det er rigtigt, men jeg har en idé om, at omgivelserne smitter af på dem som arbejder her, så alle virker utrolig glade.

Der er en rigtig god stemning. Lige fra hende som sidder i receptionen, til dem som arbejder i køkkenet.

— Jannik Berg Møller
Metro Service

Underviseren har i meget høj grad tilpasset kurset til mit niveau og været fleksibel. Jeg havde meget høje forventninger, og de blev overgået.

Stor præcision, gode øvelser, godt tempo, god stemning og max på læring.

— Luka Dalum
Semler

Instruktøren var meget behagelig og øvelserne var enormt gode. Blev virkelig meget klogere omkring emnerne, kurset handlede om.

Derudover virkelig gode, rolige og grønne omgivelser med god forplejning - specielt god mad. Her vil jeg gerne tage mine kurser næste gang igen.

— Arif Mikkelsen Yüce
Københavns Kommune

Det var en ren fornøjelse at være på kursus hos SuperUsers. Den uge vi har været på kursus var pengene værd og gør, at vi nu kan spare mange konsulenttimer. Det er altid rart at have viden in-house.

Der er en afslappende atmosfære i kursuslokalet, skønne omgivelser i selve bygningen samt dygtige instruktører, som gør det rigtig godt.

Jeg kom i gang med at bruge al den viden, jeg sugede til mig på kurset næsten med de samme, og nu er vi i fuld gang med udvikling af vores fremtidige cloud løsning.

Der er ingen tvivl om, hvem skal vi henvende os, hvis der er behov for andre kurser.

— Maksym Bilyk
KVM A/S

Det er første gang jeg har været hos SuperUsers. Dette har været en rigtig god oplevelse. Instruktøren virker til at være meget erfaren og kompetent.

Instruktørens stærke tekniske baggrund gør oplevelsen og uddybelsen af spørgsmål til en god oplevelse.

— Thomas Gram
Nic. Christiansen Gruppen A/S

Rigtig fint kurussted i fine omgivelser, som sætter gode omgivelser til fordybning. Instruktøren fremstår velforberedt med stor viden omkring de relevante emner.

Instruktøren udviste også god evne til at svare på eventuelle spørgsmål, som måtte opstå undervejs i forløbet.

— Simon Schmidt Eriksen
Norlys

Jeg kommer igen næste gang jeg skal på kursus, det er et dejligt sted, fantastisk god mad og instruktøren har stor viden og deler gerne ud af den!

— Jan Christiansen
TV2 Danmark A/S

Den tekniske dybde på kurset var virkelig god, instruktøren havde meget dybere viden, end pensum nødvendigvis kræver.

Man kunne smide diverse curveballs efter instruktøren, og han havde styr på det hele - han gjorde desuden indholdet spændende.

— Nicolai Bæklund
Danish Crown

Så fik vi gennemført kurser i Microsoft 365 for samlet 5 personer her i afdelingen. Alle siger samstemmende, at det har været et fremragende kursus med en dygtig underviser og kommunkator, som kunne drøfte og informere på rette niveau, men samtidig med effektivitet og humor.

Det har været en rigtig god oplevelse.

— Henrik Dyrhøj
Nyborg Kommune

Der er fred og ro på SuperUsers landsted. God atmosfære og forplejning. Der er kigget til et sundhedsaspekt mht til mad og kage så det ikke tager fuldstændig overhånd.

Instruktøren er velvidende på emnerne og perspektivere gerne bredt til andre relevante områder. Det er givende, at dette også er muligt og giver en selv tanker til videre fordybelse.

Derudover var instruktøren engageret og underholdende at have til at præsenterere indhold for sig.

— Kenneth Middelboe Carlson
Svend Hoyer A/S

Det var som altid en go' oplevelse, og man lærer en masse på kort tid af nogle meget dygtige undervisere.

Jeg arbejder i Azure stort set hver dag, og begge kurser har været rigtige gode til at hjælpe mig med at forstå Azure bedre.

— Marthin Lundquist
DEAS A/S

Instruktøren er meget præsentationsorienteret og inddrager én i undervisningen og materialet. Han er god til at variere undervisningen, så det ikke bliver trivielt.

Det er tydeligt, at instruktøren både har hands-on experience og ikke kun teorien, med mange gode eksempler som refererede til real-world udfordringer, vi måtte opleve.

Gode faciliteter og god forplejning, uden at at man drukner i usunde vaner.

— Kenneth Middelboe Carlson
Svend Hoyer A/S

Very good course, the instructor was the best. I've been here at SuperUsers before, now I'm here again, and hopefully coming back another time.

— Mads From
Sampension Administrationsselskab A/S

Instruktøren virkede meget kompetent og har meget viden om sit fagområde. Han var god til at forklare på en forståelig og humoristisk måde. Derudover var der simple øvelser, som gav god forståelse. 

— Jeppe Hvelplund
Vattenfall Vindkraft A/S

Instruktøren var rigtig god til at gå i dybden, men samtidig være sikker på at folk var med. Virkelig flot sted, lokale og lækker mad.

Der var ingen tvivl om at instruktøren vidste præcis, hvad han snakkede om, og selv de mest simple spørgsmål blev besvaret med glæde, og uden at nogen skulle føle sig dumme.

— Jesper Nederby
Rudersdal Kommune

Dejligt hyggeligt sted, hvor receptionist, køkkenet, undervisere får en til at føle hjemme. Gode rammer skaber god læring. Rigtig god mad, der er med til at give en helhed i oplevelsen af at være på kursus hos SuperUsers.

— Henrik Valentin Eltang
Privatperson

Super tilfreds med stedet og opholdet over i hestestalden. Vil se om jeg ikke kan komme her over igen, til næste kursus jeg skal på. Rigtig flot bygning og fedt at opleve sådan et sted. Kanon sted at holde kursus.

— Mads-Ejnar Kehlet
Herningsholm IT-center

Er du i tvivl?

Det ligger os meget på sinde, at du finder det kursusforløb, der skaber størst værdi for dig og din arbejdsplads. Tag fat i vores kursusrådgivere, de sidder klar til at hjælpe dig!

SuperUsers
Har du spørgsmål? Kontakt os