22
April 16 Coding for the Cloud Wekoslav Stefanovski @swekster

Coding for the cloud - development of modern web applications

Embed Size (px)

Citation preview

Page 1: Coding for the cloud - development of modern web applications

April 16

Coding for the Cloud

Wekoslav Stefanovski

@swekster

Page 2: Coding for the cloud - development of modern web applications

Agenda

• Web development – classic and modern ways

• State of the development world

• Demo

Page 3: Coding for the cloud - development of modern web applications

Basically, this talk is….

Page 4: Coding for the cloud - development of modern web applications

Web Development

• It has to do with the internet

• Usually some kind of user interface is involved

• Some kind of client processing

• Some kind of server processing

• Of course, we have some kind of data store

• The scale of things is dramatic, from microscopic

to astronomical

• Done by web developers

Page 5: Coding for the cloud - development of modern web applications

How do we develop webs?

• I have no idea, do you?

• There are lots of ready made solutions:

Wordpress, Joomla, Django, Drupal – do we

count those as web development?

• There are lots and lots of choices for every step

of the way, how do we choose?

Page 6: Coding for the cloud - development of modern web applications

Classic Microsoft Way

• Web Forms on the server

• Whatever Web Forms generated on the client

• SQL Server for the database

• Code is in some private repository

• Hosted on a private server, or the cheapest

hosting service that had .net

• Not spoiled by choice

• But everything worked out of the box

Page 7: Coding for the cloud - development of modern web applications

The New, Modern, Hip Way

• JAVASCRIPT EVERYWHERE!

• ITS’ THE BESTEST OF ALL LANGUAGES

• To be honest, JavaScript is the only universal

language across the stack.

• And it does have some good parts.

• The rise of the JavaScript framework

• The rise of the thick client

Page 8: Coding for the cloud - development of modern web applications

VB6 Client – Server model

Dataset

SQL

Database Server Desktop Client

Page 9: Coding for the cloud - development of modern web applications

Modern SPA model

Dataset

SQL

Database Server Desktop Client

Web ServerWeb Client

HTTP API Request

JSON Data

Page 10: Coding for the cloud - development of modern web applications

IKEA Web Development

• You get the parts, and assemble them yourself

• Enables incredible customization power

• Whether you wanted it, or not

• Command line is back, with a vengeance

Page 11: Coding for the cloud - development of modern web applications

DEMOIntroducing the team

Page 12: Coding for the cloud - development of modern web applications

Editor: Visual Studio Code

• Very light-weight

• Very extension based

• Very multi-platform

• Built on Chromium with TypeScript

• Great development experience for js and ts

• Somewhat integrated debugger

Page 13: Coding for the cloud - development of modern web applications

Server: Node.js

• Chrome’s V8 on a desktop machine

• Extremely light

• Multi platform by design

• Rabid community support

• npm is the comic relief sidekick

• Every package imaginable that you might need

• And every package you don’t need

• But you’ll get it anyway

Page 14: Coding for the cloud - development of modern web applications

Language: Typescript

• Compile-to-Javascript language

• Very similar to Javascript

• Any valid Javascript is valid Typescript

• Open source, available on all platforms

• Can target specific Javascript levels

• Can be debugged as easy as Javascript

Page 15: Coding for the cloud - development of modern web applications

Web Framework: Express.js

• Minimalist Node.js framework

• Extremely easy to get going

• Designed for API infrastructure

• Of course, lots of plugins

• Quite performant

Page 16: Coding for the cloud - development of modern web applications

Database: SQL Server

• Industry standard for the longest time

• Nice performance (for nicely tuned databases)

• Finally, multi-platform?

Page 17: Coding for the cloud - development of modern web applications

Client Framework: React

• User interface oriented framework

• Component based – but you make the components

• Uses Virtual DOM

• Relatively weird syntax

Page 18: Coding for the cloud - development of modern web applications

Code repository: GitHub

• De facto standard in the developer community

• Basically, the Internet is hosted on GitHub

• Uses Git as source control

• Great (and easy) tooling

Page 19: Coding for the cloud - development of modern web applications

Hosting Environment: Azure

• Integration with GitHub

• SQL Server Available

• Automatic deployments

• Multiple deployment slots

Page 20: Coding for the cloud - development of modern web applications

Any Questions?Don’t be shy

Page 21: Coding for the cloud - development of modern web applications

Upcoming events

SQLSaturday #519 in may!

http://www.sqlsaturday.com/519/

Page 22: Coding for the cloud - development of modern web applications

Thanks to our Sponsors:

Global Sponsor:

Platinum Sponsors:

Swag Sponsors: Media Partners:

With the support of: