Liferay Screens

Rapid native app development

Liferay Screens is a collection of fully native mobile components, using all the power of your Liferay platform as an enterprise grade mobile back end.

Reasons to Love Liferay Screens

100% native, built for iOS and Android

Fully compatible with Android Studio and XCode

All components are reusable, themable and extensible

Ready to connect to your custom backend

Beautiful design out-of-the-box

100% Open Source, already wired to your Liferay platform

Business Benefits

Ensure consistent experiences across channels

Extend the reach of your websites, portals, and intranets

Boost the ROI of your mobile projects

Faster development cycles and reuse of components

Lower the learning curve for developers

Components are already connected to your Liferay back-end

Screens is a breakthrough in the Liferay platform that allows us to integrate two technologies that are trending in business and consumer environments: Liferay Portal and mobile devices.

Salvador Tejero
Mobile Developer

I think the key differentiator of Liferay Screens compared to other mobile solutions in the market is the focus on native. Working with native technologies is a must when you want to deliver high quality, high performance apps. Liferay Screens greatly facilitated this for our Liferay projects.

Nazaret Helices Pérez
Mobile Developer


1. Copy
Copy these lines to your Podfile:
source ''
platform :ios, '8.0'
pod 'LiferayScreens'
2. Run
Run "pod install" to download Liferay Screens
3. Add
Add config file to your project with your portal configuration


1. Copy
Copy these lines to your Gradle File:
dependencies {
    compile ''
2. Sync
Synchronize your Gradle file and launch your project
3. Add
Add config file to your "values" folder with your portal configuration
Need more information about the installation and configuration steps?
Learn More


Developing Awesome Android Applications with Liferay Screens

Watch Webinar

Official documentation and tutorials

iOS Android



Can I create my own components?

Definitely! It's really easy to create your own screenlets, we have a guide explaining each single step and how to call to an existing Liferay API or your own, for iOS and Android

How can I report an issue?

Found a bug or want to suggest an improvement? File a ticket in our Jira (you have to login first to be able to see the project) and the Screens team will respond shortly.

Is Screens compatible with my already existing apps?

Of course! Liferay Screens works like any other Android or iOS library (it's even available in cocoapods and jcenter) and it is compatible with other libraries you might be using in your app.

Are Screens components 100% native?

Yes! Both Android & iOS versions of Liferay Screens are 100% native to deliver the best performance and user experience.
We have found out that most of our customers prefer to build native applications to deliver the best experiences, so that's why building a native SDK has been our main priority.

Can I continue using my preferred IDE and tools?

Of course, Liferay Screens is a library that works with standard tools like Android Studio or Xcode. It can be integrated in your already existing projects.
For Android, you can also use Eclipse ADT or even manually compile (with or without Gradle). Just use the compiled aar in your lib folder.

Can I use Screens from my iOS project with Objective-C?

Of course, Screens for iOS is written in Swift but it's fully interoperable with Objective-C.

Can I import the library using a dependency manager?

Sure, for Android you can use Gradle or Maven. For iOS you can use CocoaPods.

Do you provide all the Liferay features as Screenlets?

Not yet! We plan to support as many as possible in the future, but currently, the list of screenlets is available here.

How can I customize an existing screenlet?

There is a guide for that! You can customize both the UI and the behavior (extending the current behavior or overwriting it!).

Can I integrate an existing screenlet with a non-Liferay backend?

Yes, the architecture is designed to be backend agnostic. You can use an existing screenlet, with an existing UI, but providing the logic to access your custom non-Liferay backend.