THE ROAD TO CODE. ANDROID DEVELOPMENT IMMERSIVE May 31. WEB DEVELOPMENT IMMERSIVE May 31 GENERAL ASSEMBLY

Similar documents
The Learn-Verified Full Stack Web Development Program

The IBM i on Rails + + Anthony Avison anthony@powerruby.com. Copyright 2014 PowerRuby, Inc.

Ruby On Rails. CSCI 5449 Submitted by: Bhaskar Vaish

Java with Eclipse: Setup & Getting Started

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Web Development Frameworks

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

Pentesting Web Frameworks (preview of next year's SEC642 update)

Pete Helgren Ruby On Rails on i

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

Ruby on Rails. Object Oriented Analysis & Design CSCI-5448 University of Colorado, Boulder. -Dheeraj Potlapally

opalang - Rapid & Secure Web Development

Based on: Google searches for language tutorials

Cross-Platform Development

Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is

Ruby on Rails. a high-productivity web application framework. blog.curthibbs.us/ Curt Hibbs <curt@hibbs.com>

My experience of Ruby Education in Taiwan

Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts

Tech Radar - May 2015

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency

An elearning platform for distanced collaborative programming

CS 40 Computing for the Web

Accelerating Business Value by

Programming. Languages & Frameworks. Hans- Pe(er Halvorsen, M.Sc. h(p://home.hit.no/~hansha/?page=sodware_development

GUI and Web Programming

Mobile web apps: The best option for business? A whitepaper from mrc

Choosing the First Educational Programming Language

Developing And Marketing Mobile Applications. Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT

Dasharatham Bitla (Dash)

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Interested in Expanding your Technical Skills?

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application

Web Cloud Architecture

Chapter 3.2 C++, Java, and Scripting Languages. The major programming languages used in game development.

Web Application Frameworks. Robert M. Dondero, Ph.D. Princeton University

White Paper. Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1

Extending Tizen Native Framework with Node.js

COS 333: Advanced Programming Techniques

Power Tools for Pivotal Tracker

Large-Scale Web Applications

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions

HYBRID. Course Packet

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Azure Day Application Development

Accelerating Wordpress for Pagerank and Profit

PROJECT MANAGEMENT SYSTEM

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

Development of mobile applications for multiple platforms

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

How To Build A Web App

SUHAIL DAWOOD Toronto, Ontario

Mobile Application Development

JRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems

The Decaffeinated Robot

Enterprise Mobile Application Development: Native or Hybrid?

Business Application Development Platform

What s really under the hood? How I learned to stop worrying and love Magento

Building emerging technology skills using IBM s Platform as a Service

Skillsoft Course Directory

Practical Essbase Web Services

MEAP Edition Manning Early Access Program Hello! ios Development version 14

Evolution of the Major Programming Languages

Web Application Development and Frameworks

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Mobile Game and App Development the Easy Way

Rich Internet Applications

Oracle Application Express MS Access on Steroids

Rhomobile cross-platfrom

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

Lecture 4 Cross-Platform Development. <lecturer, date>

This Record of activity confirms that Jonathan Scrase has completed the following courses within the Microsoft Virtual Academy:

Beginner s Android Development Tutorial!

Offerte del 13 giugno 2014

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Computer Science Course Descriptions Page 1

Developing Apps with the ArcGIS Runtime SDK for Android. Ben Ramseth Esri Inc. Instructor Technical Lead

What is a stack? Do I need to know?

Open Source Multi-Cloud, Multi- Tenant Automation in the cloud with SlipStream PaaS

Welcome to the Force.com Developer Day

Choosing the Best Mobile Backend

FRONT-END WEB DEVELOPMENT

The Design of the Inferno Virtual Machine. Introduction

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Transcription:

THE ROAD TO CODE WEB DEVELOPMENT IMMERSIVE May 31 ANDROID DEVELOPMENT IMMERSIVE May 31 GENERAL ASSEMBLY

GENERAL ASSEMBLY @GA_CHICAGO WWW.FACEBOOK.COM/GENERALASSEMBLYCHI @GA_CHICAGO

GENERAL ASSEMBLY

GENERAL ASSEMBLY @THE_NERDERY

THE ROAD TO CODE Scott Baumbich, Swift Developer SWIFT DEVELOPMENT

What is Swift? Swift is a modern programming language that made its first appearance in June 2014. Powerful Intuitive Interactive Fun Concise Expressive

How Swift is used in the industry? ios OS X tvos WatchOS IBM Android? Facebook?

Focus Choosing Swift as your first programing languag Why do YOU want to program? Time commitment Learning curve Life style

Swift Pros Swift is easier to read and write Swift can result in shorter overall code length Swift has some clever tricks up its sleeve Cons It doesn't do everything Objective-C does You need to know Objective- C to debug the code/ framework Since, the language is new the pool of Swift developers is very limited.

The job market for Swift developers

Questions? Scott Baumbich, Swift Developer @ScottBaumbich Scott-Baumbich SBaumbich777@Gmail.com SBaumbich

Ruby, Rails & my coding journey Nicole Lopez

About Me Ruby on Rails engineer at Avant Majored in Arabic Language and Literature Worked in Immigration for 4 years Learned to code through the internet and Meetup groups Started learning with HTML, CSS, Sass, and then Python, Javascript, and eventually Ruby and Rails Started from the front end now I m here

How I Learned... Online Coursera -- Introduction to Programming with Python Codecademy -- HTML and CSS Meetups Girl Develop It -- Sass and Javascript Railsbridge -- Intro to Rails Chicago Women Developers -- Basic bash, Ruby Side Projects & Tutorials

Ruby

What is Ruby? A programming language. a dynamic, reflective, object-oriented, general-purpose programming language

Ruby s methods and object types are dynamically determined at runtime rather than compile time. But what does that mean? Ruby uses reflection to modify its own structure and behavior at runtime (think metaprogramming). Follows an object-oriented programming paradigm. In Ruby, everything is an object. Designed for general purpose use across a wide variety of application domains.

Why Ruby? Accessible, flexible, friendly community, and overall FUN

"I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language." - Yukihiro "Matz" Matsumoto, creator of Ruby pictured >>

PROS Ruby is ACCESSIBLE Low barrier of entry to learn Ruby Easy variable and method definitions without static typing Takes care of memory allocation & garbage collection so you don t have to Reads like English Great documentation Gems are plentiful

Simple code leveraging the power of Gems

PROS Ruby is FLEXIBLE Can write the same thing many different ways Object-Oriented by nature Duck-typing -- if it acts like a duck and quacks like a duck, it s a duck Metaprogramming -- can write code that writes more code

Can also define this array with Array.new(...) or [ hearts, diamonds ] Flexibility & brevity of metaprogramming The Deck object holds many Card objects, keeping Deck & Card logic separate. Reads like English

CONS With great power comes great responsibility. Metaprogramming -- is a blessing and a curse Not great for concurrency or high performance with real-time data Flexibility allows people to be too clever No strong typing allows for mysterious bugs Easy to depend on gems. Which may not always be 100% reliable or documented

Rails

What is Rails? An opinionated Model View Controller (MVC) framework written in Ruby that favors convention over configuration.

PROS Speed of app development rails generate commands rake commands (ruby make) Great documentation -- many tutorials Tons of features out of the box Database, ORM Server with Rack middleware RESTful routing Web pages with built in templating helpers Mailer, Job processor Test framework Tons of gems optimized for rails

What you d see at localhost:3000 when booting up a blank Rails app

Accessible documentation across experience levels

Helpful Errors

CONS For beginners, easy to confuse what s from ruby and what s from rails Rails handles a lot of set-up and configuration from you -- to learn more, you ll need to dig deeper The concept of models in rails can lead to problematic architecture with tight coupling between business logic and objects stored in the database Not performant at scale for same reasons Ruby isn t performant at scale

Opportunities in Ruby on Rails

Tons of opportunities for Ruby and Rails devs Many companies use Rails including Github, Airbnb, Soundcloud, Avant, Enova, Basecamp, Reverb the list goes on. 83 Ruby opportunities listed on Built in Chicago s job page Rails lends itself to rapid development, so is a language used by many start ups.

Main Takeaways Ruby is a great first language for beginners interested in building web apps, and Rails is a great first framework to learn. Rails is a great framework to use to get your app up and running fast. Don t stop learning at Ruby on Rails. Keep digging beneath the surface to further your knowledge! There are tons of job opportunities for Ruby and Rails developers.

Questions? Ruby/Rails Links: http://ruby-doc.org/ http://guides.rubyonrails.org/ Uncle Bob talk about the Lost Years of Software Architecture More info about companies using Rails & Job opportunities here: http://skillcrush.com/2015/02/02/37-rails-sites/ http://www.builtinchicago.org/jobs http://www.rorjobs.com/ http://stackoverflow.com/jobs?tags=ruby-on-rails

Thank you! Github: BintLopez Twitter: @Bint_alBeatz

From PHP to Java Ian Olson Proprietary and Confidential / 2016 The Nerdery, LLC

WHO Ian Olson IS Senior Software Engineer at The Nerdery Professional Developer since 2012 THIS NERD? Open Source Contributor Laravel (PHP Framework) Artisan Languages: Java, PHP, HTML, CSS Proprietary and Confidential / 2016 The Nerdery, LLC 3

Let s Talk about Java Not the coffee! Proprietary and Confidential / 2016 The Nerdery, LLC

What is Java? Java is a general purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need of recompilation. Proprietary and Confidential / 2016 The Nerdery, LLC 5

Java Use Cases Enterprise Desktop Applications APIs & Micro-Services MVC Framework Proprietary and Confidential / 2016 The Nerdery, LLC 6

Getting Started with Java Tutorials / Websites / Blogs Spring MVC Getting Started (http://spring.io/guides/gs/serving-web-content) Mkyong.com (http://www.mkyong.com) Tools Spring Boot (http://projects.spring.io/spring-boot) Spring Initializer (http://start.spring.io) Intellij IDEA (https://www.jetbrains.com/idea/download/) Books Effective Java (2nd Edition) (http://amzn.to/1w4r6w2) Proprietary and Confidential / 2016 The Nerdery, LLC 7

Pros and Cons of Java CONS PROS Bigger projects can be difficult to compile and build Development is more expensive than in PHP or Python. #1 Popular Programming Languages on TIOBE Index Write once, run anywhere Built with Security in mind Big and Dedicated Development Community Outstanding Performance Proprietary and Confidential / 2016 The Nerdery, LLC 8

Job Market for Java Job market for Java is in high demand. A quick search over on Indeed.com, currently showed 1500+ job postings for Java in Chicago. We here at The Nerdery are looking for Java software engineers to work on some great projects. Proprietary and Confidential / 2016 The Nerdery, LLC 9

Shameless Plugs Email: ian.olson@nerdery. com Twitter: @ianmolson Proprietary and Confidential Proprietary / 2016 and The Confidential Nerdery, LLC/ 10 10

Questions? Proprietary and Confidential / 2016 The Nerdery, LLC 11

WHY PYTHON?

QUICK INTRO Unrelated college degree Bootcamp grad 2 years in Python Chicago PyLadies Co-organizer 3-legged cat owner

WHAT IS!?

COMMON USES Data science and academia Web development Scripting

THE ZEN OF PYTHON Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated.

Sparse is better than dense

There should be one --and preferably only one-- obvious way to do it.

Errors should never pass silently.

POPULAR FRAMEWORKS Django Flask Falcon Pyramid

GETTING A JOB IN PYTHON

PYTHON DRAWBACKS Large community -> slow to adopt innovation The Global Interperter Lock (GIL) Fewer bootcamps

Now is better than never.

THANK YOU Slides and presenter notes available upon request @JLUnrein jessunrein.com

THE ROAD TO CODE WEB DEVELOPMENT IMMERSIVE May 31 ANDROID DEVELOPMENT IMMERSIVE May 31 GENERAL ASSEMBLY