21
Getting Started with “Leap” An Apex Development Framework Mike Leach, Logalytics, Founder/CEO @codewithleap Christopher W. DeLaurentis, Cloudspokes, Architect @baerspokes

Coding With Leap: An Apex Development Framework

Embed Size (px)

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.

Citation preview

Page 1: Coding With Leap: An Apex Development Framework

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

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

Mike LeachFounder/CEO LogalyticsSalesforce Force.com MVP@dlog @codewithleap

Page 4: Coding With Leap: An Apex Development Framework

Christopher W. DeLaurentisCloudspokes Architect@baerspokes

Page 5: Coding With Leap: An Apex Development Framework

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

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

Leap Development Lifecycle

▪ Leap is designed around continuous development lifecycle

▪ Balance of Declarative + Coding

Page 8: Coding With Leap: An Apex Development Framework

Development Assets

▪ Bottom-up Approach▪ Each layer builds upon the other▪ File dependency stack

Page 9: Coding With Leap: An Apex Development Framework

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

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

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

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

Triggers / Trigger Handlers

Leap Auto-Generates▪ 1 Trigger Per Object▪ 1 Trigger Handler Per Object

Page 14: Coding With Leap: An Apex Development Framework

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

Package and Deploy

Command line support for▪ Metadata diff▪ Change set generation▪ Deploy()

Page 16: Coding With Leap: An Apex Development Framework

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

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

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

Mike Leach

Logalytics, Founder/CEO@dlog @codewithleap

Christopher W. DeLaurentis

Cloudspokes Architect@baerspokes

Page 20: Coding With Leap: An Apex Development Framework

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