SlideShare uma empresa Scribd logo
1 de 22
April 16
Coding for the Cloud
Wekoslav Stefanovski
@swekster
Agenda
• Web development – classic and modern ways
• State of the development world
• Demo
Basically, this talk is….
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
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?
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
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
VB6 Client – Server model
Dataset
SQL
Database Server Desktop Client
Modern SPA model
Dataset
SQL
Database Server Desktop Client
Web Server
Web Client
HTTP API Request
JSON Data
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
DEMO
Introducing the team
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
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
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
Web Framework: Express.js
• Minimalist Node.js framework
• Extremely easy to get going
• Designed for API infrastructure
• Of course, lots of plugins
• Quite performant
Database: SQL Server
• Industry standard for the longest time
• Nice performance (for nicely tuned databases)
• Finally, multi-platform?
Client Framework: React
• User interface oriented framework
• Component based – but you make the components
• Uses Virtual DOM
• Relatively weird syntax
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
Hosting Environment: Azure
• Integration with GitHub
• SQL Server Available
• Automatic deployments
• Multiple deployment slots
Any Questions?
Don’t be shy
Upcoming events
SQLSaturday #519 in may!
http://www.sqlsaturday.com/519/
Thanks to our Sponsors:
Global Sponsor:
Platinum Sponsors:
Swag Sponsors: Media Partners:
With the support of:

Mais conteúdo relacionado

Mais procurados

Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
Zahid Mahir
 

Mais procurados (20)

Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5
 
Testing your Single Page Application
Testing your Single Page ApplicationTesting your Single Page Application
Testing your Single Page Application
 
Why use Go for web development?
Why use Go for web development?Why use Go for web development?
Why use Go for web development?
 
All out on the Cloud - PloneConf 2012
All out on the Cloud - PloneConf 2012All out on the Cloud - PloneConf 2012
All out on the Cloud - PloneConf 2012
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
Use all the buzzwords
Use all the buzzwordsUse all the buzzwords
Use all the buzzwords
 
Riak at Posterous
Riak at PosterousRiak at Posterous
Riak at Posterous
 
Don't worry with bower
Don't worry with bowerDon't worry with bower
Don't worry with bower
 
javerosmx-2015-marzo-groovy-java8-comparison
javerosmx-2015-marzo-groovy-java8-comparisonjaverosmx-2015-marzo-groovy-java8-comparison
javerosmx-2015-marzo-groovy-java8-comparison
 
The Saga of JavaScript and TypeScript: Part 1
The Saga of JavaScript and TypeScript: Part 1The Saga of JavaScript and TypeScript: Part 1
The Saga of JavaScript and TypeScript: Part 1
 
6 reasons you should program in go
6 reasons you should program in go6 reasons you should program in go
6 reasons you should program in go
 
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.comOpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
 
Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
 
No More Cowboy Coding: Modern WordPress Development Workflow That Scales
No More Cowboy Coding: Modern WordPress Development Workflow That ScalesNo More Cowboy Coding: Modern WordPress Development Workflow That Scales
No More Cowboy Coding: Modern WordPress Development Workflow That Scales
 
Green Custard Friday Talk 5: React-Native Performance
Green Custard Friday Talk 5: React-Native PerformanceGreen Custard Friday Talk 5: React-Native Performance
Green Custard Friday Talk 5: React-Native Performance
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack development
 
JSFoo-2017 Takeaways
JSFoo-2017 TakeawaysJSFoo-2017 Takeaways
JSFoo-2017 Takeaways
 
Conquering AngularJS Limitations
Conquering AngularJS LimitationsConquering AngularJS Limitations
Conquering AngularJS Limitations
 
Lessons in Open Source from the MongooseJS ODM
Lessons in Open Source from the MongooseJS ODMLessons in Open Source from the MongooseJS ODM
Lessons in Open Source from the MongooseJS ODM
 
Stripe con 2021 UI stack
Stripe con 2021 UI stackStripe con 2021 UI stack
Stripe con 2021 UI stack
 

Destaque

COSHH Training
COSHH TrainingCOSHH Training
COSHH Training
Piplu Das
 

Destaque (15)

Smoke and Mirrors - Reflection in C#
Smoke and Mirrors - Reflection in C#Smoke and Mirrors - Reflection in C#
Smoke and Mirrors - Reflection in C#
 
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScriptTypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript
 
Mate
MateMate
Mate
 
Vanessa trejo
Vanessa trejoVanessa trejo
Vanessa trejo
 
Guía para el diseño tipográfico. Regiones Ecuador
Guía para el diseño tipográfico. Regiones EcuadorGuía para el diseño tipográfico. Regiones Ecuador
Guía para el diseño tipográfico. Regiones Ecuador
 
COSHH Training
COSHH TrainingCOSHH Training
COSHH Training
 
Design Deck
Design DeckDesign Deck
Design Deck
 
Precious ore, precious data
Precious ore, precious dataPrecious ore, precious data
Precious ore, precious data
 
DSD-INT 2015 - Planning support toolbox for resilient urban design
DSD-INT 2015 - Planning support toolbox for resilient urban designDSD-INT 2015 - Planning support toolbox for resilient urban design
DSD-INT 2015 - Planning support toolbox for resilient urban design
 
Gestión de proyectos “lean”. PMI - Arturo Penas Rial
Gestión de proyectos  “lean”. PMI - Arturo Penas RialGestión de proyectos  “lean”. PMI - Arturo Penas Rial
Gestión de proyectos “lean”. PMI - Arturo Penas Rial
 
