Speed up Salesforce Lightning development with Strike
Yep, us too.
We got serious about Lightning a year and a half ago, starting with the conversion of a large enterprise app from Visualforce to Lightning. After that, and we spent the next few months doing UI work for a company whose name rhymes with TailsHorse. (Ahem.) Throughout those efforts, it was often tough to tell the best way to approach a given problem; many times we made progress in fits and starts, doubling back over areas where we were doing it wrong.
When we sat back and reflected on those experiences, we realized it was likely those who came after us would hit the same snags. We began thinking about how to mark the trail we walked when we got the idea that would become Strike.
Strike is a set of components and tools made to speed up Lightning development on the Salesforce platform.
In this initial release, Strike consists of two things: an interactive gallery allows you to explore what Lightning Base components can do, and a collection of our own open source Lightning components that provide advanced UI functionality.
The Interactive Gallery: a “Fiddler” for Lightning Base components
Though we anticipated some learning curve when we began working in Lightning, we encountered more friction than we expected determining what’s possible with the out-of-box Base components. By contrast, the Visualforce documentation explains many concepts with a mixture of both screenshots and code samples. This augments the dry reference material with critical context on why and when you would use a certain Visualforce tag.
Since we couldn’t see what a given component did, we found ourselves wishing for a tool like Apigee or JSFiddle so we could try it. Our most senior developer figured out way to make one using Communities, and it quickly became obvious this would be something we’d want to share.
So the next time you’re not sure what a certain attribute means on a Base component, use the Strike web site for help.
Components for schmancy custom UIs
Any Salesforce developer can tell you a story of a time when they needed a UI component not provided out of the box. I remember a project I did right around the time I got the first iPhone; I needed a table with sortable column headers, and I used this delightfully retro YUI widget. Recently, we had some “warning” content that wouldn’t fit in a toast and warranted a full-fledged modal dialog. So, we built a reusable component for a modal, and many others you can see on the Strike web site.
We’ve built almost 10 components so far including Lookup, Datepicker, Chart, and more. We’ve taken inspiration from Twitter Bootstrap, Select2, and other popular widgets we’ve used over the years. Since there are too many ideas and not enough time, we’re prioritizing what we’ve actually needed in real-world projects. So for example, we thought about making a date range picker after building our (singular) date picker, but we simply haven’t needed it yet.
Please grab the components from Github and use them in your projects—we’d love some feedback!
What’s REALLY behind this? Like, what’s the deal here?
Great question! I’m glad you asked.
One of the main things that drives us at Appiphony is improving the world of apps people use every day at work. Consumer apps and games get most of the spotlight, and the tools most knowledge workers use eight-plus hours a day at the office don’t measure up to what they use at home.
We believe this is changing and that enterprise software will not be left behind forever. Here’s just a few examples of this consumerization:
- Slack became one of the fastest growing companies ever and achieved its now-legendary unicorn status by making a group chat app people actually want to use. If they achieve the full vision for their new Grid product, Slack could act as the UI for every enterprise app for anyone except full-time power users (e.g. people in finance who process and approve expenses vs. everyone else who merely submits expenses).
- IBM has hired thousands of designers and has put 100,000(!) employees through design bootcamps in an effort to infuse design thinking into their enterprise consulting work. They also have a widely publicized partnership with Apple to build custom, highly polished iOS apps for the traditional industries that have always been their bread and butter.
- SAP has a partnership of their own with Apple designed to bring custom ERP apps into the mobile-first era. They’ve also completely reimagined the user interface of their HANA apps with a modern design system they call Fiori.
In the Salesforce world, Lightning is the umbrella term that represents everything involved in their move to a 21st century user experience. They’ve already done the work of rebuilding the core sales and service apps, and now it’s time for the add-on apps to follow suit.
We know that for many apps, this will be a non-trivial effort; that’s why we’re releasing Strike to make it at least a little bit easier. That said, Lightning has a neat trick up its sleeve that helps make the business case: for the first time ever, there is a robust, first-class mechanism to host your app’s functionality directly on the core Account, Contact, Opportunity, and Case pages. You can take advantage of the best “real estate” in Salesforce and get your app in front of the million-plus Salesforce users trained on the core sales and service functionality.
And if you do this just right, users might not even know where Salesforce stops and your app begins. In terms of “stickiness,” the sky is the limit. That’s why we’ve embedded the Lightning Design System into our components and strongly recommend you do the same; you want your app to match seamlessly.
Let’s Wrap It Up
A little while ago, Salesforce began describing Lightning as “a whole new Salesforce.” From the perspective of the front-end, this is absolutely true.
Please join us as we build a better tomorrow for enterprise software. Your aunt, cousin, and neighbors work at that big company will thank you.
Got a question or comment? Drop us a line at any time.