wordpress_blog

This is a dynamic to static website.

Web Development In 2023 – A Practical Guide

This is an in-depth guide that goes over every major technology that has to do with web development, from languages to frameworks to utilities.

INTRODUCTION

ABOUT THIS GUIDE…

  • It’s a step-by-step guide that covers major tools used in web development. It is NOT a “latest trend” video
  • Choose your own path based on what you want to do and learn. You don’t have to learn anywhere near everything in this video
  • I try to be as objective as possible, but I wiil mention little suggestions and underline the things that I use personally

GETTING STARTED / GOALS

YOUR OVERALL GOAL

  • CAREER ADVANCEMENT
  • FREELANCING / AGENCY
  • CREATE PRODUCTS
  • HOBBY / FUTURE PROOFING

TYPES OF WEB DEVELOPERS

I will include specific colors for technologies that are relevant for different type of developers

  • Blue: Front-End Developer
  • Red: Back-End Developer
  • Green: Full-Stack Developer

FRONT-END DEVELOPER

Focus on the user interface (UI) of a website/web app.

  • HTML & CSS
  • JavaScript
  • Front-End Framework
  • CSS Frameworks
  • Module Bundlers & Build Tools
  • HTTP & Consuming APIs
  • Unit Testing

BACK-END DEVELOPER

