Nebraska.Code() Sessions tagged javascript

TypeScript 101

This class aims to introduce the benefits TypeScript provides to large-scale JavaScript projects.

As your professor, I will be covering the differences between TypeScript and JavaScript, how TypeScript suddenly became the cool kid, and of course, I’ll be assigning homework at the end (wink wink).


So as you are most likely aware, JavaScript is expanding its footprint every day and it is both overwhelming and amazing what you can do with the language nowadays.

However, as more large-scale projects start to use JavaScript, the process of making the code easier to write and more maintainable becomes more and more difficult.

This is a problem Microsoft recognized early on and they came up with the solution of TypeScript and released the first version approximately on October 1st, 2012.

In essence, TypeScript trying to help JavaScript reach new heights and become very scalable.

In this class, I’ll be covering the basics on how to transition from JavaScript to TypeScript to more advanced topics like real life applications of how TypeScript is being used to scale projects in innovative new ways.

By the end of this class, you’ll understand why so many powerful tech companies have embraced TypeScript over JavaScript and what resources you can take advantage to start being able to embrace it as well.

Up and Running with Angular

If you have ever wanted to code an application with Angular this is your chance. Join us for a fun filled day of learning Angular in this hands-on workshop. You will go from 0 to 60 with your Angular knowledge and be able to create our own Angular applications by the end of this workshop. We will start with a new project and continue to build up the project until we have a full application at the end.

