Preface

OutSystems is a software development platform that speeds up the build phase by abstracting code and making almost everything visual – this means replacing textual language with visual artifacts that avoid lexical errors and speed up code composition using accelerators and pre-defined templates.

The book begins by walking you through the fundamentals of the technology, along with a general overview of end-to-end web and mobile software development. You'll learn how to configure your personal area in the cloud and use the OutSystems IDE to connect with it. The book then shows you how to build a web application based on the best architectural and developmental practices, and takes the same approach for the mobile paradigm. As you advance, you'll find out how to develop the same application, and showcase the great potential of reusing code from one paradigm in another and the symbiosis between them. The only application that'll differ is the one used in BPT (Business Process Technology), with a focus on a common market use case.

By the end of this OutSystems book, you'll be able to develop enterprise-level applications on the web and mobile, integrating them with third parties and other systems on the market. You'll also be able to understand the concepts of performance, security, and software construction and apply them effectively.

Who this book is for

This book is for backend developers, tech leaders, UX/UI developers, frontend developers, (in general, full-stack developers), tech companies, and enterprises looking to learn how to develop web and mobile software quickly and disruptively by leveraging OutSystems, one of the most low-code platforms on the market. An IT background is not mandatory; however, experience in SQL, JavaScript, HTML, CSS, and C# is required to get started with this book.

What this book covers

Chapter 1, Exploring the OutSystems Platform, provides an overview of the base of the OutSystems platform and the characteristics that make it unique. Here, we discover the simplicity with which we can manage our existing development environments and tools.

Chapter 2, Components, Tools, and Capabilities, shows in greater detail the range of features and capabilities provided by the OutSystems platform, from operation and management tools, IDEs, and the strong community component through forums and the Forge.

Chapter 3, Starting Work with OutSystems, introduces the first practical steps so that we can develop our software. We will learn how to register with OutSystems, download the IDEs, and how to initialize them in our personal areas.

Chapter 4, Using Your Modules to Simplify and Encapsulate Your Code, starts with the foundations, as you would for a house, giving an overview of how we should build our software divided into modules and inserted into the layers they correspond to. This step allows us to develop scalable and robust, future-ready software.

Chapter 5, Modeling Data by Using Entities, addresses the fact that applications nowadays live on data. In this chapter, we learn where this data is stored and how we can access and manipulate it. In addition, we learn the terms used to identify each of the components related to the database in OutSystems.

Chapter 6, Server-Side Logic, looks at how modern applications run (in most cases) on the server and on the client (the user's computer browser). In this chapter, we learn what server-side development in OutSystems consists of and how to work on this aspect.

Chapter 7, Exceptions Handling, explains how we should handle anomalous or erroneous behavior in our applications, because things do not always go as expected and it is necessary to predict and deal with cases of failure, such as database errors, access attempts by unauthorized users, or even customized errors.

Chapter 8, Reactive UI Development, explains how to develop the frontend of our web applications within the reactive paradigm. This paradigm is based on the most modern technologies on the market, ensuring safety, performance, and robustness.

Chapter 9, Using Mobile Patterns for Fast Mobile UI Development, looks at the paradigm for mobile application development and how it is very similar to reactive web application development. However, and derived from the characteristics of devices and the use for which they are designed, mobile applications have a different set of points. This chapter focuses on these points in order to allow for an understanding of the differences and why they exist.

Chapter 10, Client-Side Logic, reminds us that we must keep in mind that an application must be composed of not only server-side logic but also client-side logic. This logic allows us to assess the functioning and functionalities of the application, guaranteeing its correct use and always ensuring an excellent user experience. It is in this chapter that we learn about this subject.

Chapter 11, Local Storage and Data Synchronization, deals with a specific case of mobile applications: local storage and how to synchronize data between it and server data. This feature is extremely important these days, as it allows the use of applications even without an internet connection (offline mode) and allows strict management of data that is stored on a less secure device, such as a mobile phone or tablet.

Chapter 12, Debugging and Troubleshooting Mobile and Reactive Web Apps, addresses the questions: Does our application not work? Are we getting errors in certain features? What is up? What is the problem? Calm! The OutSystems platform provides tools to help us! Furthermore, there is a set of basic procedures that are demonstrated in this chapter to facilitate us on this path.

Chapter 13, Designing the Architecture of Your OutSystems Applications, shows us how to create our applications within the standard model recommended by OutSystems: the 3 Layer Canvas, also known as the Architecture Canvas. This model allows the construction of robust, performant, and, above all, highly scalable software. However, we must always remember that architecture is not immutable, and here we understand how easily we can adapt it throughout the life cycle of our applications.

Chapter 14, Integrating OutSystems with Your Ecosystem, looks at how, often in software projects, it is necessary to integrate with other existing systems inside and outside the company's ecosystem. In this chapter, we learn several ways to do this, depending on the technologies of the producer and consumer systems and the planned approach to software development.

Chapter 15, BPT Processes and Timers – Asynchronous Tools in OutSystems, explains what asynchronism is, what tools of this type exist, what they are for, and in what cases we should use them. Here, we understand that we can process logic in programmed time periods and en masse, just as we can control process flows in an isolated and robust way.

To get the most out of this book

You must have installed Visual Studio Community for the C#/.NET native code integrations component discussed in Chapter 14, Integrating OutSystems with Your Ecosystem.

In addition, you must have installed the Service Studio 11.50.9 (or above) and Integration Studio 11.10.18 (or above) IDEs. All code demonstrated was tested using these versions. Installation of these IDEs is demonstrated in Chapter 3, Starting Work with OutSystems.

The use of Integration Studio is only possible in a Windows environment, as this IDE does not exist for the macOS environment.

Code in Action

The Code in Action videos for this book can be viewed at https://bit.ly/3D1S9bX.

Download the color images

We also provide a PDF file that has color images of the screenshots and diagrams used in this book. You can download it here:

https://static.packt-cdn.com/downloads/9781800208759_ColorImages.pdf

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Create a new Reactive Web application and name it Help Desk."

Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: "Now, we select the tab Data, expand the entity Ticket, and drag the CRUD CreateOrUpdateTicket to the flow."

Tips or important notes

Appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Share Your Thoughts

Once you've read Rapid Application Development with OutSystems, we'd love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.

Your review is important to us and the tech community and will help us make sure we're delivering excellent quality content.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.103.219