# beginner **Repository Path**: jacobv/beginner ## Basic Information - **Project Name**: beginner - **Description**: web beginner - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-02-11 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # beginner #### 介绍 Web Development for beginners 这里列出预计要学习的知识点。 #### 工具基础 1. 编辑器Atom/VSCode/Sublime 2. emmet快速输入语法 3. Git(Version Control) & Github/Gitee 4. NPM or Yarn (Package Manager) 5. Axios 6. Webpack or Parcel (JS Module Bundlers) #### 服务器环境 Basic Deployment You should known how to get your websites/apps on to a web server 1. Domain Registration (Namecheap, Google DOmains, etc) 2. Managed Hosting (InMotion, Hostgator, Bluehost, etc) 3. Static Hosting (Netlify, Github Pages) 4. SSL Certificate 5. FTP, SFTP (File Transfer Protocol) 6. SSH (Secure Shell) 7. CLI & Git 8. Linux Command Line/Common Commands #### Basic Front End Developer 1. Build websites for individuals & small businesses 2. Create mobile friendly layouts 3. Create CSS animations and effects 4. Work with a CSS framework 5. Add dynamic page functionality 6. Build small client side apps with JavaScript 7. Use your browsers dev tools 8. Utilize Git for version Control 9. Deploy and maintain small projects #### 基础HTML/CSS 1. HTML5 2. CSS3 3. emmet快速输入语法 4. Bootstrap CSS框架 5. Tailwind CSS框架 6. sass/less CSS预处理 7. Jekll/Hugo/Gatsby #### JavaScript 1. JavaScript基础语法 2. Fundamentals (Variables, data types, functions, conditionals, etc) 3. DOM (Document Object Model) 4. Fetch API (Request/Response/Ajax) 5. Modern JS (ES6) 6. Frontend JavaScript Framework (React, Vue) 7. Svelte (pure vanilla JS code Very Fast) 6. 扩展了解TypeScript #### 后端开发backend 选择1-2个来学习 1. Node.js - Express, Koa, Adonis, Feathers.js, Nest.js 2. PHP - Laravel, Symfony, Slim 3. Python - Django, Flask 4. Ruby - Ruby on Rails, Sinatra 5. Go - Revel #### 数据库Database 1. Relational DataBase - PostgreSQL, MySQL, MS SQL 2. NoSQL - MongoDB, RethinkDB, CouchDB 3. Cloud DataBase - Firebase, Azure Cloud DB, AWS 4. Lightweight & Cache - Redis, SQLlite, NeDB Learning: SQL, ORM, ODM, etc #### GraphQL GraphQl is essentially a query language for your API 1. Single endpoint to ask for only what you want 2. Simple syntax, similar to JSON 3. Fairly easy to implement 4. Apollo is a client to interact with the GraphQL server #### Deployment & DevOps Understand how to create/manage environments and deploy to the web 1. Web Server environment - NGINX, Apache 2. App Hosting - Linode, Heroku, AWS, Azure, Now 3. Virtualization - Docker, Vagrant 4. Testing - Unit, Functional, Integration, etc 5. Load Balancing, Monitoring, Security, etc #### Mobile Development We have some really cool teachnologies to build native mobile apps with web technologies 1. Flutter - SDK from Google to build native mobile apps. Uses Dart 2. React Native - Build native mobile apps using the React Framework 3. NativeScript - Build native mobile apps with JS, TS, Angular or Vue #### JAMstack "JavaScript, APIs & Markup" is a modern web develoment architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup 1. No restriction on framework or library 2. Websites are served as static html files generated from source files, such as markdown suing a static site generator like Gatsby 3. High performance, generated at deploy time 4. Cheaper and easy to scale 5. Ease to host (Netlify) #### Serverless Architectur Server operations without actually needing y our own Server 1. "backend" or "Functions" as a service (FaaS) 2. Reduce complexity and costs 3. Less infrastructure to manage 4. AWS Lambda & Netlify #### API-First Design With more and more loT(Internet of things) expect to see api-focused design Teaditionally we start with the UI and then move to the backend with a strict connection to the wep app With API-first design, you start with the appropriate APIs and then build products on top of it #### Machine Learning / AI & The Web Machine learning & AI are growing in all areas of technology and can be useful in web apps/services 1. Alternative to conventional data mining 2. Remove security threats 3. Machine learning APIs 4. Producing content 5. Study user behavior 6. HTML5 Web Speech API 7. Google Speech-To-Text 8. Dialog Flow #### Web Assembly Low-level bytecode can run in the browsers 1. Generated by languages like C, C++ and Rust 2. Much faster than JavaScript 3. Not areplacement for JS, workd alongside it 4. Next level video games, tools in the browser [Web Development In 2020 - A Practical Guide](https://github.com/andrews1022/web-development-2020-course-list) [youtube link](https://www.youtube.com/watch?v=0pThnRneDjw)