because future looking statements are inherently subject
to risk and uncertainty are reminders
that you should make any purchasing decisions or investment
decisions based on products that are currently commercially
available. Welcome,
everyone have some thematics and I'm one of the product
managers on our developer. Tooling t.
Joining me today is a tartan director
of Deb tooling
Thank you for joining us to learn more about how to unlock
developer productivity with modern
open tools. Today we're going to show
you some of our dove tools through the lens
of to Developers will walk through a couple
demos and they will wrap up with more info
about some areas we're working on.
We'll start here in visual studio code.
I have it all set up on my desktop and my project
open. I've already installed the Salesforce
Extension pack,
but let's me develop custom code and
use the sales for CLI directly
within the S coat.
A couple of the reasons we like the S code
is the marketplace of extensions, and
it's why use across different types of
development.
It enables the salesforce community toe, have
familiar tools, transferrable knowledge
and the flexibility to customize your environment
to your needs
before I dive into the code I'm working
on. Let's take a quick tour of the project structure.
Something's areas will be familiar to many developers,
but if you only work on Salesforce and have it checked
out, RBS code extension jet might
be new to you.
We've made a number of updates and continue to
embrace open standards to provide
you the best tools possible.
First, let's look at it S F d X project.
That Jason
having this file in a directory indicates
that the S F D X project
the Project configuration file, is a blueprint
for your project and for the outline
of a package. The settings here determined
the package attributes and package contents.
Next, let's look at package dot Jason.
If you're a note or javascript developer,
this is likely familiar.
Among other things, this gives you a way
to manage dependencies on
also include scripts that might be needed
for your project.
We're using no Js and in PM
to manage these scripts in dependencies.
This is how we're including tools like Yes, Lynn
and Prettier.
No, it is not required for all salesforce development,
but with lightning Web components embracing Web standards.
Notice the natural choice and gives you more capabilities.
You heard me mention a couple third party
tools a few moments ago, and I want to expand
on those first. Yes, let
it's a widely used hunting tool that evaluates
cook for errors quoting best practices
and more. Simply put, it makes
it easy to find errors and JavaScript
as a part of the L. W C extension.
Salesforce provides specific yes,
lint rules out of the box, and you
can also add your own
Let's see es lint in action.
I'll open the force app directory and go
to the L W C folder.
This is the property filter component within
the act that I'm working on.
As I opened this file, you'll notice some red
squiggles in a few places.
It seems I have a few issues with my coat.
If I come down here to the Problems Tab, I
can see the details of the issues and what liberals
on breaking.
I can also see this info if I go
back up and hover over the areas that
are underlined in red.
Luckily, it also gives me a quick fix
option. So with just a couple clicks.
I can quickly resolve those issues and improve
my code.
Sweet. No, I'm set on that.
As you look at this code, you might also be thinking
that it doesn't look the bust and you're right.
My spacing is a bit and consistent,
and the invitation doesn't quite line up.
I was in a bit of a hurry. Well, coding this, but
not to worry. Prettier can help.
It's a code for matter that works with HTML
XML, JavaScript, Apex,
etcetera. It makes all your code look
nice, readable and consistent.
That's what we want.
High quality code with minimal manual work
prettier. Also make source control better
so that you see only true conflicts and
not false positives due to extra lines
or formatting differences between
various authors.
I can easily get this violent is shaped by
bringing up the command palette and executing
the format Document Command.
Now you see, my code is cleaned up, and I can
also choose to do that every time I save.
Before I continue on with my code, I want to point
out one other thing in the project structure.
If I scroll back down to the bottom here,
you'll see a script directory.
We include this by default in the project
structure.
This gives you a place to store Anonymous
Apex as well as Sokal
scripts.
This helps at efficiency to store these resource
is with your source coat.
For example, If I want to run one of these queries,
I can just open it up and choose
to execute the Sokol
with my highlighted text.
As I run this, I'll be able to get the
results. And this is an easy way to
verify data and my scratch order sandbox
as you develop without having a lead BS code
and you can see here that the results are
shown on the output tab.
Now what? We know our way around the project. Let's go
back to the property filter component,
my codes looking good. I just need to save
this and then I want to test it.
I'm gonna do that by coming over here to the test
pain denoted by the speaker icon.
Here I see all of my apex tests
as well as L W C tests.
In this case, I'm gonna go ahead and test our property
filter component. You may notice that I
have an option to test everything. And
I can also refresh the pain and reset
the status is as I'm iterating through
my code and tests.
Alright. Awesome. My test passed, so I'm feeling
good about that. I want to do one more check
before I deploy to the sandbox. Are
Realtors a dream house or on the go a lot. And
I want to make sure my component looks good on mobile.
I can do that by right clicking on the file
and I'm gonna choose preview component locally.
Those of you who have checked out l w
c local development. This command is
familiar to you.
However, what's coming out soon
is that you have an option to not only see it
on death stop, which is what you have today. But
to see it on an android or IOS
simulator.
In this case, I'm gonna choose IOS because our
workforce or issued iPhones
And as I do this, you're going to see my component
come up on the Iowa simulator.
I can interact with it, make sure it's looking
okay. Make sure it works. Okay.
Awesome. Feel good about that.
And now I'm done and I'm gonna go ahead
and deploy this to the sandbox
using deploy the source to ork
of already off indicated to my sandbox
earlier.
Now, Nate and I and our team
used source control. But while we develop a story
together, we share a sandbox. So that's
why I'm gonna deploy there for now.
And I concede that my deploys successfully ran,
so I'm good to go. Nate has everything he
needs to finish his work. So, Nate, over to
you. Thanks, Stephanie.
So I'm gonna continue working on this project,
But instead of using V s code on the desktop,
I'm going to use the new Salesforce code builder
you see here that I have are workspace manager
open showing all the workspaces that
my team is using.
I can create a new workspace
just by giving it a name
and clicking create.
In just a few seconds, a full
salesforce developer environment will be created.
This environment is provisioned with all
the developer tools needed to build a sales
force application like the Roku CLI,
the salesforce cli, the V s
code extensions and everything else
ready to go so that you can get to work
instead of using our newly created workspace,
though I'm going to switch over toe one that I
have ready for this project.
Since I know that Stephanie has been working in the
property filter lightning Web component,
I'm going to start there.
The first thing I want to do is know how my
version
differs from the version that she deployed the
sandbox. To do that, I'm
gonna use the diff tool
we see here that she's fixed a bunch
of these limping airs.
She's format of the document
and she's implemented this method here that
was marked as to do
great. And since this
is ready, I'm gonna retrieve it into my project.
I also know that Stephanie was working on another
lightning Web component called property Schedule.
I don't have the source of this in my project.
So how we use the Ord browser
to sink it in
the or browser is a single place
where I can view all the metadata
inside of my organ.
I can sink down single metadata
objects or entire types
into my project.
Next, I'm going to create a new
lightning web component
with Salesforce code builder. For the
first time, I can now create
test deploy and debug
lightning components completely in the browser
without downloading any software.
I am really excited about this because
now every salesforce developer,
no matter where they work, convey build lightning
Web components.
My new component is called property Status.
This is gonna be a simple component that will display
whether the properties available to show or
if it's already been sold.
I'll add a little bit of Java script to this component
and then switch over to the HTML
and just add a simple bit of HTML here.
One of the things you'll notice
is that I get rich code completion
in line documentation and
other great productivity tools right
in the browser.
This isn't just a text box with
some syntax. Highlighting is a rich
editor with full features
for developer productivity.
Now my components ready to use. So I'm gonna hit,
save, and you'll see that instantly. It
is deployed to my sandbox or go, and
it's ready for testing.
Next. I need to write a bit of Apex
before I start writing. I know that my other
co worker, Claire, has also been working
on some of the same apex classes.
I want to sink her changes, but
I need to be careful not to override any of my
previous work
to sync all my apex. I will use this manifest.
I have a new preview feature enabled that
we call def detection. That will enable
me to check for differences between code
and metadata in my project and
the organ before I overwrite anyone's
work with this new feature
before the changes from the or Gar written locally
or vice versa, there checked for differences
if differences air found their opened
in our def view.
In this case, I see that there is a single
difference.
It looks like the work declare has done won't overwrite
any of my work.
And since everything looks good, I want to once
again sink these changes into my project.
I'll use the same manifest file
and that metadata will be retrieved into my organ.
It will detect conflicts, but this time
I'm going to select override and all of
those apex classes will be written to my local
project.
Now that I have all the latest apex code
sink from the organ,
I can get to work
inside the property controller. I'm going
to add a new method to get the property
status
just like V s code on the desktop.
Code Builder brings full feature
developer productivity to the browser
such as rich code completion and
re factoring tools.
I see here that in my method that
I just created, I named the variable
I D I. D. But I see here that
in the other method that already exists in the project,
its actual name property I D.
This is a great opportunity to use the rename
re factor
and just fix that to make it consistent.
Another cool feature about code builder is
how easy it is to explore your code.
I can use tools like peak references
to see how code is used,
and it is super easy to navigate through my
project
with features like bread crumbs
or the outline view.
In addition to editing capabilities,
Code Builder brings the full apex
and L W C test debug
and code coverage features to
the browser for the first time.
Now I'll run May apex tests,
and in just a few seconds, my test
should hopefully pass and I'll be ready to
commit my work
for source control. My team is using
git and of course, code builder
has get integration built
right in
from the u I. I can see all of the changes
in my project.
I can stage those changes
tight my message,
make the commit
and last push the changes to
my source repository to kick off
the continuous integration and delivery
process.
Now that you have seen some of the great features
of code builder, I hope you're as excited
as I am about this product.
By bringing Salesforce developer tools
to the Web, any developer
can be successful building on the Salesforce platform
even quicker than ever. No software
to install, maintain or update.
Just click a button, and in a few seconds
you have an environment with the very best
salesforce developer tools work
where you want and how you want
simply by opening a browser before
we close out. I wanted to cover a few other
topics related to tow our developer tools
as hopefully most of you know, we build
nearly every developer tool in the open.
Our road map is mostly public
sources on get hub and we prioritize
community feedback.
We want every user of these tools
to contribute, even if it just means
a simple thumbs up on a get hub issue.
If you haven't checked out or get hub repose, I
would encourage you to do so.
Are tools get better when the whole
Ohana participates in building them?
The sales for CLI is the foundation
of both V s code and code builder
and in the spirit of community involvement, We
recently open sourced the bulk of
the sales for CLI and aimed to have
it 100% open source by the end
of the year.
There are also a few other features we have been working
on to deliver the promise of a great developer
experience.
We're making it easier toe work
with multiple package directories and
soon we will support destructive change
operations.
Next, I wanted to talk a bit about
Windows.
Most of our developers building on the Salesforce
platform actually used windows and
we know that we have not always provided
these developers with as good of an experience
as we should.
This is an area that we're investing significant
time in, and over the coming months we
will be delivering updates that will
bring much needed improvement for our Windows
users.
Finally, one of The topics of feedback
we continue to hear is that deploys and retrieves
are still not as fast as you expect.
I am extremely happy to say that we have
made tremendous progress on this effort.
We already delivered a preview feature
that switches the way a subset of deploys
and retrieve Zehr done in V s code and will be
wrapping up the work soon so
that all deploy and retrieve operations
are significantly faster. The chart here
shows the magnitude of some of the
initial work on performance and
I think you're really gonna like it.
Finally, I want to point you to the code
builder announcement Blawg Post code
builders now in a limited pilot
and will be opening up to more customers as
fast as possible. We cannot wait
for everyone to try it out.
Thank you so much for joining us virtually
and have a great rest of your trailhead
DX
way
could all use a North star right now to help navigate
these times inspired. We
created a Web app that allows anyone
to create a digital vision board, help
guide you through these times and inspire you
to thrive and emerge stronger. Thea
app is called My North Star, and you can find
it at my north star app dot com.
Experience is easy, fun and takes
less than five minutes.
It allows you to add your vision for how you
want to be during this time.
The values you want to prioritise thea
tions that will bring your vision and values
toe life and finally, the photos
that will inspire you
for every board posted on Twitter,
LinkedIn and Facebook. With hashtag
My North Star, we will make a donation
to UNICEF, who are on the front lines
helping families all over the world impacted
by Cove in 19.
What is your North Star look like?
With Cove in 19 companies
around the world? Need resource
is that will help them listen to both
customers and employees so
that they can stabilize their business,
get feedback, lets you ask
customers and employees what they
need and then seamlessly connect
that data to sell force, giving
you the insight to make business decisions
that truly matter