Focus on the server-side programming & databases

  • Programming Language (PHP, Python, C#, JS/Node.js, etc)
  • Back-End Framework
  • Databases
  • HTTP & Creating APIs (REST)
  • ORM (Object Relational Mapper)
  • Dploying To Servers

FULL-STACK DEVELOPER

Focus on the front and back-end. Usually a little more emphasis on one end

  • HTML, CSS, JS
  • Front-End Fromework
  • Back-End Language & Framework
  • Fully Understand HTTP & APIs
  • Databases & ORM
  • Testing
  • Deployment

GETTING STARTED / THE ESSENTIALS

BASIC TOOLS

  • Computer & OS: At least 8GB of RAM
  • Operating System: MacOS , Windows, Linux
  • Text Editor / IDE: VS Code, Sublime Text, VM, Atom
  • Web Browser: Chrome, Firefox, Edge, Safari, Brave
  • Terminal: Default, iTerm, Git Bash, Powershell, WSL, Hyper

FRONT-END BASICS / THE BUILDING BLOCKS

HTML & CSS

  • HTML Layout, Tags & Attributes
    <!DOCTYPE html />, <head>, <body>, <p>, <img>
  • Semantic Elements
    <header>, <footer>, <section>, <aside>, etc
  • IDs vs Classes
    IDs for unique elements, classes for styling
  • CSS Fundamentals
    fonts, colors, box model, positioning, etc
  • CSS Specificity
    The specific weight of selectors
  • Flexbox & CSS Grid
    Create one and two-dimensional layouts
  • Responsive Layouts
    Mediea queries, fluid layouts, etc

JAVASCRIPT

  • Learn The Bascis
    Functions, loops, conditionals, scope
  • The Browser Environment
    The window object, execution context
  • Doucment Object Model
    Manipulate DOM content, styling, events
  • ES6+ Features
    Arrow functions, destructuring, template literals
  • Arraw Methods
    forEach, filter, map, reduce, find
  • Asynchronous JS & HTTP
    Callbacks, promises, fetch, JSON

FRONT-END BASICS / LAYOUT & STYLING TOOLS

SASS

Sass is a CSS Pre-Processor. You use a Sass complier to compile .sass or .scss files into regular CSS. It is everything that CSS is plus some additional features such as…

  • Simple variable syntax
  • Nesting
  • Functions & Mixins
  • Importing & Partials
  • Extend / Inheritance

POST CSS

Post CSS is a tool that transforms your CSS using JS plugins. For instance, if you wanted to minify or auto add prefixes, you could use specific plugins to do that.

You can essentially do everything that Sass does with Post CSS, just in a different way.

Post CSS has more of a learning curver and is usually used with tooling such as Webpack, which we will talk about soon.

CSS FRAMEWORKS

  • It is important that you learn CSS before jumping into any of these frameworks
  • Saves your time when it comes to creating and styling layouts
  • You may need to learn Sass in order to really customize your layouts

TAILWIND

  • Utility-based framework
  • Very popular
  • Easily integrate into projects

BOOTSTRAP

  • Component-based framework
  • Very popular
  • Includes dynamic JS components

MATERIALIZE

  • Component-based framework
  • Uses Google Material Design
  • Includes dynamic JS components

BULMA

  • Modular (Import what you need)
  • Very lightweight & fast
  • Easy to use

FRONT-END BASICS / UI DESIGN

UI DESIGN PRINCIPLES

  • COLOR & CONTRAST
    Text should always be 100% readable
  • WHITESPACE
    The spacing between elements. Correct margin, padding, width, height, etc
  • SCALE
    Sizing relative to other elements on the page and in that area
  • VISUAL HIERARCHY
    Arrange your elements in the order of importance
  • TYPOGRAPHY
    Text typefaces, font styles and sizing
  • ALIGNMENT & FLOW
    Create visual flow. Direct the user’s eyes where they need to go

DESIGN SOFTWARE

  • You may or may not need to use design software. It depends on what you are doing
  • It is good to at least know the very basics and create a basic layout

ADOBE XD

  • Free for “starter” version
  • Easy if familiar with other Adobe products
  • Collaboration & organization

FIMGA

  • Web based
  • Very popular
  • Collaborate, prototype, wireframe

SKETCH

  • Mac only
  • Hig performance
  • Component-based structure

INVISION

  • Great for prototyping
  • Sharing & collaboration
  • Easy to use

FRONT-END BASICS / TOOLS & RESOURCES

TOOLS & UTILITIES

  • Git & GitHub
    Version control is a necessity for all developers
  • Browser Developer Tools
    Elements, console, application, network tabs
  • NPM (Node Package Manager)
    Install 3rd party packages, run scripts
  • Markdown
    Lightweight markup language, used in many areas
  • Editor / IDE Extensions
    Emmet, Prettier, ES Lint, framework-specific extensions
  • HTTP Clients
    Axios, Postman, CURL

GITHUB COPILOT

Text editor extension for ai-powered code completion and suggestions. It was developed by GitHub and OpenAI.

Can be installed in VS Code, Neovim and JetBrains environments.

Can improve developer productivity, but it is important not to rely on it too much.

CHATGPT

AI chatbot created by OpenAI. and is the most advanced form of available to the public.

It is a large language model that has been trained on a massive amount of text data, allowing it to generate human-like responses.

It is a useful for generating code, help with debugging, suggestions, converting code, generating sample data.

FRONT-END BASICS / DEPLOYMENT

FRONT-END DEPLOYMENT

  • DOMAIN NAMES
    Register domain names, configure DNS, etc
  • HOSTING
    Push your code to a platform and connect your domain

NETLIFY

  • Great free tier & reasonable pricing
  • Push directly from GitHub
  • Form submission & other admins

VERCEL

  • Great free tier & reasonable pricing
  • Push directly from GitHub
  • Embraces serverless & edge computing

GITHUB PAGES

  • Free hosting for small, static projects
  • Easy to use with your existing GitHub
  • Simple deployments

CPANEL

  • All-in one service (hosting, email, databases)
  • Cheap pricing
  • Hostinger, inMotion Hosting, Bluehost

FRONT-END BASICS / FOUNDATIONAL FRONT-END DEVELOPER

FOUNDATIONAL FE DEVELOPER

  • Set up a basic dev environment
    Text editor, plugins, dev server
  • Create layouts with HTML / CSS
    Create decent looking websites
  • Understand simple design principles
    Contrast, whitespace, alignment
  • JavaScript & The DOM
    Dynamic pages, events, manipulate the DOM
  • Fetch & HTTP
    Methods, status codes
  • Version Control
    Use Git and GitHub
  • Basic Deployment
    Deploy a basic website & connect a domain

It is optional, but good to know Sass and a CSS framework

THE NEXT STEP

YOUR NEXT MOVE

Web Design

  • Leaning toward building basic websites
  • Creating ana agency
  • Really into the design aspect
  • No-code tools

Server-Side / Back-End

  • Node.js, PHP, Python, C#, etc
  • Building APIs & microservices
  • Learn databases
  • Not really interested in UI

Front-End Framework & Tooling

  • Learn modern JS workflows & tooling
  • Choose a FE framework like React or Vue
  • SPA & SSR
  • Option for both FE & full stack

Sharpen Your JavaScript

  • Work on algorithms & data structures
  • Become a better problem solver
  • Hobby coding

FRONT-END INTERMEDIATE / TOOLING

BUILD TOOLS

  • These tools allow you to create an advanced front-end file structure and dev environment
  • Some are module bundlers and some utilize ES Modules in the browser

WEBPACK

  • Been around for a long time
  • Very full-featured
  • Bundle non-JS assets

PARCEL

  • Requires no configuration
  • Supports more out of the box
  • CSS, SCSS, Babel, TypeScript and more

VITE

  • Leverages ES Modules in browser
  • Extremely fast
  • Uses Rollup to bundle for production

SNOWPACK

  • Also uses ES Modules
  • Also uses Rollup for bundling
  • Build once, cache forever

FRONT-END INTERMEDIATE / FRAMEWORKS

FRONT-END FRAMEWORKS

  • Help you easily create modern websites and interfaces in an organized way
  • Interfaces are created using UI components. Think of everything on the page as a component
  • Component and global state can be managed within the framework tools or a 3rd-party state manager
  • Created for SPAs, but now can be used with meta frameworks for server rendered content

REACT

  • Backed by Facebook/Meta
  • Intermediate learning curve
  • Extremely popular
  • Great community / resources

ECOSYSTEM

  • Create React App
  • React Router
  • JSX
  • Context API
  • Hooks
  • Redux, XState
  • NextJS, Remix
  • Gatsby

VUE

  • Not backed by large company
  • Easy learning curve
  • Gaining popularity
  • Great community / resource

ECOSYSTEM

  • Vue CLI / Vue UI
  • Vue Router
  • Vuex / Pinia
  • Composition API
  • Vuetify
  • NuxtJS
  • Gridsome
  • Vue Devtools

ANGULAR

  • Backed by Google
  • Steep learning curve
  • Popular in enterprise
  • Good for complex projects

ECOSYSTEM

  • Angular CLI
  • TypeScript
  • Services
  • Observables
  • NgRx
  • RxJS
  • Angular Universal

SLVELTE

  • Compiles into pure JavaScript
  • Easy learning curve
  • Very fast & lightweight
  • Feels like vanilla JavaScript

ECOSYSTEM

  • Svelte Stores
  • SvelteKit
  • Svelte Devtools

SOLIDJS

  • Reactive UI library
  • Similar to React in certain ways
  • Extremely lightweight (6.5kb)
  • Easy learning curve

ECOSYSTEM

  • SolidStart (Beta)
  • JSX
  • solid-jest
  • Hope UI

FRONT-END INTERMEDIATE

TYPESCRIPT

  • Superset of JavaScript with additional features, including static types
  • TypeScript can be used with any client-side framework as well as with Node.js
  • There are pros and cons to TypeScript. It is up to you if you think you would benefit from it

FRONT-END INTERMEDIATE / STYLING

UI KITS

  • Libraires with pre-defined styled components that you can use in your UI
  • They take a lot of the work out of styling your application’s components from scratch

REACT

  • Styled Components
  • Material UI
  • React Bootstrap

VUE

  • Vuetify
  • Bootstrap Vue
  • Quasar

ANGULAR

  • Angular Material
  • ng-Bootstrap
  • IgniteUI

SVELTE

  • Svelte Material UI
  • SvelteStrap
  • SvelteFlat UI

FRONT-END ADVANCED / TESTING

TESTING

  • Unit Testing
    Testing individual units (functions, classes, etc)
  • Integration Testing
    Test how different pieces of code work together
  • End to End Testing
    Test entire app from user’s perspective
  • Performance Testing
    Test how well the app does under heavy load

JS

  • Jest
  • Mocha
  • Cypress

Python

  • Robot
  • PyTest
  • DocTest

C#

  • MSTest
  • NUnit
  • xUnit

Go

  • GoTesting
  • Testify
  • Ginko

Java

  • Selenium
  • JUnit
  • TestNG

Rust

  • Native
  • Skeptic
  • QuickChk

PHP

  • PHPUnit
  • Behat

Ruby

  • Cucumber
  • MiniTest

Kotlin

  • Spek
  • Kotlintest

FRONT-END INTERMEDIATE / WEB & BROWSER APIS

WEB APIS

  • Canvas API
    Dynamic graphics & visualization
  • GeoLocation
    Get a user’s location
  • Speech API
    Speech recognition & synthesis
  • Audio & Video API
    Audio/video controls and customization
  • Web RTC
    Real-time communication with audio/video
  • Local Storage
    Store data in the browser

FRONT-END ADVANCED / SSR

FULL STACK FRAMEWORKS (SSR)

  • It has become very popular to render some things on the client and some on the server
  • There are benefits to SSR, such as SEO, performance and simplicity
  • SSR makes things less complex when it comes to preloading, state, authentication, etc

NEXTJS

  • Uses React
  • Extremely popular
  • File based routing, API routes, data fetching

REMIX

  • Uses React
  • Gaining in popularity
  • Native form component, loading states

NUXTJS

  • Uses Vue
  • Comparable to NextJS
  • Hybrid rendering, Nitro server engine

UNIVERSAL

  • Uses Angular
  • Integrates with Angular-CLI
  • Rich debugging tools, lazy loading

SVELTEKIT

  • Uses Svelte
  • SSR, SSG, Routing & More
  • Loads components on server first

BLAZOR

  • Uses C# & WASM
  • Can render on the client-side
  • Hot reload, lazy loading, virtualization

REDWOOD

  • Built on top of NextJS
  • Prisma, GraphQL, Jest, Storybook
  • End-to-end workflow great for startups

BLITZ

  • NextJS Toolkit
  • Typesafe Data Layer & Scaffolding
  • Authentication

FRONT-END ADVANCED / SSG

STATIC SITE GENERATORS (SSG)

  • SSG frameworks are used to create extremely fast and optimized websites
  • Benefits to SSG sites are SEO, performance, flexibility and security
  • SSG sites can still be dynamic and fetch data from an API or headless CMS

ASTRO

  • Astro components or React, Vue, Svelte
  • Generates static HTML with little to no JS
  • Loads components on server first

GATSBY

  • Uses React components
  • Has GraphQL Data Layer
  • Image optimization, code splitting

GRIDSOME

  • Uses Vue
  • Great for progressive web apps
  • SEO friendly, simple safe deployment

JEKYLL

  • Ruby Based
  • Uses Liquid templates
  • Default generator for GitHub Pages

HUGO

  • Based on GO
  • Use any front-end technology
  • Powerful theming

HEXO

  • Based on Node.js
  • Blog generator
  • Highly customizable

PELICAN

  • Based on Python
  • Use Jinja2 templates
  • Rich ecosystem of plugins

FRONT-END ADVANCED / CONTENT MANAGEMENT

HEADLESS CMS

  • Admin area to create content without being bound to a specific front-end
  • Output JSON, so that you can just fetch the data and use a custom front-end / UI
  • Great solution for clients that want to be able to update and add their own content

STRAPI

  • Built on Node.js
  • Completely open source & self hosted
  • Loads of features for content creation

SANITY.IO

  • Fully customizable CMS
  • Real-time data store for structured content
  • Flexible querying API

KEYSTONE

  • Powerful content management
  • GraphQL API
  • Primitive & advanced fields, custom schemas

CONTENTFUL

  • Cloud-based CMS
  • Flexible content model, rubust API
  • Free and paid plans

FRONT-END ADVANCED / JAMSTACK

THE JAMSTACK

  • Architectural approach to building websites with JavaScript, APIs & Markup
  • Emphasizes the use of SSG, SSR, headless CMS, serverless functions
  • Jamstack websites are decoupled and extremely fast, secure and easily maintained

FRONT-END ADVANCED / EXTRAS

ALPINE.JS

Alpine is technically a framework, but works more like a library. It actually labels itself modern jQuery.

  • Data binding
  • Event handling
  • Hide / show elements
  • Data synchronization
  • Conditionals & loops

LIT

Library that allows you to create custom components

  • Build on web components standard
  • Reactive state
  • Scoped styles
  • Declarative template system

VISUALIZATION

  • These tools allow you to create advanced visualizations and animations
  • Knowing how to do this can take you to the next level as a front-end developer

MOTION UI

  • Sass library for animation
  • Add animated elements to your website
  • Pre-built and custom

FRAMER

  • Animations in React
  • Fuild & dynamic UI
  • Support for 3D animations

THREE.JS

  • Very popular (90K Stars)
  • JavaScript API for 2D/3D graphics
  • Powered by WebGL

GSAP

  • High-performance timeline-based animations
  • uses tweens
  • Don’t need to know a lot of JS

EXTRAS

NO-CODE TOOLS

  • WORDPRESS
  • WEBFLOW
  • SHOPIFY
  • OTHER TOOLS: Kajabi、WIX、SQUARESPACE

FRONT-END ADVANCED / FRONT-END SUPERSTAR

FRONT-END SUPERSTAR

  • Know a front-end framework well
    Understand concepts like components, state
  • HTTP / APIS
    Very comfortable with HTTP & consuming APIS
  • Full stack / SSR framework
    Becoming a necessity

Optional, but beneficial

  • TyperScript
    Really in-demand and fairly easy to learn
  • Jamstack technologies
    SSG, headless CMS, serverless functions
  • Testing
    Unit tests with a framework like Jest

BACK-END ESSENTIALS / PROGRAMMING LANGUAGES

SERVER-SIDE LANGUAGE

  • Choose a language
    Try a few out and see what feels right
  • Check job listings
    See what companies are using in your area
  • Learn the fundamentals
    Don’t move to a framework too fast
NODE.JS PYTHON PHP
C# GOLANG RUBY
JAVA KOTLIN RUST
SCALA R SWIFT

BACK-END ESSENTIALS / FRAMEWORKS

NODE.JS

  • Express
  • Fastify
  • NestJS
  • Adonis

PYTHON

  • Django
  • Flask
  • Fast API

PHP

  • Laravel
  • Symfony
  • Codeigniter
  • SlimPHP

RUBY

  • Rails
  • Sinatra

GO

  • Gin
  • Beego
  • Echo

JAVA

  • Spring
  • Struts
  • Blade

KOTLIN

  • Spring
  • Javelin
  • Ktor

C#

  • ASP.NET MVC

RUST

  • Rocket

BACK-END ESSENTIALS / DATA

RELATIONAL DATABASES

  • Traditional table-based structure
  • Data stored in columns and rows
  • Usually use SQL (Structure Query Language)
  • Been around since the 70s
  • Great for related data (social networks, etc)
  • Very rigid in terms of structure
  • Good with complex queries

NOSQL DATABASES

  • Many types (Document, column-based, key/value)
  • Data stored in JSON-like documents (Document DB)
  • Newer type of database
  • Very flexible structure (schema-less)
  • Used in big data applications
  • Great scalability
  • Not as well suited for complex queries

RELATIONAL DATABASES

PostgreSQL

  • Intuitive functionality & versatile security
  • Object-oriented data structure
  • Used by Apple, Skype, Etsy, Cisco

MySQL

  • Widely used in web development
  • Strong community
  • Used by Google, Udemy, Netflix, Amazon

ORACLE

  • Used for large-scale enterprise
  • Handles large and complex data sets
  • Used by American Express, Amazon, Verizon

MS SQL

  • Commercial solution for big businesses
  • Commercial – free tier with limitations
  • Used by UPS, Bank of America, JPMorgan

NOSQL DATABASES

MongoDB

  • Most popular document database
  • Very flexible, scalable and high performance
  • Used by IBM, Verizon, Forbes, Adobe

Cassandra

  • Column-based database
  • High performance & high availability
  • Apple iCloud, Twitter, eBay

Couchbase

  • Document database
  • Designed to handle unstructured data
  • Used by Linkedin, Marriot, Walmart

DynamoDB

  • Amazon proprietary document database
  • Can also be used as key/value store
  • Used by Amazon, Netflix, Airbnb

SERVERLESS / CLOUD DATABASES

MongoDB Atlas

  • MongoDB in the cloud
  • Setup user and network access
  • Generous free tier

Firebase

  • Owned by Google
  • Real-time NoSQL database
  • Authentication, file storage, serverless functions

Supabase

  • Backend as a service
  • Uses a PostgreSQL database
  • No company lock-in

FaunaDB

  • NoSQL & relational models
  • Support for ACID transactions
  • Support for GraphQL

FILE-BASED DATABASED

SQLite

  • Most common file-based database
  • Uses SQL
  • Extremely easy to setup

.md Files

  • Good alternative to a database
  • No installations, maintenance, etc
  • Only very small projects like personal blogs

H2 DB

  • Lightweight and high performance
  • Supports SQL
  • Web-based console

Redis

  • in-memory database for caching
  • Data can be persisted to disk
  • Fast and scalable

ORMS (OBJECT RELATIONAL MAPPER)

  • Provides a way to work interact with data from within your code without writing raw SQL queries
  • Simplifies database interaction, increases productivity and readability
  • Allows the application to be independent of the database

PRISMA

  • Type-safe database client
  • Supports many databases
  • Easy relation API

MONGOOSE

  • ORM/ODM for MongoDB & Node.js
  • Create models & schemas
  • Middleware support

SEQUELIZE

  • ORM for Node.js & MySQL
  • Supports all SQL-based databases
  • Migrations, model associations, hooks

SQLALCHEMY

  • ORM for Python
  • Supports MySQL, Postgres, SQLite & Oracle
  • Rich API for complex queries

REST API

  • “Representational State Transfer”
  • Traditional client-server model
  • Much more common
  • Uses specific HTTP methods and endpoints
  • Fetches all or nothing

GRAPHQL

  • Query language and runtime for APIs
  • Allows client to specify the data they want
  • Improved performance
  • One /graphql endpoint
  • Use a client such as Apollo

BACK-END ADVANCED / SECURITY

AUTHENTICATION

  • Sessions & Cookies
    Server maintains session & ID stored in cookie
  • JSON Web Tokens
    Token is stored and sent to protected routes
  • OAuth
    Open standard to use 3rd-party services
  • Third Party Services
    Auth0, Okta, AWS Cognito, Firebase
  • Other Related Topics
    Password hashing, two-factor auth, protecting routes

BACK-END ADVANCED / DEPLOYMENT

BACK-END / FULLSTACK DEPLOYMENT

  • PaaS
    Everything is set up for you
  • Cloud Hosting
    You create and provision a server from scratch

RENDER

  • PaaS that supports many languages
  • Push directly from GitHub
  • Generous free tier

HEROKU

  • PaaS that supports many languages
  • Uses a Heroku-CLI or Git
  • Embraces serverless & edge computing

LINODE

  • Cloud hosting
  • Install any software that you want
  • Great pricing and no lock-in

AWS

  • Most powerful hosting company in the world
  • Tons of services
  • Great for large projects with a lot of traffic

DEVOPS SKILLS

  • Terminal / Linux Commands
    Very comfortable with the shell and utilities
  • Web Servers
    NGINX, Apache configuration
  • Containerization & Virtualization
    Docker, Kubernetes, Vagrant
  • Assets & File Storage
    Cloudinary, Amazon S3
  • CI / CD
    Jenkins, Travis CI, CircleCI
  • Infrastructure as Code (IaC)
    Terraform, CloudFormation, Pulumi

BACK-END ADVANCED / BACKEND SUPERSTAR

BACKEND / FULL STACK SUPERSTAR

  • Server-Side Language/Technology
    Node.js, Python, PHP, Ruby, etc
  • Server-Side Framework
    Know how to create apps/apis with a framework
  • Database & ORM
    Relational or NoSQL database and ORM layer
  • REST API Creation
    CRUD, HTTP response formation, GraphQL is a plus
  • Authentication & Authorization
    Protect routes, sessions, tokens, etc
  • Project Deployment
    Deploy on a PaaS or cloud hosting

BEYOND THE BROWSER / MOBILE DEVELOPMENT

MOBILE DEVELOPMENT

  • There are many web technologies that we can use to build native and hybrid applications
  • Having the skill to create mobile applications can be really beneficial for web developers

REACT NATIVE

  • Uses the React libray
  • React components
  • Cross platform with iOS & Android

FLUTTER

  • Open-source framework by Google
  • Uses the Dart programming language
  • Cross-platform with iOS & Android

IONIC

  • Hybrid & progressive web apps
  • Use any front-end framework
  • Cross-platform with iOS & Android

XAMARIN

  • C# framework for building mobile apps
  • Utilize .NET platform
  • Cross-platform with iOS & Android

MODERN TECH

PROGRESSIVE WEB APPS

  • Best of both worlds including mobile and web applications
  • Leverage modern web technologies such as responsive design, service workers, HTTPS
  • Anyone that knows HTML, CSS & JavaScript can get into building progressive web apps

BEYOND THE BROWSER / DESKTOP APP DEVELOPMENT

DESKTOP APPS

  • There are frameworks that we can use to build cross-platform desktop applications
  • This includes JavaScript frameworks as well as other languages like Python

ELECTRON

  • Cross platform apps with JavaScript
  • Use any FE framework or library
  • VS Code, Slack, Discord, Postman

NW.JS

  • Native desktop apps with web technologies
  • Call Node.js modules from DOM
  • Cross-platform with Windows, MacOS, Linux

TKINTER

  • Create-cross platform GUI apps with Python
  • Python interface to the Tk GUI toolkit
  • Cross-platform with iOS & Android

NATIVE

  • Native apps with C#, Java, Swift, etc
  • Beyond the scope of web technologies

MODERN TECH

WEB ASSEMBLY

  • Binary instruction format for browsers to run code more efficiently than JavaScript
  • Can be used with languages like Rust, C, C++ as well as a superset of TypeScript called AssemblyScript
  • Web Assembly is reaching beyond the browser with projects in server-side and mobile apps

ADVANCED AI

  • AI for art and creation
    Tools like DALL-E for generating realistic images
  • AI powered databases
    Databases + machine learning
  • AI powered content
    Tools like Jasper and GPT-3
  • Chatbots & voice
    AI powered virtual assistants
  • Code generators
    Copilot, Tabnine, Kite

WEB3

  • Blockchain
    Distributed database that records transactions
  • dAPPs
    Decentralized applications
  • Smart contracts
    Solidity development
  • Cryptocurrency
    Facilitate transactions with Bitcoin, Ethereum, etc
  • Identity Solutions
    Control over personal data