Skip to content

To learn & implement things

Notifications You must be signed in to change notification settings

sudhakar3697/awesome-web-tech

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 

Repository files navigation

Awesome Web Technologies

General (Refer the Computer Science section also)

  • Internet (IP, DNS, Proxy, domain)
  • World Wide Web
  • Client-Server Architecture vs Peer-Peer (P2P)
  • Web Page vs Website vs Web Server vs Web browser
  • Static Websites vs Dynamic Websites
  • HTTP/S Protocol (Request Methods, Headers, Cache, Cookies, Compression, CORS, CSP, Response codes), FTP.
  • Browsers (Rendering Engines-Blink, Gecko, Webkit, JavaScript Engines-V8, SpiderMonkey, JavascriptCore)
  • Browser Search Engines (Google)
  • Character Encodings (UTF, ASCII)
  • Licenses (Open Source vs Closed Source, CC, MIT, Apache, GPL, LGPL)
  • Semantic Versioning
  • UI/UX (Prototype/ Wireframes)
  • API
  • Web Standards (W3C, WHATWG, ECMAScript, TC39)
  • Internationalization(i18n), Localization
  • Polyfill
  • Environment Variables
  • Regular Expressions
  • Splash screen
  • Input validation
  • 12 Factors
  • Data exchange formats (JSON, XML, Protobuf (Protocol Buffers by Google))
  • CDN (Content Delivery Network)
  • Terminal/CMD usage (Basic Commands)

Version control & Repo hosting (Git, Github)

Developer Tools & Utilities, Code editor vs IDE, API Clients, Debuggers

CSS - Styling (UI/UX)

  • CSS3, Responsive Web Design (Media Queries, Relative units), Animations, UI-Lazy loading
  • CSS Box model, Grid, Flexbox, Positioning
CSS Pre-processors (SASS)
CSS Frameworks/Libraries
CSS Architecture (BEM)

JavaScript

  • JavaScript (Syntax, Concepts like hoisting, closure, generators)
  • Module system (CommonJS vs AMD vs UMD vs ESM)
  • ESNext (ECMAScript - Rest/Spread, Destructuring, Template Literals, let/const, for-await, for-of)
  • script async vs defer
  • Async programming (Callbacks, Promises, Async/Await, Error handling)
  • OOP (Objects, Prototypes, Classes)
  • Understanding functions, context and binding in JavaScript
  • Events (Bubbling)

Web/Browser APIs (DOM, BOM)

  • DOM Manipulation
  • Device APIs
  • Communication APIs
  • Data management APIs (localstorage, sessionstorage, webSQL, indexeddb)
  • Fetch vs AJAX (XMLHttpRequest)
  • Cookies vs Sessions
  • Intersection Observer
  • WebVR, WebSpeech, WebXR, WebUSB, WebBluetooth, WebAuth, Creds, Native FS, Share)
  • Graphics (WebAnimations, 2D (Canvas, SVG), 3D (WebGL), Video/Audio, WebAudio WebRTC)
  • Streams

Vanilla JS vs. jQuery vs. Modern Frontend Frameworks

  • DOM vs virtual DOM vs shadow DOM
  • JSX

Web Components (HTML Templates, Custom elements, Shadow DOM)

Front End Frameworks (SPA)

Modern CSS (CSS in JS)

  • Styles components
  • CSS modules

State management

Router

JavaScript Flavors, Type Checkers, Polyfills, Transpilers, Compilers

Progressive Web Apps

JAMStack (Static site generator,..)

  • GatsbyJS

Module bundler, Minification, Obfuscation

Package Manager

Task runner

Linter

Formatter

API

