Liferay Screens
Table of Contents
Liferay Screens for iOS
Liferay Screens for Android
Introduction
Screens is Liferay's effort to speed up and simplify the development of native apps for mobile devices. This may grow to include apps for any of the new categories of smart devices that are currently emerging. Liferay Screens provides a common infrastructure and a family of components called screenlets that are connected to the Liferay platform. This allows your mobile applications to leverage the wide variety of server-side features that Liferay already provides.
Before Screens, you could leverage those features by developing mobile apps using the Liferay Mobile SDK. However, Mobile SDK is a low-level layer on top of the Liferay JSON API. This means that you need to know what Liferay's remote services are and how to make specific calls to them. If you already know some of those Liferay concepts, then you may want to take a look at the Mobile SDK documentation to check whether it's convenient for your needs.
The goal of Screens is to speed up mobile app development by hiding the additional complexity of calling Liferay's remote services. Screens gives you a set of screenlets that make all the server calls under the hood, so you don't have to deal with remote services, JSON responses, or any other seemingly strange parameters. With Screens you're able to customize the UI, hide or extend screenlets' features, or even override the default behavior to implement specific features in your project. What's more, Screens can be seamlessly integrated into any of your existing projects.
Overview of Liferay Screens for iOS
The implementation of Screens for iOS devices uses standard development tools for iOS, such as Xcode, iOS SDK, iOS Simulator, and others. Screens is developed using the new Swift language and modern development techniques, such as functional Swift code and the Model View Presenter architecture. This makes Screens a great way to construct your app in a modular way.
Getting Started on iOS
If you want to add Liferay Screens to your project right away, just jump to the section Preparing Your Project for Liferay Screens.
Once your project is ready, the following screenlets are available for use in your app:
LoginScreenlet
: Gives your app the ability to sign users in to a Liferay Portal.SignUpScreenlet
: Gives your app the ability to sign new users in to a Liferay Portal.ForgotPasswordScreenlet
: Gives your app the ability to send emails containing a new password or password reset link to users.UserPortraitScreenlet
: Gives your app the ability to show the user's portrait picture.DDLFormScreenlet
: Gives your app the ability to present dynamic forms to be filled out by users and submitted back to the server.DDLListScreenlet
: Gives your app the ability to show a list of records based on a pre-existing Dynamic Data List in a Liferay instance.AssetListScreenlet
: Shows a list of assets managed by Liferay's Asset Framework. Assets include web content, blog entries, documents and more.WebContentDisplayScreenlet
: Shows the HTML of web content. This screenlet uses the features available in Web Content Management.
You can also check out the Showcase app to learn how to configure and use the above screenlets.
Liferay Screens for iOS also contains a set of themes that you can use to change the UI and UX of the screenlets:
- Default: The standard theme that is used when you insert any screenlet in your app's UI. The Default theme can be used as the parent theme for any of your custom themes. Please refer to the Architecture Guide for more details on this.
- Flat7: A sample theme intended to demonstrate how to develop your own full theme from scratch. Please refer to the Theme Guide for instructions on creating your own theme.
- Westeros: A custom theme created to customize the behaviour and appearance of the Westeros Bank demo app.
Overview of Liferay Screens for Android
Screens for Android uses Android's standard set of development tools, including the Android SDK (starting from Android 4.0, API Level 14) and Android Studio. Since Screens' architecture is designed to isolate the screenlets, using Screens is a great way to construct your app in a modular fashion.
Getting Started on Android
To quickly add Liferay Screens to your project, see the section Preparing Your Project for Liferay Screens.
Once your project is ready, you can use the following screenlets in your app:
LoginScreenlet
: Gives your app the ability to sign users in to a Liferay Portal.SignUpScreenlet
: Gives your app the ability to sign new users in to a Liferay Portal.ForgotPasswordScreenlet
: Gives your app the ability to send emails containing a new password or password reset link to users.UserPortraitScreenlet
: Gives your app the ability to show the user's portrait picture.DDLFormScreenlet
: Gives your app the ability to present dynamic forms to be filled out by users and submitted back to the server.DDLListScreenlet
: Gives your app the ability to show a list of records based on a pre-existing Dynamic Data List in a Liferay instance.AssetListScreenlet
: Shows a list of assets managed by Liferay's Asset Framework. Assets include web content, blog entries, documents, users and more.WebContentDisplayScreenlet
: Shows the HTML of web content. This screenlet uses the features available in Web Content Management.
Liferay Screens for Android also contains a set of views that you can use to change the UI and UX of the screenlets:
- Default views: The standard views used when you add a screenlet in your app's activities or fragments and don't set the
liferay:layoutId
attribute. The Default views can be used as parent views for any of your custom views. Refer to the Architecture Guide for more details. - Material views: The sample views intended to demonstrate how to develop your own full view set from scratch. Refer to the Views Guide for instructions on creating your own view set.
- Westeros: A custom view set created to customize the behaviour and appearance of the Westeros Bank demo app.
Contributing
Liferay welcomes any and all contributions! Please read the Liferay Screens Contribution Guide for details on developing and submitting your contributions.
License
This library is free software ("Licensed Software"); you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; including but not limited to, the implied warranty of MERCHANTABILITY, NONINFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA