[MUSIC PLAYING]
CHRISTIAN SCHALK: Hello, and welcome to the new "Building
with AppSheet" series, where we will discuss and demonstrate
how to build applications with AppSheet and Google
technologies.
I'm Christian Schalk, a Google Developer advocate.
And in this first episode, we'll review the basics of AppSheet
and how it can help Google Workspace
users streamline processes and increase productivity.
So first off, what is AppSheet?
AppSheet is a powerful and agile no-code application development
platform that is now a part of Google Cloud.
It's powerful, in that it can easily
generate feature-rich enterprise-class applications
with unprecedented ease and speed.
It's agile in that it provides an iterative environment
to quickly prototype and customize apps in real time,
thus streamlining the overall application development
process.
AppSheet's no-code approach offers citizen developers
easy-to-use, interactive UI generation and customization,
along with assisted workflow logic construction,
both of which greatly simplify the most challenging aspects
of enterprise application development.
AppSheet integrates with Google, in that it lets users
leverage the features of their favorite Google technologies.
Here are some of the existing integrations,
with more to follow.
First off, Google Sheets and Drive
now offer built-in product integrations with AppSheet,
meaning that you can create applications directly
from both Sheets and Drive.
AppSheet can now connect to Apps Script,
allowing Google Workspace users to connect their existing Apps
Script code with AppSheet front-end applications.
Also, AppSheet allows you to connect
to Google Cloud SQL as well as any other cloud-based MySQL
database.
And finally, through its Google Cloud Apigee connector,
AppSheet can also connect to the vast set of APIs and services
that Apigee currently supports.
Before diving into all of these cool new features,
let's first step through an introductory example
of AppSheet application development.
To get started, we will start with a common task-tracking use
case which starts out with a Google Sheet.
I will then quickly generate and customize a modern business
app on top of it with AppSheet.
So as you can see, I have a simple sheet
which keeps track of tasks.
So normally, I would switch over to AppSheet
and build the app from scratch directly.
But thanks to the new integration,
I just select the Tools menu and generate a new application
in AppSheet.
So now AppSheet is taking over and building us a new default
application without writing any code.
And there we go.
We are now looking at the AppSheet environment.
And you can see that on the left side,
we have the different tabs.
And the first data tab there is what
we're looking at here with the different columns
from our spreadsheet.
And then, of course, UX is where we can update the UI,
or essentially, the user interface.
And so we have the default UI.
And then, of course, there's other features like behavior
and workflows and such, but we'll get into that later.
For now, let's go ahead and customize the data a bit.
And we're going to look at the data columns
as we edit in the application.
And, of course, keep in mind, on the right side,
we have a nice preview capability that's
constantly being updated.
And so I can actually go through and test it
on the fly with actual data and just make sure
the application is functioning correctly.
So, for example, I could Edit or add data,
and everything just works as you expect it to.
Now, as you notice, there are a few things
I might want to improve on this app.
So first off, to create a new record or a new task,
I might want to restrict some of the values.
So the priority right now allows any number.
So I'm going to make it so that I want
to have values between 1 and 4.
I can also set the due date to be some date into the future.
And then also, for the status, I want
to restrict it to have only specific values, not
any kind of random text.
So this is all very easy to do.
So let's just go ahead and switch back to the column
editor, and we'll start updating some of the input
options for the columns.
So first off, the priority--
as I said, I want to restrict it between values 4 and 1.
So the maximum is 4, minimum is 1.
And so let's go ahead and set, also, an initial value for this
to be also 4.
Now, you'll notice here, this is an expression assistant.
And this allows us to derive data dynamically.
And this tool helps you evaluate and make sure that it's valid.
So it gives you that little green check
box there to let you know that you have the correct values.
Now, for this, it's just a simple static value.
But later on, you'll see that it will be evaluating functions.
So everything looks good here.
I'll go ahead and finish up for this particular column
for the priority.
Oh, also, I'm going to change the Display mode to Range mode.
And that will give us a nice slider.
So the slider, just a little bit easier to use.
So that's the priority.
Now, let's go to the due date.
I want to change it such that the date that gets defaulted
will not just be today, but it will be a date into the future.
And so for this, I'm going to insert
a function called WORKDAY.
And that takes two arguments.
It takes the current day or whatever date,
and then I'm going to give it the second argument of,
how many days into the future do I want?
So I'll select 5, and I want 5 workdays into the future,
basically.
So that evaluates correctly.
I'll click Save, and I'll click Done.
And then now, for the final column,
I'm going to update the status column such
that I'm going to switch it from a text data type, which
allows any random text, and then I'm going to switch it to Enum.
And then the enum will make it so
that I can define specific values
that I want for this column.
So I'll use the typical status values.
Not Started would be the first one.
Then I'll add another value, which would be In Progress.
And you could probably guess the last column,
which will be Complete.
All right?
So that's it.
Now, the only other thing I'm going to do
is just add the auto-compute, or the initial value.
And for this one, I'm just going to put the static value
of Not started.
So that means, Once I create a new record,
it'll just assume that it's going to be Not Started.
So click Save there and click Done,
and then I'll just save the entire application
to get everything synchronized.
So once everything is synchronized,
our preview window will refresh as well.
And then we can go through and try out the application
with the new updates.
So let's go ahead and add a new record.
So here's the Task input form.
I'm going to type in something here, Finished Demo.
We have our fancy slider, so maybe I'll give it priority 2.
And you'll notice the due date is a couple of days--
it's actually five days specifically,
five workdays specifically.
And then notice that our little enum has rendered
as a set of buttons there.
So I'm just going to select In Progress and click Save.
So there's a little area there where
it's letting you know that it's synchronizing with the data.
So let's go ahead take a look at the data itself.
And there we are in the sheet, and we can see our new record.
So as you can see, in just a few minutes,
I was able to create a functioning modern web
application based off of a Google Sheet, all
without no code.
So for more information on AppSheet,
Google Cloud, and Google Workspace,
check out the links in the description below.
And for more videos like this, make
sure you subscribe so you don't miss out.
Thanks for watching.
[MUSIC PLAYING]