Topics Covered

  • What is Angular and the different parts that make up Angular?
  • Angular CLI Overview
  • Angular project layout overview
  • Creating common components like headers, footers, and menus.
  • Applying CSS to just a single component vs the whole site
  • Creating new components (pages)
  • Routing between components (pages)
  • Calling an external http service
  • Preparing your application for deployment
  • Testing overview (if time permits and our brains aren't already full with Angular knowledge)

Pre-Requisite Knowledge:

  • Html and CSS
  • Understanding of how events like click work in Html/JavaScript
  • TypeScript is helpful but we will cover the needed knowledge if you do not have any TypeScript experience

Pre-Work:

  • Node LTS 6.x (https://nodejs.org)
  • Visual Studio Code (https://code.visualstudio.com)
  • Angular CLI (npm install -g @angular/cli)
  • Create a new Angular project using the Angular CLI
    • Open Command Prompt or Terminal
    • Navigate to c:\ on Windows and ~/ on Osx
    • Run: mkdir projects
    • Run: cd projects
    • Run: ng new ng2ws --style scss --routing
    • Run: ng serve
    • Open browser and navigate to http://localhost:4200 and you should see the default web page for your Angular application

Speaker

Justin James

Justin James

DevOps Evangelist, Intel

Why Vue.js is Taking Over the Front-end World

Vue.js is the fastest growing JavaScript framework of all time. Now I know what you are thinking: 'Another JavaScript framework!' Well, this one is different. Vue.js is built on the ideas of simplicity and ease of use. This talk will be a comprehensive overview of how applications are build in Vue.js - including package management, directives, components. I will also touch on why it's so popular and the future of the framework.

Intro to React Native with Expo

Intro into building cross platform native mobile apps using Java Script. What is React Native? Benefits VS disadvantages analysis. How it works on mobile Devices. What is Expo? How Expo works with React Native. Why choose Expo.

Speaker

Yair Segal

Yair Segal

CEO/ Chief architect, Peach Software Inc

Unbreakable. Perfect: The Craft of Code

The best welders create seams so perfect that flaws cannot be detected even by an X-ray. Most welders will never get there. Code is no different. Do you write code that ‘works’ or code that is crafted so perfectly it will never show a flaw? We will explore timeless principles that make great code: recognizing code smells, writing for testability, keeping things simple and clear. Many of these ideas were written down decades ago, but are still ignored. The most important first step is viewing code as a craft, something that is done for it’s own sake rather than something hacked out to solve a problem. In this session, you’ll learn how to create a plan for steady improvements. Syntax, languages, frameworks all fade away. A mindset that is focused on craft will never fail.

Speaker

Joe Morgan

Joe Morgan

JavaScript Developer

Upgrading JavaScript Frameworks: The Good, The Bad, and The Ugly

Ever wondered if you should take the time out of day-to-day feature implementation to resolve some technical debt by upgrading your JavaScript framework?

While you might have upgrade fever and can think of lots of reason to adopt this new and epic framework, there are many gotchas that you should be aware of before you make that decision.

I will be talking about the pros and cons of upgrading, as well as provide some real world issues I have ran into. Most examples will be based on AngularJS/Angular with some discussion on ReactJS also. However, many of the topics can be applied to upgrading to and from any JavaScript framework.

Speaker

Kyle Thayer

Kyle Thayer

Technical Lead, Xpanxion

Gatsby: Static Site Generation with React

Abstract

Static site generation has long been a problem that has been "solved" with tools like Jekyll, Hugo, Hexo, et al. However, a challenger looms, and that challenger is Gatsby. Gatsby is a ReactJS powered static site generation tool that is a very capable challenger to these aforementioned, established tools. This talk goes into the details of what Gatsby is, what static site generation really is, and how the listener can make performant, dynamic, and incredible static websites with the incredibly powerful combination of Gatsby and React.

Details

The talk will begin with an illustration of what static site generation means, and some sample code and approaches used by existing tools, e.g. Jekyll, Hugo, etc. From this perspective, we can then shift the discussion into what a (current) modern website stack looks like, outside of static site generation.

After introducing static site generation tools, the presentation will shift into what makes a modern website performant, and why performance is such a crucial, often overlooked concern. In the age of Webpack and other bundling tools, we've lost focus on the user experience that is significantly degraded in loading these huge, monolithic bundles of JavaScript, CSS, and other content. These slow, massive applications are costing your users and your company precious time and money.

Introducing... Gatsby! Gatsby is a modern static-site generator powered by React. Just as React is "eating the world" in areas like the web and native, it similarly is now attempting to conquer static site generation and performant web applications. We will discuss how GatsbyJS makes static sites, and in particular, several of its techniques that have led to Gatsby being described as "ludicrously fast" such as progressive image loading, content aware bundling, etc.

Finally, we will discuss Gatsby's data layer, which uses another technology (GraphQL) which seems to be growing rapidly in popularity and adoption. We will discuss how GraphQL works with Gatsby, and how it allows you to pick and choose content, types of content, and even sources of content (e.g. Wordpress, Contenful, etc.). We will discuss how one could, for instance, use Gatsby to build a blog or an e-commerce site simply, quickly, and easily with the language and tooling that many of us are most familiar with: React and JavaScript. With this information in mind, each attendee will leave empowered with a greater understanding of not only Gatsby, but also static site generation, web performance, and some great techniques that they can use in their application, today.

Shaping Reality

Augmented Reality is changing the way we perceive and interact the world on a daily basis. It lets us see what a piece of furniture would look like in our living room, manage battlegrounds on our table, and translate signage text so we don't get lost. Couple that with the commoditization of smartphones, powerful graphics, and an ever-growing suite of robust AR solutions, it's never been easier to start shaping reality. In this session, we'll cover what AR is and how it works at a high level before diving into demonstrations involving facial recognition, gesture recognition, and superimposition. If you're worrying about how well you remember those college math and computer graphics classes, stop. I've curated a set of svelte AR frameworks (even some that are web-friendly) which all but trivialize AR implementation. Oh, and did I mention I'm using AR to present all of this?

Speaker

Josh Durham

Josh Durham

Data Operations Engineer, SportsEngine

JavaScript LevelUp

If you've been developing for the web any length of time, you've probably written some JavaScript. You know the basics of the language and you can get things done, and applications shipped. But as the proliferation of JavaScript continues into frameworks like UnderscoreJS, KnockoutJS, AngularJS, AnyOtherThingYouCanThinkOfJS, and even to the server (with NodeJS) you may find yourself struggling to understand how to write professional, full-fledged applications using JavaScript. In this session you will LevelUp your JavaScript skills by learning about closures and how they help to modularize your javascript. Prototypal inheritance and how you can extend JavaScript and you will learn about JavaScript design patterns and how they can take your JavaScript skills to the next level!

Speaker

Lee Brandt

Lee Brandt

Developer Advocate, Okta