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.
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