Востребованное образование
Востребованное образованиеВостребованное образование
Востребованное образование
 
Collection of Soft Contact Lenses
Collection of Soft Contact LensesCollection of Soft Contact Lenses
Collection of Soft Contact Lenses
 
Affordable web design
Affordable web designAffordable web design
Affordable web design
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
 
The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5
 

Semelhante a Coding for the cloud - development of modern web applications

August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Web technologies for desktop development @ berlinjs apps
Web technologies for desktop development @ berlinjs appsWeb technologies for desktop development @ berlinjs apps
Web technologies for desktop development @ berlinjs apps
Darko Kukovec
 
T4T Training day - NodeJS
T4T Training day - NodeJST4T Training day - NodeJS
T4T Training day - NodeJS
Tim Sommer
 

Semelhante a Coding for the cloud - development of modern web applications (20)

Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
 
Node ts1
Node ts1Node ts1
Node ts1
 
The Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievThe Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey Vasiliev
 
Node.js for .NET Developers
Node.js for .NET DevelopersNode.js for .NET Developers
Node.js for .NET Developers
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
eMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the Enterprise
 
Go - A Key Language in Enterprise Application Development?
Go - A Key Language in Enterprise Application Development?Go - A Key Language in Enterprise Application Development?
Go - A Key Language in Enterprise Application Development?
 
Native App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioNative App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual Studio
 
Overview of Coding Languages
Overview of Coding LanguagesOverview of Coding Languages
Overview of Coding Languages
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewbox
 
Developing a mobile cross-platform library
Developing a mobile cross-platform libraryDeveloping a mobile cross-platform library
Developing a mobile cross-platform library
 
Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015
 
Mongo DB at Community Engine
Mongo DB at Community EngineMongo DB at Community Engine
Mongo DB at Community Engine
 
MongoDB at community engine
MongoDB at community engineMongoDB at community engine
MongoDB at community engine
 
SSJS, NoSQL, GAE and AppengineJS
SSJS, NoSQL, GAE and AppengineJSSSJS, NoSQL, GAE and AppengineJS
SSJS, NoSQL, GAE and AppengineJS
 
Web technologies for desktop development @ berlinjs apps
Web technologies for desktop development @ berlinjs appsWeb technologies for desktop development @ berlinjs apps
Web technologies for desktop development @ berlinjs apps
 
T4T Training day - NodeJS
T4T Training day - NodeJST4T Training day - NodeJS
T4T Training day - NodeJS
 
Introduction to node.js aka NodeJS
Introduction to node.js aka NodeJSIntroduction to node.js aka NodeJS
Introduction to node.js aka NodeJS
 

Mais de Wekoslav Stefanovski

SOLID -Clean Code For Mere Mortals
SOLID -Clean Code For Mere MortalsSOLID -Clean Code For Mere Mortals
SOLID -Clean Code For Mere Mortals
Wekoslav Stefanovski
 

Mais de Wekoslav Stefanovski (10)

Make you a Redux for fun and profit!
Make you a Redux for fun and profit!Make you a Redux for fun and profit!
Make you a Redux for fun and profit!
 
Blazor - C# for the web
Blazor - C# for the webBlazor - C# for the web
Blazor - C# for the web
 
Asynchrony on the web
Asynchrony on the webAsynchrony on the web
Asynchrony on the web
 
Servers? We don't need no stinking servers
Servers? We don't need no stinking serversServers? We don't need no stinking servers
Servers? We don't need no stinking servers
 
Typescript Decorators
Typescript DecoratorsTypescript Decorators
Typescript Decorators
 
How to write bad code using C#
How to write bad code using C#How to write bad code using C#
How to write bad code using C#
 
Garbage Collection .Net
Garbage Collection .NetGarbage Collection .Net
Garbage Collection .Net
 
TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done right
 
Entity Framework 5 - Code First
Entity Framework 5 - Code FirstEntity Framework 5 - Code First
Entity Framework 5 - Code First
 
SOLID -Clean Code For Mere Mortals
SOLID -Clean Code For Mere MortalsSOLID -Clean Code For Mere Mortals
SOLID -Clean Code For Mere Mortals
 

Último

Último (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

Coding for the cloud - development of modern web applications

  • 1. April 16 Coding for the Cloud Wekoslav Stefanovski @swekster
  • 2. Agenda • Web development – classic and modern ways • State of the development world • Demo
  • 4. 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
  • 5. 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?
  • 6. 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
  • 7. 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
  • 8. VB6 Client – Server model Dataset SQL Database Server Desktop Client
  • 9. Modern SPA model Dataset SQL Database Server Desktop Client Web Server Web Client HTTP API Request JSON Data
  • 10. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. Web Framework: Express.js • Minimalist Node.js framework • Extremely easy to get going • Designed for API infrastructure • Of course, lots of plugins • Quite performant
  • 16. Database: SQL Server • Industry standard for the longest time • Nice performance (for nicely tuned databases) • Finally, multi-platform?
  • 17. Client Framework: React • User interface oriented framework • Component based – but you make the components • Uses Virtual DOM • Relatively weird syntax
  • 18. 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
  • 19. Hosting Environment: Azure • Integration with GitHub • SQL Server Available • Automatic deployments • Multiple deployment slots
  • 21. Upcoming events SQLSaturday #519 in may! http://www.sqlsaturday.com/519/
  • 22. Thanks to our Sponsors: Global Sponsor: Platinum Sponsors: Swag Sponsors: Media Partners: With the support of: