Chapter 8. User Interface

If I were to list all the technologies that have come and gone most often in my career, I would say it has to be those that impact the end user experience. Being a UI technology developer is a tough business; the shift from desktop to web to mobile to device agnostic has shaken things up, and this situation is still ongoing! This means that the investment in this part of your application architecture is important, as is the logic you put into it. Putting the wrong kind of logic in your client tier can result in inconsistent behavior and, at worst, an expensive rework if you decide to shift client technology in the future.

This chapter discusses the aspects of delivering a user interface for Force.com-based applications, getting the most from the Salesforce standard UIs and building custom UIs with Lightning versus Visualforce. It also discusses using third-party-rich client frameworks, contrasting their architecture's pros and cons with respect to platform features and performance. The chapter also covers how to use the Service layer and the Domain layer patterns, to ensure that your users' interaction with your application is consistent, regardless of the user interface approach. We will cover the following topics in this chapter:

  • Which devices should you target?
  • Leveraging the Salesforce standard UIs
  • Generating downloadable and printable content
  • Translation and localization
  • Client server communication
  • Managing limits
  • Object- and Field-Level security
  • Managing and monitoring UI response times
  • Considerations for using third party JavaScript libraries
  • Creating websites and external facing pages for communities
  • Mobile applications
  • Custom Reporting and the Analytics API

Which devices should you target?

One of the first questions historically asked when developing a web-based application is Which desktop browsers and versions shall we support? These days, you should not be thinking so much about the software installed on the laptops and desktops of your users, but rather the devices they own.

The answer will still likely include a laptop or desktop, though no longer is it a safe assumption that these are the main devices your users use to interact with your application. Mobile phones, tablets, watches or skills for voice recognition devices such as Alexa could all be used, or depending on your target market, larger devices such as cars or even a vending machine! So, make sure that you think big and understand all the types of devices your customers and their customers might want to interact with your application.

Tip

For your desktop and laptop users interacting with your Force.com application, it is a combination of using the standard Salesforce UI and any custom UIs you might have built with HTML and JavaScript. Given this fact, it is a good idea to base your supported browser matrix on that supported by Salesforce. You can find this by searching for Salesforce supported browsers in Google. At the time of writing this, a PDF listing supported browsers can be found at https://help.salesforce.com/apex/HTViewHelpDoc?id=getstart_browser_overview.htm&language=en.

Developing against multiple devices can be expensive, not only in terms of developing the solution but also performing the testing across multiple devices. In this chapter, we will take a look at a range of options, ranging from those provided by Salesforce at no additional development cost to building totally customized user interfaces using Visualforce, Lightning and other technologies.

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

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