The purpose of this blog is to explain how to work with Visual Studio Code
SAPUI5 Extension, at least that was my first thought
🙂 I am an author of the extension. After getting some experience with people who are trying to use the extension with questionable success, I've decided to share the thoughts which were in mind when developing the extension. In order to do that there is a long journey into technical details, many complex programming terms, principles and more.
This blog is for software developers who cares about the code and people who reads and supports it. I will explain (or at least try to do it) how to develop maintainable, reusable, flexible and readable software product within SAPUI5 framework. There will be a lot of theory followed by practical examples, including comparison with other programming languages, diagrams. It will be hard to read and understand for most of the developers, and even harder to accept it. Many will disagree and argue, but that part is always there.
I came from the world, where SAP Fiori Elements and Smart Controls are used rarely because of lacking of flexibility. Don't get me wrong, those approaches are very decent and great for many cases, but I wasn't so lucky. Most of the projects I've been participating in transformed into freestyle UI5 app development for many reasons, sooner or later. That's why the most of the information will be related to freestyle development, however many principles can by applied to development via Fiori Elements/Smarts as well. Be sure, if you manage to understand these topics, it will be a lot easier to understand most of the modern OOP languages and become much more than a JavaScript developer.
Taking in mind that SAP invested in typescript for UI5 a lot, following guidelines below will prepare you to start using it without any problems.
Everything that will be discussed here is my own experience and opinion.
All topics below will be mixed with info about VSCode SAPUI5 Extension and how exactly it supports developers.
Approximate agenda is as follows:
- Object Oriented Programming in UI5, part 1. Classes, fields, methods, UML Diagrams
- Object Oriented Programming in UI5, part 2. Properties, aggregations, associations, compositions
- Object Oriented Programming in UI5, part 3. Bindings
- Object Oriented Programming in UI5 part 4. Inheritance, interfaces
- Object Oriented Programming in UI5 part 5. What does "abstract","final", "static" mean
- Object Oriented Programming in UI5 part 6. Access level modifiers (public, protected, private)
- Object Oriented Programming in UI5 part 7. Polymorphism
- Object Oriented Programming in UI5, part 8. Software design patterns
- Object Oriented Programming in UI5, part 9. SOLID principles
- Object Oriented Programming in UI5, part 10. Other tips and tricks
Topics above will be transformed into links as soon they are written and available.