coding with leap: an apex development framework
DESCRIPTION
Similar to frameworks like Rails and Express, Leap was born from the need to rapidly generate several Apex classes that incorporate best practices and patterns. Join us and gain access to a new online development framework for auto-generating and maintaining Apex classes throughout the development lifecycle.TRANSCRIPT
![Page 1: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/1.jpg)
Getting Started with “Leap”An Apex Development Framework
Mike Leach, Logalytics, Founder/CEO@codewithleapChristopher W. DeLaurentis, Cloudspokes, Architect@baerspokes
![Page 2: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/2.jpg)
Safe HarborSafe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
![Page 3: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/3.jpg)
Mike LeachFounder/CEO LogalyticsSalesforce Force.com MVP@dlog @codewithleap
![Page 4: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/4.jpg)
Christopher W. DeLaurentisCloudspokes Architect@baerspokes
![Page 5: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/5.jpg)
What is “Leap” ?Leap is a Java Ant library that integrates with the Salesforce migration toolkit to help Developers with common tasks, such as generating trigger handlers, wrapper classes, and controllers.
The leap template library is an open source catalogue of Apex best practices and examples, compiled from the Salesforce Development community, that encourages coding styles proven to work well on the Salesforce platform
![Page 6: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/6.jpg)
Objectives▪ Download and configure Leap▪ Understanding basic Leap command line constructs▪ Developing with Leap▪ Contributing to Leap. Creating a custom Leap Task▪ Community building. Collaborating with other Developers on best
practices
![Page 7: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/7.jpg)
Leap Development Lifecycle
▪ Leap is designed around continuous development lifecycle
▪ Balance of Declarative + Coding
![Page 8: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/8.jpg)
Development Assets
▪ Bottom-up Approach▪ Each layer builds upon the other▪ File dependency stack
![Page 9: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/9.jpg)
Getting Started: Prerequisites▪ Ant▪ Salesforce migration toolkit▪ Leap JAR (Download from Github)Build.xml<project name=“Project build file” basedir=“.” xmlns:
sf=“antlib:com.salesforce” xmlns:leap=“antlib:org.leap”>
Build.properties: Define Salesforce credentials (.gitignore this!)
![Page 10: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/10.jpg)
SObjects▪ Leap encourages “clicks first”▪ Define schema in Salesforce▪ Validation rules▪ Salesforce objects become the
primary classes in Leap.
![Page 11: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/11.jpg)
SFields▪ SObjectFields.cls▪ Single class for storing all field names▪ Enables wrapper classes access to all fields.
SELECT * FROM Object
String soql = ‘SELECT ’ +SObjectFields.ALL_ACCOUNT_FIELDS + ‘ FROM Account WHERE Id=‘ + id;
![Page 12: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/12.jpg)
Check point. Questions?
Remainder of presentation builds on the principle of command line file generation.
Ask me anything before we proceed!
![Page 13: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/13.jpg)
Triggers / Trigger Handlers
Leap Auto-Generates▪ 1 Trigger Per Object▪ 1 Trigger Handler Per Object
![Page 14: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/14.jpg)
Wrapper Classes
Leap Generates (Per Object)▪ 1 Wrapper Base Class▪ 1 Wrapper Class (Customizable)▪ 2 Unit Test Files (v29 required)
![Page 15: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/15.jpg)
Package and Deploy
Command line support for▪ Metadata diff▪ Change set generation▪ Deploy()
![Page 16: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/16.jpg)
The Road Ahead – Getting Involved With Leap
▪ Review the source code on Github▪ Add support for Visualforce templates▪ Jenkins integration / automation
![Page 17: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/17.jpg)
All About LogalyticsLogalytics helps Admins and Developers work smarter by delivering ongoing insights about their Salesforce Orgs to a mobile device.
▪ Operational Intelligence for the Mobile Enterprise
▪ Past: Cubic Compass, i-Dialogue, Facebook
▪ Founder, CEO Logalytics
▪ Salesforce MVP
▪ ISV Partner since 2006
![Page 18: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/18.jpg)
All About Cloudspokes
CloudSpokes is the leader in crowdsourced cloud development work. Founded in 2011 by Appirio.
▪ Recently joining forces with TopCoder, the community now contains 600,000 of the world’s developers, designers and data analytics experts
▪ Uses a competition-based crowdsourcing model to create a “Cloud” of technical resources
▪ Pay-for-performance pricing model
![Page 19: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/19.jpg)
Mike Leach
Logalytics, Founder/CEO@dlog @codewithleap
Christopher W. DeLaurentis
Cloudspokes Architect@baerspokes
![Page 20: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/20.jpg)
We want to hear from YOU!
Please take a moment to complete our session survey
Surveys can be found in the “My Agenda” portion of the Dreamforce app
![Page 21: Coding With Leap: An Apex Development Framework](https://reader034.vdocuments.net/reader034/viewer/2022051513/5462b9b8af7959422a8b4ec1/html5/thumbnails/21.jpg)