Visualforce
Develop apps that combine Visualforce and JavaScript, including Salesforce1 and other mobile apps.

Apex Code
Using syntax that looks like Java and acts like database stored procedures, Apex enables developers to add business logic to most system events, including button clicks, related record updates, and Visualforce pages. Apex code execution can be initiated by Web service requests and from triggers on objects.

Lightning Components (Beta)The Lightning Component framework powers Salesforce1. You can use it to create your own Lightning components and make them available to Salesforce1 users.

API
Use the API to create applications that integrate with Salesforce.