Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Learning Force.com Application Development

You're reading from   Learning Force.com Application Development Use the Force.com platform to design and develop real-world, cutting-edge cloud applications

Arrow left icon
Product type Paperback
Published in Apr 2015
Publisher Packt
ISBN-13 9781782172796
Length 406 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Chamil Madusanka Chamil Madusanka
Author Profile Icon Chamil Madusanka
Chamil Madusanka
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Getting Started with Force.com 2. Building the Data Model FREE CHAPTER 3. Building the User Interface 4. Designing Apps for Multiple Users and Protecting Data 5. Implementing Business Processes 6. Data Management on the Force.com Platform 7. Custom Coding with Apex 8. Building Custom Pages with Visualforce 9. Analytics as a Service with the Force.com Platform 10. E-mail Services with the Force.com Platform 11. Building Public Websites with Force.com Sites 12. Deploying the Force.com Application A. Force.com Tools Index

Designing and developing applications on the Force.com platform

Before you start development on the Force.com platform, you have to do some ground work and have to learn about the data orientation of the Force.com platform, suitability of the application for the Force.com platform, the nature of the data underlying that application, and design the application for the Force.com application.

Signing up for a free developer edition account

The Force.com platform provides the development environments, tools, resources, and documentation, which can be used to develop applications. The Force.com tools will be described in Appendix A, Force.com tools. When we talk about development environments, free developer edition (DE) environment is the best option to develop with the latest technologies such as the Apex programming language, Visualforce markup language, and web services API.

Tip

DE is free, and you can use it for learning purposes, although it comes with certain limitations.

Follow the steps to create a free developer account:

  1. Go to https://developer.salesforce.com/.
  2. Click on Signup.
    Signing up for a free developer edition account

    The developerforce web page

  3. Then, you will get the following page and fill all the fields in the form.
    Signing up for a free developer edition account

    The registration page

    Tip

    Select a unique username in the form of an e-mail by which you will access your developer edition account. Salesforce allows you to select a unique name by default. If you select any pre-existing username, you will get an error.

  4. Click on Sign me up.
  5. An e-mail will be received including the link to specify your login credentials

Basic application design

When we design and build an application on the Force.com platform, we need to be aware of the data that we are going to process underneath the application. Good data design and good development practices can produce flexible and efficient applications.

Types of applications suitable for Force.com

We cannot use the Force.com platform for any kind of application development. Therefore, we need to understand the apps that are better suited for the Force.com platform. There are four types of applications that are required to automate an enterprise process, which are as follows:

  • Data-Centric Apps: Data-centric applications are the ones that have powerful databases. They are based on the structure and consistency data such as in database or XML files. They are centered on a database and with data-centric apps it is easy to control access and manage data, which are centered to the database. The Force.com platform is data-centric by its nature and it is a perfect platform to build and host data-centric apps.
  • Process-Centric Apps: A process-centric app is based on automating the business process in the organization and multiple users can be involved in the process. The Force.com platform has many features that align with the features of process-centric applications such as the approval process, the workflow, and security and sharing models.
  • Content-Centric Apps: These applications are intensely increasing the storage needs of on-demand performance. These kinds of applications have main functionalities such as version controlling, content management, and sharing.
  • Transaction-Centric Apps: The main functions of these types of applications are focused on transactions such as banking systems, stock market-related systems, and online payment systems.

Data and process-centric apps are the most suitable application types for the Force.com platform. The following two figures explain to us how the data-centric and process-centric apps are the most suitable apps for the Force.com platform:

Types of applications suitable for Force.com

Types of apps that are a good fit for the Force.com platform

Types of applications suitable for Force.com

Types of apps suitable for the Force.com platform

Design consideration

When we develop a system on the Force.com platform, we need to consider some facts about the design phase. As in traditional software development, identifying your stakeholders and business partners is the first thing you need to do. Then, you need to capture the business requirement from your stakeholders. By analyzing the captured requirement, you can identify the users of the applications and the security model of the application. The security model is the most important part of designing a Force.com application.

Tip

Do not keep the defining of the security model of the Force.com application to the end. It will only increase the rework required of the application's designing and development.

Customization on the Force.com platform

In the design phase, we can consider the development method, which can be used to develop the particular application. There are two development methods on the Force.com platform. They are as follows:

  1. Declarative Development: This development can be done using point and click with zero coding. We can do declarative development via the browser. The declarative customizations require an understanding of the Force.com platform overview, but no coding knowledge. The developments and deployments can be rapidly done using the declarative development method.
  2. Programmatic Development: Programmatic developments require coding skills and allow developments to extend beyond the declarative capabilities. For example, if we need to create a page with a wizard, we cannot fulfill that requirement with declarative development. We need to use programmatic development, such as Apex and Visualforce.

The following screenshot shows the Force.com development model. It illustrates the deviation development methods with the skills of the developer.

Customization on the Force.com platform

Force.com development model

Most complete and robust solutions actually use a combination of declarative and programmatic solutions. Developers should understand how to develop using both declarative and programmatic features. The following table shows the advantages of declarative and programmatic customizations:

Declarative customizations

Programmatic customizations

Ease of development (more visual and quicker to do)

Can extend the capabilities of an application beyond standard functionalities

Ease of upgrade

More control and flexibility over the application

Ease of maintenance

 
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image