GoCode is a hackathon/app competition put on by the State of Colorado. The challenge this year is for teams to build an app that helps “businesses build a competitive strategy” while also using a Colorado open dataset. Rather than limiting the dev time to the traditional all-nighter weekend, teams have many months to build their apps/businesses.

We (DevelopIntelligence) are one of the sponsors GoCode (our 3rd year of sponsorship and GoCode’s 3rd year of existing) and teaching a half-day class to the top teams on the mentor weekend.

Our speciality lies in the technology training and learning space. In addition to our mentoring day, we want to provide some resources GoCode participants or other hackathon participants could use to build their apps.

Which technologies get used most at hackathons?

For this, we turn to the awesome Devpost Student Hacker Report. They gathered data on the different technologies used across 160 hackathons. This is a fairly solid proxy for technologies people use to build apps quickly.

Learning the Tools Quickly

As much as we’d like to make a 10000 word mega-post on every technology on there, we’re going to stick with these:

  • Top 3 Languages
  • Top 3 Frameworks
  • Top 3 Databases
  • Top 3 Backends as a service (BaaS)
  • Top 5 Skeletons and Boilerplates

These are arguably the core to building apps quickly. We’ll cover backends as a service because they are much faster to prototype with.

Top 3 languages

HTML and CSS

HTML and CSS are the foundation of every webpage and many mobile apps They are actually markup languages vs. programming languages. Knowing how to use them is key for building apps.

Resources:

There is no shortage of excellent HTML/CSS tutorials out there. These are the best for quickly picking up things quickly:

MDN on CSS3 and HTML5

This is the resource on most web languages, including HTML/CSS. Mozilla’s doc are thorough but still easy to read.

Shay Howe’s Learn to Code HTML & CSS

Shay Howe’s tone of voice, design, and layout/design make his tutorials easy to read or skim for picking up the basics.

Tip: Few developers are going to write much HTML/CSS from scratch. For prototyping quickly, use a framework like Bootstrap or Foundation. They come loaded with ready made components and styles for building the majority of app features. UIkit is another front-end framework for mobile apps that has gained a lot of traction quickly.

JavaScript

JavaScript is one of the most popular programming languages in use in the world today. It is most commonly used in web applications.

Resources:

MDN, again. Start with their re-introduction to JavaScript.

JavaScript CookBook

Print book features a solid examples of how to do common tasks with JavaScript.

JavaScript is Sexy archives

Richard Bovell can explain difficult JavaScript topics like closures or callback functions in a way that few can.

Professional JavaScript for Web Developers

The resource for diving deep into anything the previous resources can’t cover well enough.

Python

Python is an object-oriented language that came out in the mid-90s. Python is one of the most beloved languages in wide use today. Python is used in everything from web application development to astronomy to data crunching and many other industries and fields. Flask and Django are the two most popular frame works for web application building with Python.

Resources:

Python for You and Me

Free eBook that covers nearly all parts of Python syntax. Has books for 2.x and 3.x.

Python Recipes on ActiveState

Recipes for common Python tasks.

Top 3 frameworks

Node.JS

NodeJS is Javascript on the server. NodeJS changed JavaScript and web development when it came out in the late 2000s. NodeJS is not a server but is rather a runtime environment for JavaScript outside of the browser.

Resources:

The Art of Node

A github repo that covers all the essentials of Node in one long page.

An Absolute Beginner’s Guide to Node.js

Covers both Node and Express (perhaps the most popular combination in JavaScript).

Flask

Flask is a web framework written in Python. Flask started out in Django’s Shadow but has quickly become a very well-regarded and commonly used framework both for hackathons and production apps.

Resources:

The Flask Mega-Tutorial

Massive tutorial that covers all the essentials of the Flask framework.

Explore Flask

Best practices (and example code) for building Flask apps.

Angular

Angularjs is a full-stack JavaScript framework by Google.

AngularJS gained popularity rapidly in 2013 and is still gaining as of 2016. Angular is going to undergo some major changes with Angular 2 but Angular 1 will still be maintained. There are tons of powerful libraries, projects, and example code that developers can use to prototype and build apps quickly. Angular might not be as sexy as it once was but it’s still an awesome tool for many use cases.

Resources:

50 Angular.js Examples (video)

Simple and clear examples of Angular in action.

AngularJS Free Curriculum

A well-curated curriculum on free resources for learning Angular.

AngularJS Fundamentals in 60-ish Minutes

Developer Dan Wahlin is easy to listen to and understand in this well-done short video on Angular basics.

Learn AngularJS in 7 days

A very nicely condensed tutorial.

Top 3 Backends as a Service (BaaS)

Parse

Parse was a mobile backend as a tutorial that Facebook acquired and later shutdown. In an effort to be kind to their users, they created the open-source Parse Server that does what Parse did.

Parse allows you to have a backend with a lot less work. You can save user data, preferences, and state of an application without having to know so much about servers and middleware. Parse’s speciality was push notifications. Mozilla offers an open source parse alternative called Kinto.

Firebase

Firebase is a BaaS that is now owned by Google. Firebase is a json storage database that syncs with the state of your app. Think of it as a json file that syncs in real-time. This allows developers to easily store and retrieve data by calling simple methods (via a REST api). Firebase has libraries to allow developers to incorporate it easily with Angular or similar frameworks.

Resources:

Firebase Docs

Firebase’ own tutorials/docs are well done for starting out.

Firebase Tutorial: Building a Realtime App with Firebase

Long free tutorial covers all the basic operations of Firebase.

Meteor

Meteor is an open source JavaScript framework. It covers both the front-end and back-end and has very unique (but well-regarded) ways of doing things. It’s unclear why Meteor was listed as a BaaS but it’s still pretty neat anyway.

Resource:

Meteor Learning Massive Github List

Most popular Meteor tutorials end up getting put here by the awesome Eric Douglas.

Top 5 Skeletons and Boilerplate Projects

Skeleton or Boilerplate projects are open-source app starter kits. Another more experienced developer has created a project with common patterns and best practices that you could use for your app. Since this article has mostly covered building apps with JavaScript and Python, here’s a couple a skeletons/boilerplates to check out before diving into building.

Resources:

Flask Boilerplate

230+ Github stars and still being maintained (as of early 2016).

MEAN Stack

Mongo-Express-Angular-Node boilerplate for building apps. 8500+ Github stars and still being maintained (as of early 2016).

Angularfire

Angular + Firebase. Angular directives and methods designed specifically to work with Firebase. This allows for much of the functionality of the MEAN stack but with just the A (Angular) part plus Firebase. This is a very quick way to add a backend to an Angular app.

Django Hackathon Starter

Django skeleton project that allows for easy plug and play of various popular APIs (e.g. Yelp, Instagram).

Node.JS Hackathon Starter

A boilerplate for Node.js web applications. Features easy installation and use of APIs, font awesome, bootstrap, and many other powerful/popular libraries used in prototyping.

Summary

There’s a ton of information in here and a ton of different learning resources. We hope this helps you build your prototype more quickly and win code GoCode or another hackathon.

The following two tabs change content below.
mm
This post was created by one of our editorial team members here at DevelopIntelligence. Have an idea for a new article idea? Shoot us a message!
mm

Latest posts by Editorial Team (see all)

Comments

comments