Indy.Code() Sessions tagged javascript

TypeScript: Making JavaScript Tolerable

JavaScript has changed the world as we know it. It's applications are growing both in popularity and size. It is time that we give this language the respect it deserves. By leveraging TypeScript's type-system, your large JavaScript application code will be developed faster with fewer type-related bugs and allow for easier refactoring.

TypeScript is a superset of JavaScript that scales. Allow me to show you why I believe TypeScript makes JavaScript tolerable. Discover how TypeScript is backwards compatible to ES3, yet lets developers use the latest in the ECMAScript standards today. Become the most productive JavaScript developer you can by relying on TypeScript.

Speaker

David Pine

David Pine

Technical Evangelist (Microsoft MVP & Google Developer Expert), Centare

Winning with Web Components

The bar for web development continues to increase. While web frameworks proliferate, the rise of the mobile web has made performance a major concern. Fortunately, web standards have evolved. A new set of web standards, collectively referred to as web components, give us the ability to make custom HTML elements.

With web components, you can build your own suite of custom elements that work with any JavaScript framework (or none at all). Angular, React, Vue, ShinyNewFramework.js... doesn't matter. You can build a single set of components and use them accross all of your sites. Because they are native browser constructs, applications built with web components also render quickly.

In this talk, you will learn about the web components standard and how to use them in your application. You'll learn about the why web components are useful, some libraries that can help you build them, and how to integrate them in your own applications. By the end of this talk, you'll be ready to build your own suite of web components.

Speaker

Dustin Ewers

Dustin Ewers

Software Consultant, Centare

Kotlin - Less Code, More Fun

tl;dr - Write less (but safer!) code in your Android apps or any JVM-based projects

Ever work on an Android app and tire of all the boilerplate code? Or spend hours chasing down NullPointerExceptions in your Java app? Enter Kotlin, JetBrains' new(ish) free, open-source programming language that targets the JVM. This means you can use it everywhere you use Java, but with a modern, succinct syntax.

For native Android developers, Kotlin is not only available, but it's now considered a first-class language. You're able to write an app completely with Kotlin, or switch over entire components, or even just change your models to Kotlin's data classes (which removes a TON of boilerplate code.)

Oh, and for anyone using Java elsewhere, you can add in Kotlin code to your existing application. Kotlin is 100% interoperable with Java, meaning all your existing code/libraries/tests will work with any Kotlin code you write.

Doing JavaScript development? Kotlin can be transpiled into ES5, and there are even libraries available to use React or Angular with Kotlin.

C# dev working on any kind of Java project? You'll feel much more at home with Kotlin, given features like nullable types, properties (rather than getters/setters), and extension methods.

We'll walk through Kotlin's features, check out the syntax, and even create a small Android application so you can see Kotlin in action.

Speaker

Michael Fazio

Michael Fazio

Sr. Software Engineer, Skyline Technologies

Where The Web Is Going

The web is a strange place with many standards and browser vendors that all have to come together to make something useful. This talk looks at what's next for web technologies including ECMAScript 2018, Progressive Web Apps, Web Components, and HTTP/2. It then looks at how these standards come about and which groups set the direction. We'll discuss how the W3C, WHATWG, ECMA TC39, and IETF work together (or don't) to push the Web forward. You'll leave this talk better prepared for the web of tomorrow.

Speaker

Jared Faris

Jared Faris

VP of Solutions, HMB

Why loop in JavaScript when you can map, reduce or filter?

Traditionally, when developers see large arrays of data their "go to" tool for parsing and searching has been the for loop. But JavaScript provides also provides a more declarative approach that can help you find what you're looking for in fewer lines of code that is cleaner, easier to read, and maintain. Come see how the map(), reduce(), and filter() functions can help you!

Speaker

Scott McAllister

Scott McAllister

Developer Advocate Lead, Smartsheet

Writing End-To-End Tests Using Headless Chrome and Puppeteer

End-to-end tests are great! They ensure a great experience for your users, prevent bugs, and save money. However, they also have a history of being brittle and slow... but not any more! In this talk we'll cover end-to-end testing conceptually, then use Headless Chrome and Puppeteer to write powerful tests that can run on top of any stack.

Speaker

Taylor Krusen

Taylor Krusen

Associate Developer Advocate, Smartsheet

JavaScript Async Deep-dive

Callbacks, promises, async, oh my! Asynchrony in JavaScript has come of age. We'll start with a quick history of the 3 techniques. Then dive in deep to async and await. How can you transition from callbacks to promises or promises to async? How can you use legacy code with await? How can your legacy code call your async functions? Whether you're using Babel or evergreen browsers, as Yoda would say, "async code write you can."

Speaker

Rob Richardson

Rob Richardson

@rob_rich

Rock-Solid Components with TypeScript and GraphQL

Most recent javascript frameworks bring a solid component model to modern web development, but how can you guarantee that your components work correctly? In this session, you learn how the features of Typescript can be leveraged to bring clarity and dependability when constructing components with React. Using Typescript can help to catch errors early in the development life-cycle. GraphQL and its type system can ensure confidence in your components while fetching remote data. This comprehensive approach ensures that your components behave as you expect, and allows you to eliminate run-time errors. Learn how using types can keep your users happy!

Speaker

Mat Warger

Mat Warger

Senior Consultant, Keyhole Software

Bootstrap Your App with AWS Amplify!

Front-end development can be complicated. There are enough libraries, and enough churn, to make anyone feel lost in the shuffle. Common concerns for any non-trivial modern web application include features like authentication, user content, logging, and analytics. In this session, we break down and demo the key features of AWS Amplify – an open-source library from Amazon. Amplify abstracts away the common functionality that so many applications share and allows developers to focus on building – not plumbing! In this session, we walk through a simple application highlighting the features and tools the library provides. This should leave you with the knowledge of how and why you would integrate this with your own projects. The session will use React to demonstrate the features of the library, but general front-end development experience is all that is required.

Speaker

Mat Warger

Mat Warger

Senior Consultant, Keyhole Software

Desktop Applications in Electron

While most of the world has gone mobile, there is still a time and a place for desktop applications. This course will focus on utilizing those web skills with a foundation in HTML, CSS and Javascript to build cross-platform desktop applications ready for enterprise deployment. We will setup the development environment, add the appropriate packages and even build a deployment package. In the end you will gain a good understanding of the inner workings of applications such as Slack, vscode and the Atom editor.

Speaker

Victor Pudelski

Victor Pudelski

V.P. of Solutions, Technology Solutions Consultants, LLC