web development

Introduction to web development

what's a web application

A web application is application software that runs on a web server.

 

Web applications are accessed by the user through a web browser with an active network connection.

what's a web application

architecture

 

No design fits all.

monolithic

 

The entire application is deployed as a single unit.

monolithic

PROS CONS
All-in-one Technology Stack
Simplicity Reliability
Updates

microservice

 

Loosely-coupled, independent services.

microservices

PROS CONS
Scalability Needs Expertise
Low coupling Testing
Updates Development

serverless

 

No need for provisioning, and managing webservers.

serverless

PROS CONS
No server management Needs Expertise
Charged by usage Vendor locked-in
Scalability Development

common stacks

A stack is a combination of technologies to develop web applications.

 

Stacks 🔗

lamp

Linux (OS)
Apache (Web Server)
MySQL or MariaDB (Database)
Perl, PHP, or Python (Language)

XampP

Cross-platform (operating system)
Apache (Web Server)
MariaDB or MySQL (Database)
PHP (Language)
Perl (Language)

MEAN

MongoDB (Database)
Express.js (Application Controller Layer)
AngularJS/Angular (Web Application Framework)
Node.js (JavaScript language)

decision

Objectivity.

decision

The whole team should use the same stack.

decision

Evaluate solutions according to your needs.

Evaluate solutions according to your needs.

mobile

Focus on applications when the main target is mobile devices.

 

native

Developed for specific operating systems.

hybrid AND CROSS PLATFORM

Developed across multiple platforms.

comparison

Native Hybrid and Cross Platform
Higher performance Usually cheaper
Direct access to features Faster to market
Best responsive user experience One codebase, multiple platforms

comparison of Cross Platforms Frameworks

Description React Native Flutter (SDK)
Single codebase Yes Yes
Community Support Highest High
Hot-reload Yes Yes
Documentation Excellent Excellent
Open Source Yes Yes
Language Javascript/Typescript Dart
Stack Overflow Survey 2022 of Usage 12.57% 12.64%

design tools

Choose the one you feel more comfortable with.

design tools

design tools

Usability

MANAGEMENT

Everything has to be in a ticket.

spikes

Decisions are SPIKE tickets.

spikes

They are limited in TIME not complexity.

spikes

The output are other tickets with the actions to take.

spikes

Tickets must be as small as possible.

spikes

Tickets must have a well-defined AC that can be checked.

spikes

## Spike Plan

## Title 
The title of the Spike.

- Example: Team needs to choose an architecture for the project.

## Context
Outline the reason and context for the spike.

- Example: Team needs to create a web app for XXX.

## Goals/Deliverables
What are the goals and deliverables of this spike? 

- Example:
-- Architecture stack to be used by the whole team.
-- Tickets to create it.

spikes

# Spike Outcome/Result

## Goals/Deliverables
Summarise from the spike plan goal.

## Technologies, Tools, and Resources used
List of information needed by someone trying to reproduce this work.

-- PHP/Python/Node evaluated as programming languages. Pros/Cons of each one.
-- Apache/serverless evaluated as web servers. Pros/Cons of each one.

## What we found out 
Pros/Cons of each solution evaluated, considerations, etc.

## Open issues/risks [Optional]
List out the issues and risks identified. Make notes to help the team manage and respond.

-- The library X doesn't seem well maintained.
-- We would be tying us up to this hosting provider.

## Recommendations
List out the output of the SPIKE. 

-- Due to this and that we think we should go for the solution #X.

spikes

spikes

example technical review

Technical Review

Sources

https://reinvently.com/blog/fundamentals-web-application-architecture/

https://www.mulesoft.com/resources/api/microservices-vs-monolithic

https://github.com/Tooramvale/_spike-templates

https://www.leadingagile.com/2016/09/whats-a-spike-who-should-enter-it-how-to-word-it/

Questions

Juan Carlos Blanco Delgado

Gorka Guridi

Web Development

By Gorka Guridi

Web Development

General web development explanation as introduction to how to start projects, etc.

  • 295