Many of you are familiar with our programming language, Apex. Although has some awesome reference documentation, we wanted to see a technical article introducing the technology. Shortish, and sweetish, with lots of wholesome technical goodness – targeted at developers who may not be so familiar with Apex, but who are familiar with other languages and stacks.
So I wrote one. Check out the result: An Introduction to Apex.
It leans heavily on some of the material from the Language Reference – so thanks to all who wrote that.
PS. For those of you who aren’t familiar with Apex, here’s a blurb I wrote. I’m still refining this description, but it should give you a fair idea of what it’s about.
Apex is a strongly-typed programming language that executes on the Force.com Platform. Apex is used to add business logic to applications, to program controllers in the user interface layer, and to write database triggers. It has a tight integration with the database and query language, allowing you to seamlessly and transactionally interact with the database layer. Apex also has excellent web services support, both in terms of calling out to external web services and in creating web services for external consumption.
Apex runs in the cloud, in a multi-tenant environment. To support this execution model it includes features such as futures and governors, which help ensure that Apex code behaves well. This is supplemented by test coverage for deployments to production environments.
The Force.com Platform provides a rich metadata API that lets you treat Apex code as metadata within an application. As a result, tooling can be built around Apex and other data, which can be executed on a client. For example, the Eclipse-based Force.com IDE lets you write Apex code on your desktop client, compiling in the cloud via the API.
Apex has a syntax and structure that makes it easy to adopt for developers who are familiar with Java or C#. It can be readily adopted to extend existing applications beyond the rich default behavior framework, or used to add completely new business logic and other functionality to an application. The developer.force.com website provides free development environments, technical introductions to Apex, Apex reference guides and tooling to support development of applications that use the language.