|
Load:
|
1. komponenta
| Lecture type | Total |
| Lectures |
30 |
| Exercises |
15 |
* Load is given in academic hour (1 academic hour = 45 minutes)
|
|
Description:
|
COURSE AIMS AND OBJECTIVES:
Enable students to:
- develop complex graphical user interfaces with reusable components;
- application of standard patterns for the implementation of graphical user interfaces;
- get acquainted with the automated testing of graphical user interfaces and with the process of source code compilation;
- work in a team and use appropriate software tools in order to complete project assignments.
COURSE DESCRIPTION AND SYLLABUS:
1. Structure of contemporary interfaces. The HTTP protocol. Advanced HTML and CSS concepts. Advanced syntax and semantics of contemporary JavaScript. Classical patterns (for example, MVC, MVP and MVVP). The selected library for the development of user interfaces and the accompanying ecosystem (e.g., Vue.js or React). Basics of state management. Dependency injection. Routes. Compilation and deployment of interfaces. Client-side authorisation and authentication. HTTPS, security challenges, common types of attacks and ways to provide protection.
2. Implementation of interfaces. Managing packages and projects. CSS conventions and preprocessors. TypeScript and transcompilation. Advanced use of the tools for compilation and optimisation (for example, tree shaking). Automated problem detection (so-called linting) and source code formatting. Templates, JSX and functional components. Reactivity and composables. State management, for example through the so-called mutations and actions. Synchronisation with remote services. Websockets. Exception handling. Design systems and a relevant example (for example, Material design). Optimisation by server-side rendering (SSR).
3. Chosen topics. Performance and lazy loading. Desktop and mobile interfaces using modern libraries and patterns. Services. Progressive applications. Native code in the browser. Unit tests. Integration tests. Functional tests. Optimising for web search engines (SEO). Accessibility.
|
|
Literature:
|
-
Eloquent JavaScript, M. Haverbeke, No Starch Press, 2018.
-
Learning Patterns, Lydia Hallie, Addy Osmani, self-published digital release, 2022.
-
Vue: The Road To Enterprise, Thomas Findlay, self-published digital release, 2022.
-
Collection of articles "Mozilla Developer Network", https://developer.mozilla.org.
-
Documentation for the React framework, https://reactjs.org.
-
Documentation for the Vue.js framework, https://vuejs.org.
-
Collection of open-source articles "You Don't Know JS Yet", https://github.com/getify/You-Dont-Know-JS.
|
|
Prerequisit for:
|
Enrollment
:
Attended
:
Web application development
Examination
:
Passed
:
Web application development
|