New languages, platforms, and technologies are emerging very rapidly like never before.
What software technologies are out there? What is hot right now? Which ones should you
learn?
This presentation helps you navigate the maze of new technologies out there. We will go
through a broad overview of hot technologies in mobile, web, cloud, big data, IoT, and
other areas. We will leave with a map of the tech landscape, giving you a starting point to dive deeper into whatever technology interests you!
2. Presenter
● Vice President, Engineering at Webalo
● Graduate of CS Department 1997
● 15 years developing enterprise software in the US
● PhD in Software Engineering:
– “Requirements-Driven Adaptation of Choreographed Interactions”
3. Why This Topic
Became a manager
Was a developer
Request from students of the department.
16. Mobile Dev – Cross Platform
● Convert common + write native UI
– J2ObjC
● PhoneGap / Cordova
– HTML 5
– Plugins for platform services
– Ionic for native look
● Scripting with native binding (Lua)
● VM
– Oracle ADF
– Webalo
● Separate code for each platform
17. Mobile Dev – Webalo Approach
● Shared code yet native look and feel.
Webalo Platform – Cross Platform Client Architecture
18. Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
19. Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
20. Web Dev – Specs
● HTML5
– Video/audio, components, storage, new elements, ...
● CSS3
– Transition, animation, gradients, calc, media queries
● ECMA Script 6
– Classes, types, promises, functional constructs
● Web Components
– Custom elements, shadow DOM, templates, imports
● HTTP 2.0 (to replace SPDY)
21. Web Dev – Responsive Design
● Handling various screen sizes
Twitter Bootstrap grids
Modernizr
23. Web Dev – Approaches
● History
– Request-Response (Plain HTTP)
– Behavior (JavaScript)
– Flash / Applets / SilverLight
– Async request-response (AJAX)
– DOM manipulation (JQuery)
– Templating (Knockout.js, Moustache.js)
– WebSockets
– Single Page Apps (SPA)
24. Web Dev – Single Page App (SPA)
● Features
– Single initial load of all resources (No reload or navigation to
another page)
– Dynamic content fetching (template-based rendering)
– Declarative binding
– Web Components (custom elements)
– Structured (e.g. MVC)
● SPA Frameworks
– Angular.js (All)
– Backbone.js
– Ember.js (Minimal)
– Polymer (Components)
– React.js (UI)
25. Web Dev – MEAN Stack
● JavaScript on server and client
● JSON all the way
● Extensive Node.js plugins
– SASS for CSS: variables, inheritance, readability
– E2E testing (Karma.js, Mocha.js, Jasmine.js)
27. Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
28. IoT – Overview
● Basics
– Integrate physical and digital
– Sensors and actuators embedded in physical objects
– Network-connected (often via IP)
● History
– 1990: Web of information
– 2000: Web of services
– 2010: Web of everything
● Applications
– Safety, streamlined commerce, entertainment, education,
resource conservation, operational efficiency and personal
well-being and many more.
40. Big Data – Spark
● General cluster computing framework
● Multi-stage in-memory processing
● Much faster than Hadoop for some cases
● Batch + Streaming (Lambda Architecture)
41. Big Data – Machine Learning
● Insights into data using various techniques
– Summary statistics
– Correlation
– Clustering
– Regression
– Recommendation
53. DevOps – Overview
● Name: Development + Operations
● What it is: Collaboration between developers
and IT operators.
● Goal: Establish an environment where builds
can happen more frequently, rapidly, and
reliably.
● Means:
– Automation (Deployment + Test)
– Agile (Communication + Integration + Culture)
– Modularity (VM + Containers)