Where are the 'Build your First App' and other Tutorials for AppStudio?

3483
4
Jump to solution
01-21-2016 02:43 PM
JohnDye
Occasional Contributor III

So I've downloaded AppStudio and started to toy around a bit and I want to start developing a simple first app. The problem is, I can't find any of the tutorials that normally come with Esri's APIs and SDKs. The "Guide" so to speak, that walks you through the creation of a app, with a map, and maybe a geocoding services, adding a tiled layer, etc. With App Studio, the documentation is either highly lacking or I'm looking in the wrong place.

The First App tutorial for App Studio seems to want me to create the app by configuring a "Featured Template". Essentially go to the AppStudio site, pick a template that someone else has already built, modify the settings ever-so-slightly, test and generate installation files. Really? That hardly counts as building an app.

The template already starts with so much in it and there's no explanation of what any of the files are or what they are for or anything like that. I really want to adopt AppStudio but the documentation is making it really, really hard to get started.

1 Solution

Accepted Solutions
JohnDye
Occasional Contributor III

Thanks Dan. I've seen that page but what I'm really looking for is the equivalent of the Build Your First App​ page from the JavaScript API but for AppStudio.

After a good amount of digging, I did actually find what I was looking for on AppStudio's Extend Apps page. The key phrase was buried in the documentation under Extend Apps > Create an App in App Studio. Specifically, in the Create a New App section, the line:

     To learn more about how to edit your app, see What is Qt Creator and QML and Esri's QML API.

The link "QML and Esri's QML API" has a section in it called "SDK Tutorials" which walk you through adding map and getting driving directions, etc. This is the key information needed to actually start building an app from scratch in AppStudio, learning how it to put it all together, what all those template files are doing and how everything works.

Don't get me wrong, the Featured Templates are neat and there is certainly value in having them out there and available for non-developers to quickly and easily get to a 60% solution, but the actual development documentation needs to be made more prominent.

View solution in original post

4 Replies
DanPatterson_Retired
MVP Emeritus

for those that are looking for the landing page: AppStudio for ArcGIS  and this is a great link... but hard to find

AppStudio  the help page which contains videos and stuff

JohnDye
Occasional Contributor III

Thanks Dan. I've seen that page but what I'm really looking for is the equivalent of the Build Your First App​ page from the JavaScript API but for AppStudio.

After a good amount of digging, I did actually find what I was looking for on AppStudio's Extend Apps page. The key phrase was buried in the documentation under Extend Apps > Create an App in App Studio. Specifically, in the Create a New App section, the line:

     To learn more about how to edit your app, see What is Qt Creator and QML and Esri's QML API.

The link "QML and Esri's QML API" has a section in it called "SDK Tutorials" which walk you through adding map and getting driving directions, etc. This is the key information needed to actually start building an app from scratch in AppStudio, learning how it to put it all together, what all those template files are doing and how everything works.

Don't get me wrong, the Featured Templates are neat and there is certainly value in having them out there and available for non-developers to quickly and easily get to a 60% solution, but the actual development documentation needs to be made more prominent.

TedChapin
Occasional Contributor III

When you say "I've downloaded AppStudio", what is there to download?

0 Kudos
JohnDye
Occasional Contributor III

Hi Ted,

If you want to do more than configure a template and actually want to build in custom business logic, functionality and interfaces, then you have to download AppStudio for ArcGIS (Desktop Edition) to either "Extend an Application" template or build a new application from the ground up using Qt Creator - which is the IDE used in AppStudio for ArcGIS (Desktop Edition).

When you configure a template via the AppStudio website, you're not actually developing an app. You're modifying some settings (like UI colors and text) and swapping some resources (like pictures and icons) in an existing application but you're not developing any of the application's functionality. Someone else has already wrote the code necessary to implement all the buttons, map viewport. sign in screens, animations and the like. This is probably a 60% solution but to get the rest of the way and build a cross-platform application that actually meets 100% of your requirements and implement your own workflows in the most intuitive way possible, you'll need to either "Extend an Application" template which means download the code, open it up and start making changes or build a completely new application from the ground up using AppStudio for ArcGIS (Desktop Edition) which is based on the ArcGIS Runtime SDK for Qt.

To go a little further in explaining why you might want to do this - in traditional development, if you wanted to develop a custom application and make it available on multiple platforms, you would have to write a completely separate code-base using a completely different SDK for each platform you wanted to make your application available on. For example, for Windows you might write the application in C# and reference Esri's .NET SDK. For Linux you'd probably write the application in Java and reference Esri's Java SDK. You'd use Java again for Android but this time you would reference Esri's Android SDK. Lastly, you would write the application again in Objective-C or Swift for iOS and OS X but this time you would reference Esri's iOS and OS X SDKs respectively.

As you can see, that would mean to make just one application available across all platforms, you'd have to write the code for that application 5 different times, be familiar with the idiosyncrasies of 5 different SDKs and know at least 3 different programming languages not to mention get reasonable familiar with the capabilities of several different IDEs. This is why most app development teams are pretty large and usually have several sub-teams that each specialize in developing applications for a specific platform. The scope is simply too much for any single developer to handle. Even a small team of 3-5 highly experienced developers would probably struggle developing all of those different code-bases.

AppStudio solves this problem by leveraging the Qt SDK and adding an additional framework on top of it that makes developing cross-platform applications much easier. What AppStudio for ArcGIS (Desktop Edition) and Qt do is create a set of bindings to each of the platforms I mentioned before. Bindings are essentially libraries which perform the translation between the code you write in AppStudio for ArcGIS (Desktop Edition) / QtCreator and the target platform you're compiling your app to, say iOS for example. So when you build a button in QML with AppStudio for ArcGIS (Desktop Edition) and then compile that App for iOS, the button you implemented in QML is translated to the native Objective-C or Swift code to implement a button in iOS. This solves the problem of having to write (and maintain!!!) 5 different code-bases to make the exact same app available on all platforms. You write it once in AppStudio for ArcGIS (Desktop Edition) / Qt, and the compiler does the hard work of translating what you wrote to function on other platforms. This is what the 'Make' service does on ArcGIS Online.

So that's what there is to download and why a developer might want to do so as well.