Engineering in JavaScript
Having talked to many developers, we found out that there is a huge demand for topics around engineering of SAPUI5 applications. The dynamic nature of JavaScript makes the language very powerful, but it is also challenging to build maintainable products with huge codebases. To counteract the tendency to messy codebases, we have to establish conventions and apply good engineering techniques. This blog post shall act as an overview about the different topics like testability, test driven development, local testing, continuous integration, agile software engineering, tools, setup of development environments, and clean code.
We are a group of developers, architects, and agile software engineering coaches going to publish a series of blog posts around these topics. So stay tuned, share and bookmark this page. We will update when a new blog is published.
Setup of Development Environment:
Testability:
- Starting with Test Driven Development in JavaScript
- Getting more out of your JavaScript unit tests with strict mode
- Basic Patterns for Testable JavaScript Code
- How to Unit Test Custom Exceptions with QUnit
- Unit versus Integration-Tests in JavaScript
- Testing Controls
- Isolated Integration Tests
- How to improve the testability of a SAPUI5 app
- Obsolete is replaced by OPA: How to test against SAPUI5 views in a non-fragile way
- Kind of Obsolete is replaced by MockServer: How to replace an ODataModel by a JSON Model
- SAPUI5 Mock Server: Replace OData with a TestDouble
- JavaScript based Integration Tests for SAPUI5 apps with OPA
Tools:
Awesome idea for a blog series. Well done!
One thing I've always thought about sapui5 development is why have sap chosen to use eclipse. Just seems an unusual way to do it when there are fantastic other editors out there that in my opinion are much more suited to the task. Personally I use sublime text 2 and regardless of my local web server I can have realtime updating on save... Can swap between multiple sapui5 versions easily... It all just seems harder via eclipse.
You could of course say that sap are standardising the development envuronment across all their technologies... But so far that's not really working as I need about 4 versions of eclipse: HANA studio, nwds, 64bit Kepler for HANA cloud; 32bit Kepler for ABAP and so on. 😉
Anyway - enough whinging - im looking forward to this series. 😉
Finally, lot's of useful information to questions i had myself 🙂 well done
In the last months our focus was mainly on improving the tools used internally. As first external visible result I have added links to two tools, which have gotten very good feedback so far. OPA is an extension for JavaScript based testing of SAPUI5 apps and MockServer allows to replace the ODataModel by a TestDouble. So you can implement your app and your tests independently from the backend server, even if the service is not available at all.