Get started with Forge using these learning paths

by Bastien Mazeran, Designated Support Specialist, at Autodesk on January 25, 2018

 You must have heard by now about the new Autodesk Forge Platform either by attending Autodesk University or DevCon or through other Autodesk sponsored events.

Autodesk Forge is our collection of Application Programming Interfaces (APIs) that we use to develop our own web services. As part of our Autodesk Forge efforts, we share those APIs (including documentation and code samples) with customers and 3rd party developers (the Forge community) that want to leverage years’ worth of legacy and current data associated with projects.

If you are like me, you probably have experience with programming for desktop applications (.NET experience), but you probably don’t have much experience with Web Services and Cloud APIs. This article is here to share with you how I learned Forge. I hope you will find this article useful and that it will help you get started with building new apps using the Forge Platform.

There are two paths you can take:

  • Expand your existing .NET expertise
  • Learn new web programming languages and technologies (JavaScript)

There is no right path here; it is up to you to decide what you feel the most comfortable learning and using.

Preliminary Work

Before you select a .NET or JavaScript path, you need to learn some key concepts: 

  • REST (REpresentational State Transfer, or REST for short) - A design concept for managing state information. Forge APIs are built with this architecture in mind, you may also hear them called RESTful APIs. For a detailed explanation of what REST is, please read this and if that does not help you, please read this more relaxed explanation.
  • JSON (JavaScript Object Notation) - JSON is a lightweight data-interchange format. You can think of it as another variant of XML.

.NET path

You are already familiar with C# or VB.NET and know how to apply those skills toward desktop app development. The good news is that you can continue using those same skills and learn the .NET technologies available for web development.

Always design Forge apps with security in mind:

  • Assembly security
    • DLLs / EXEs are not secure.
    • .NET assemblies can be decompiled, do not store sensitive information.
    • Try the ConfuserEx tool.
    • Refer to the Open Web Application Security Project, or OWASP for short, to learn more about web security in general.
  • Application architecture
    • Design for security, keep sensitive information on the server.
    • Sensitive information must be encrypted during transfer and storage.

Packages you should use (do not reinvent the wheel):

What's next:

  • Forge C# Quickstart - This guide will show you how to build your first Forge app using the Forge .NET SDK.

JavaScript Path

I use the term JavaScript path to describe various JavaScript-based web technologies and framework that are available to you to interface with the Forge Platform.

JavaScript Web Technologies

JavaScript is an interpreted programming language and is one of the three core technologies of the World Wide Web, alongside HTML and CSS. JavaScript or JS is typically run on the client-side (web browser) but can also be run the server-side sometimes.

If you are new to JavaScript, I cannot recommend enough the Practical JavaScript free course from Gordon Zhu. It will teach you the skills you need to build professional grade web applications.

If you review the JavaScript based samples on the Autodesk Forge web site, you will discover that a lot of them are using another JavaScript web framework called Node.js.

Packages / frameworks to use:

  • Node.js - An asynchronous event driven JavaScript runtime. One of its power resides in the fact that both client-side and server-side programming is done using the same language JavaScript.
  • forge-apis - Forge Node.js SDK

What's next:

Final words

.NET and JavaScript are not the only programming languages you can use to build your first Forge app, but you will find that they are the two most commonly used.

In the Forge Samples site, you will find other languages being used: Python, Java, PHP, Shell, HTML, Swift and TypeScript.

I did not want to cover all of those languages in this article, but instead wanted focus on the main languages and provide clarity.

I hope you find this article to be a great resource to develop the skills you need to build your first Forge application. Happy forging to you!

Was this helpful?

Dura vermeer

Dura Vermeer saves approximately 5% on costs per project following BIM 360 implementation

By aligning people, process, standards, and Autodesk technology, Dura Vermeer experienced significant cost savings of approximately five percent per project.

01 main image

CannonDesign and NEUF architect(e)s deliver phase one of CHUM with Revit and Navisworks

Set in the heart of Montreal and the largest healthcare project in North America, the new Centre hospitalier de l'Université de Montréal (CHUM) is changing the landscape of the Canadian metropolis.