Photo-K - Fotolia

Developing Fiori apps requires design-centric thinking, UI5

Learn how to take full advantage of the Fiori apps library and get front-end and back-end development right with these tips from consultants and SAP itself.

Three years ago, SAP launched 25 Fiori apps at Sapphire, and there's no sign of slowing down. With the consumerization of IT, users want to access enterprise applications the same way they use their smartphones. For companies, that means having the ability to customize applications.

However, the usual caveats apply before developing anything highly customized on SAP: Installing service pack updates may disrupt operations, and it's important to have the right skills on the team, according to experts. Here are some best practices from consultants and SAP itself.

Examine user needs carefully

Before development even begins, it's important to know what the users want, since the whole point of SAP Fiori is to provide a better experience for them, according to Anamarie Franc, vice president of user experience and design strategy at SAP. The Fiori apps that are the simplest and hit the most users are often the best to start with, such as self-service applications for leave requests and timesheets, she advised.

Some organizations might choose to start from a broader organizational perspective and develop Fiori apps that, for example, make managing sales orders more efficient, according to Franc. Developing for Fiori, no matter what the application or intention is, requires design thinking that identifies problems and unmet needs, she said. No matter which way the development team goes, she advised developing prototypes and getting feedback early and often from the users, even before development of Fiori apps begins.

Don't reinvent the wheel, and follow SAP guidelines

Experts also advise checking the Fiori Apps Library, which houses over 780 apps, before starting development. "We religiously follow that," said Pranay Nayyar, SAP UX Center of Excellence lead at Tata Consultancy Services (TCS). In some cases, a user will want an add-on to an available app, say, adding a stopwatch to a timesheet app so it can record the time spent on a task. It will require some customization, but for the most part, it's a matter of extending the library of available files, Nayyar said.

There's a good reason for starting with existing Fiori apps, and it's not to save time. It's to prevent a service pack update from removing customization, according to Craig Gutjahr, principal of the consultancy, Spyvee. "If you modify [an app] incorrectly and apply a service pack, all changes will be wiped out," he said.

SAP does provide custom hooks into Fiori apps to modify functionality in certain areas, to ensure that the customization won't be overridden. But Gutjahr advised taking this with a grain of salt. "Those hooks do not provide access to everything," he said, noting that it's worthwhile to review code carefully, line by line, before upgrading to ensure the service pack won't override custom-developed apps or features.

Sharpen the team's SAPUI5 skills

SAP doesn't consider knowledge of SAPUI5, its Web development toolkit, a prerequisite for learning how to develop Fiori apps, according to SAP's Franc. However, it's a skill that developers may need to know.

Web developers may have an easier time learning how to develop Fiori apps than ABAP coders, according to Spyvee's Gutjahr. "The technology is much more aligned to standard Web development," he said.

Be prepared to work on the front end and back end

Fiori app development will also require developers who know the front end and back end of programming, and that may mean team members with different skill sets. On the back end, developers will need to ensure the layering is correct and that Remote Function Calls (RFCs) are written so that they follow ABAP guidelines, according to TCS's Nayyar. "Getting the right structure ... is the most important best practice," he said.

On the front end, mobilization is the most important aspect, Nayyar said. Not every library element will be mobile enabled, and the validations needed at the front end should be minimal, instead residing on the back end, he said.

Meanwhile, from a security point of view, not everything should be cached. "Refrain from storing everything on the browser cache," Nayyar said. Additionally, things like validating email addresses require following model view controller (MVC) architecture models to ensure views are handled properly, he added.

Finally, know the issues of the broader technology landscape. According to SAP's Franc, there are some snags with the NetWeaver development platform, Gateway and the aforementioned service packs. She recommended that developers get familiar with the published information, as well as the Fiori apps library, to see what's possible for their organization.

Next Steps

Read a Fiori case study

Learn more about the debut of Fiori

Get an analyst's opinion of Fiori's market impact

Dig Deeper on SAP UX