Server Side Languages/Runtimes (Javascript | Java | Go | Rust | Python | C# | PHP | Ruby)

  • Node.js (Event Loop, Modules, Cluster, Native node modules (N-API), Neon (RUST- wasm-pack))
  • Deno

Back End Frameworks

  • Express.js (Middlewares, Sessions, Streaming the response from Node.js Server)

Relational DB (SQL)

ORM/ODM (Sequelize) & Query builders (Knex)

NoSQL DB

Graph DB

  • dgraph or Neo4j

Caching

  • Client-side : HTTP Cache
  • Server-side : Redis, MemCached
  • CDN

Serverless

  • Functions (AWS Lambda/ Azure functions/ Google Cloud functions)
  • Databases (Firebase cloud firestore, Amazon aurora, Azure Data lake, Google cloud datastore)

Authentication / Authorization

  • Cookies
  • Basic
  • Token Auth
  • JWT
  • OAuth 2.0 (Proof Key for Code Exchange (PKCE))
  • OpenID Connect
  • Active directory, LDAP, NTLM, Kerberos, SAML, Single Sign-On
  • Certificates

Message Brokers

  • RabbitMQ or Kafka

Search Engine

  • ElasticSearch

Security

Performance (Loading vs Rendering)

  • Measuring performance (RAIL)
  • Tools (Lighthouse, WebPageTest, PageSpeed Insights, Chrome dev tools)
  • Code splitting, Lazy loading
  • instant loading with the PRPL pattern

Test (Unit vs functional vs integration) & Optimization

  • Jest, Enzyme, Cypress
  • Lighthouse, DevTools

Documentation

Search Engine Optimization (SEO)
  • SEO Friendly URLs (Slug)

Deployment (Hosting), Containers, Virtualization & Scaling

  • CI/CD
  • Source code protection
  • pkg
  • Docker, Kubernetes, Unikernels
  • Web Servers (Apache, Nginx)
  • https (letsencrypt)
  • Static hosting (Netlify, Github pages)
  • GIT
  • Tunnels (Ngrok)
  • Proxy, VPN
  • CDN
  • CMS
  • Logging (morgan, winston)
  • Load balancing
  • Backups
  • Domain registration (Namecheap, Google domains), cPanel
  • Managed hosting (InMotion, Hostgator, Bluehost)

Programming Paradigms (OOP, functional, reactive)

  • OOP (Polymorphism, Inheritance, Encapsulation, Abstraction, Aggregation and Composition)

Architectural styles (Monolith, SOA, Microservices, Serverless, Event Sourcing, CQRS)

Design patterns Gang of Four (GoF) -> (Creational vs Structural vs Behavioral)

Architectural patterns (MVC, MVVM, MVP, Flux, Redux)

Design principles (SOLID, YAGNI, KISS, DIY, SSOT, SoC, TDA, DRY)

Browser Extensions

Misc

Mobile App Development using Web Technologies

Desktop App Development using Web Technologies

Computer Science

  • Map of Computer Science
  • Programming (Binary, Pointers, Dynamic memory allocation, Memory leak, Garbage collection, Recursion, Concurrency, Parallelism, Multi-threading, Asynchronous, Compile vs interpret vs transpile, JIT, AOT, Exception Handling )
  • Software Engineering (SDLC, UML, Blackbox vs Whitebox Testing)
  • Operating Systems (Boot process, System Calls, Process, Threads, CPU Scheduling, IPC, Concurrency, Synchronization, Deadlock, Memory management, Disk management, File systems, POSIX (stdin, stdout, stderr, pipes), I/O)
  • Database Systems (ER model, Normalization, Indexing,(sparse,dense,multilevel,clustered) B,B+, Query Optimization, Transactions, ACID, Replication, Sharding, CAP theorem, N+1 Problem)
  • Computer Networks, Data Communication (OSI Layer, ISP) & Informaion Security (cryptography- encryption, Hash, TLS, Digital signatures,certificates, Firewalls)
  • Computer Organization & Architecture, Digital electronics (Combinational vs Sequential circuits), Microprocessors (ASM), Microcontrollers (Memory hierarchy, Number System)
  • Data Science (Big data, Artificial Intelligence/Machine Learning)
  • Data Structures
  • Algorithms (Searching, Sorting, Hashing)
  • Algorithm Design Techniques (Greedy, Divide & Conquery, Dynamic programming)
  • Asymptotic worst case time and space complexity analysis
  • Theory of Computation, Compiler design (Optional)
  • Distributed Systems
  • Cloud Computing & Virtualization
  • Internet of Things (Optional)
  • Mathematics, Statistics (As applicable to CS)

References

Resources