The opportunities for developers on the Force.com platform today are great, especially for experienced software developers. This course will help you quickly transfer your existing skills to building Apex applications on the Force.com platform.
Apex is the native language of the Force.com platform, and there is a huge demand for skilled developers in this space. The Java/C# like Apex language looks familiar enough that experienced developers often expect a short learning curve, but the platform is actually radically different, and requires use of a unique set of design patterns. In this course, Force.com and Apex Fundamentals for Developers, you will quickly learn the core concepts that are essential for every Apex programmer to learn in order to succeed on the platform, and avoid design and implementation errors. First, you will learn about building software on the Salesforce platform and learn the unique characteristics of how code is stored on the platform and the tooling available to work with it. Next, you'll learn about the four things every Apex developer should know in order to avoid failure. Finally, you'll end the course learning about the Apex syntax, and exploring the Salesforce platform class library and features. By the end of this course, you'll be up to speed so you can become a stronger Force.com Apex developer.
There are three main reasons for an experienced software developer to learn Force. com and Apex. Sometimes there's a specific requirement, perhaps an integration project. Sometimes it's just curiosity. And sometimes it's a search for greener pastures where green in this case refers to cold hard cash because right now the demand for developers in this space far exceeds supply, and the pay scales, well, let's just say that times are good, really good. I started my journey on this path about nine years ago. Before then, I was a serious Microsoft platform developer. I wrote and shipped Windows applications and components. I wrote books and spoke at conferences. I was a Microsoft MVP for many years. At some point, it became a lot more work than fun. Then one day a friend asked me to write an Apex trigger. Back then, Force. com wasn't even a platform. It was just the salesforce CRM application. But as it evolved, my skills evolved with it. And I not only had the opportunity to learn the design patterns demanded by this new technology, I got to help create them. Force. com is still a young platform, one with amazing opportunities. And this course will help you to come up to speed quickly so you too can become part of the community of Force. com Apex developers, and I hope have a great deal of fun along the way.
Hi! I'm Dan Appleman, and welcome to Force. com and Apex Fundamentals for Developers. If you are an experienced Apex programmer on the Salesforce platform, you'll probably still get some new information out of this course. But it's really intended for developers who are experienced in other languages and platforms who are coming to Force. com for the first time. For those of you who have already watched the previous version of this course, it covers substantially the same content but has been updated to reflect the latest platform developments, some of which have resulted in significant changes to recommended best practices. This is a course for experienced developers. If you are completely new to computer programming, I'd encourage you to check out David Liu's Apex Academy series that teaches Apex programming for first-time programmers. For those of you who are completely new to the platform and are wondering what the fuss is all about, I encourage you to check out my course, Career Strategies and Opportunities for Salesforce Platform Developers where you'll learn about the career opportunities and resources available to platform developers. In this course, we'll look at developing on the Force. com platform. You'll learn how this cloud differs from other cloud environments that you might be familiar with, not to mention other environments in general. You'll learn about data and metadata and some of the development tools that are available. You'll learn the key concepts that you have to know before you start programming in Apex on Force. com. If you don't know them, you can run into some serious trouble. Later in this course, we'll focus on the Apex programming language. We'll look at the differences between Apex and languages that you might already be familiar with. And we'll look at some of the design patterns that are common on the Force. com platform and key platform features. Finally, we'll leave you with a set of next steps and a roadmap to follow to help you become a true Apex and Force. com expert.
This module covers Apex programming fundamentals, alternatively titled, The Things You Need to Know About Apex and Force. com Before You Write Your First Line of Apex Code. In the first module of this course, I painted the nightmare scenario where a developer new to Apex builds out a complete application only to discover at deployment time that it is so deeply flawed that they have to throw out everything and begin from scratch. I wasn't joking. This does happen to developers who don't take the time to learn the core concepts behind Force. com programming, the concepts you'll learn in this module. This module focuses on concepts and design. We won't go into too much detail on the Apex language. That will be the topic of the next module. That said, we're going to begin with a quick introduction to the Apex language that should be sufficient to allow you to follow the code examples that you'll find here. You'll then learn the four concepts that every Apex developer must know to avoid failure--execution contexts, static variables, limits, and bulk patterns.
Now that you know the core concepts that every Apex programmer needs to know, it's time to take a closer look at the Apex language itself. We'll start out by looking at data and some of the data types in Apex and how they differ from what you might be familiar with. We'll look at objects and sObjects, the two kinds of fundamental objects in the language and the implications that they have when it comes to object-oriented programming in Apex. And we'll take an in-depth look at collections because they are a critical part of most software design patterns in Apex.