Design and Develop your application on Force.com

Force.com is a powerful PaaS platform that can be used for developing powerful enterprise-class applications. It has been one of the preferred platforms of the developers as well as business users. Force.com allows us to create applications as per defined business logic, with complete customization and UI development. The applications available on Salesforce are built on the Force.com platform. Similarly, like iPhone Message app is built on the iOS platform.  The features of salesforce.com are available on the Force.com platform, as Salesforce is built on the Force.com platform.

Signup for the free developer account

Before you start developing on Salesforce, signup for the developer account. It is free, and it provides the latest technologies including Visualforce, Apex, and Web Services API. However, you must note that since the developer edition is free, it is supposed to be used only for learning, and not for business or commercial usage. Also, being a free edition will have certain limitations. Create the developer account in few minutes with the steps listed below.

  • To register for the free developer edition, go to the following link, and click on signup.

              https://developer.salesforce.com/

  • Then fill up the signup form with the basic details.

  • Post clicking on the option “Sign me up”, an email will be sent with the login link.

Designing an application on Force.com

Before we start designing an app on the Force.com platform, we need to consider the type of data that will be processed by the developed app. Four distinct types of apps can be designed, and before designing the app you need to decide your app falls into which category.  These are four types are:

  • Datacentric apps: These are the apps that are based on databases, such as data stored in XML structure. With the help of these apps, the data on the databases can be easily controlled with minimal intervention. Force.com is by default structured to host the data-centric apps.
  • Process-centric apps: These are the apps that automate the underlying business processes, and engages multiple users for the same.  Force.com has well design workflow, approval process, and sharing models, that can be used for automating business processes.
  • Content centric apps: These are the apps that facilitated on-demand performance, with dedicated storage.  Force.com provides a perfect platform for content sharing and content management while implementing a version control system at the same time.
  • Transaction-centric apps: These are the apps used for transaction processing systems, such as banking apps, payment apps, stock trading, etc.

Hence, before even designing the app, the app needs to be classified.

Apart from identifying the app type, also identify the user group or the stakeholder. It could be a small group, departmental users, enterprise users, and a large number of enterprise users.

Force.com is an integrated development environment, where one needs to write the code in an editor, compile and run the app. There are many app builder tools available on the Force.com platform. Some of the key app builder tools are mentioned below,

  • Apex Classes: This is a template that is used for creating the Apex objects. It contains other classes, variables, exceptions, and user-defined methods. For example, there is an Apex Object named Invoice, it will have all the functions and variables that might be required to process an invoice.
  • Apex Triggers: Apex triggers are used for performing custom actions. It can be used as after-changes to a record in Salesforce. This includes activities like insertion, deletion, and updation.
  • Components: Components available on Force.com can be customized as per business logic, to develop a customized app for the salesforce.com.
  • Pages: Just like components, force.com allows the creation of customized pages catering to the business needs and user needs.

Start building an app

You have already registered for the free developer edition on Salesforce, and now it is time to log in and start developing an app.

  • Once you are logged in, go to “Setup”, and then to Develop. It will list out the platter of tools that can be used for development.

  • So, if you are looking to create a customized Apex object, click on “Apex Classes”. Once the next page opens up, click on “New”.

This will open another screen, where we can code for the new Apex Class.

  • Once the coding is done, click on “Save”.

In the above screen, Multiplication is the name of the Apex Class, and once this class is created, it will be listed with the same name.  Similarly, Apex Trigger and VisualForce components can be developed. However, for developing VisualForce components, the developer environment in Salesforce needs to be activated first. By enabling the developer mode in Salesforce, we can code as well as compiled in the same window.

The tools are available on Force. com can be categorized into the following:

  • Development Tools: These are the tools used for developing applications. The most important tool in this category is Force.com IDE, which can be used for creating and developing an application on Force.com. The Force.com migration tool can be used for moving the metadata between the local machine and the force.com platform. The developer console is also available in this category, which allows us to create, modify, debug, and test an application.
  • Data Tools: In this category, we have the tools that can be used for manipulating the data for an organization. One of the important tools in this category is “Apex Data Loader”, which can be used for moving data into Salesforce, as well as out of salesforce.
  • Cloud Integration Tools: This category comprises of tools that can be used for integrating to the other cloud platforms.  This includes Force.com for Google App Engine,Force.com toolkit for Azure, Force.com for Amazon Web Services, and Force.com for Facebook.
  • Language Integration Libraries:  These tools can be used to integrate with the other applications, that have been created with other languages. In this category, we have a PHP toolkit and Force.com toolkit for Ruby.
  • Salesforce mobile services: Under this category, we have tools that can enable the applications to interact with mobile services. Salesforce Mobile SDK is used for mobile rick applications.