---
# System prepended metadata

title: 從0開始寫前端

---

# 從0開始寫前端
需要的工具和資源

## 在開始之前，讓我們先熱身一下，考考你的小腦袋
網頁跟APP有什麼差別
什麼是前端
前端與後端的差異
在你的認知中，什麼是網頁切版
除了網頁切版，前端需要了解什麼
* 一點點設計
* 一點點後端
* 一點點安全性
* 一點點SEO

---

# 讓我們開始進入到重頭戲

## HTML
什麼是HTML
(https://developer.mozilla.org/zh-TW/docs/Learn/Getting_started_with_the_web/HTML_basics)
如何建立基本的HTML結構
常用的HTML標籤（例如：`<h1>, <p>, <a>`）

## CSS
什麼是CSS？
(https://developer.mozilla.org/zh-TW/docs/Learn/Getting_started_with_the_web/CSS_basics)
如何使用CSS美化你的網頁。
了解CSS的基本概念，如選擇器、屬性和值。

金魚都能懂的網頁切版教學
https://www.youtube.com/playlist?list=PLqivELodHt3hxeuLX8PYaI8u1GcDaBoJo

## JavaScript
什麼是JavaScript？
(https://developer.mozilla.org/zh-TW/docs/Learn/Getting_started_with_the_web/JavaScript_basics)
簡單的JavaScript範例。
如何使網頁互動。

從ES6開始的JavaScript學習生活
https://eyesofkids.gitbooks.io/javascript-start-from-es6/content/part3/var_const_naming.html

## 響應式設計
什麼是響應式設計？
如何使你的網站適應不同的裝置尺寸。

## 其它: 工具和框架
介紹一些常用的前端框架，如Bootstrap、Vue.js、React。
使用版本控制，如Git。

金魚都能懂的Bootstrap5網頁框架開發入門
https://www.youtube.com/watch?v=YX6KZIcUeY8&list=PLqivELodHt3jq3oWBZfdhMu0GE7774HBW

Vue - Alex宅幹嘛
Vue 3 宅家輕鬆玩
https://www.youtube.com/watch?v=oDd5KtEtAlo&list=PLEfh-m_KG4dbjf0YCJ7i0FFGK3FtQpanL

Vue3 入门指南与实战案例
https://vue3.chengpeiquan.com/

## 學習有很多種方式，尋找你覺得最適合的方式！
1. 看書學
2. 看影片學習
3. 找線上的教學文章
4. 上相關的實體課程
5. 請人專門教你
6. "由你來教別人"

css小遊戲:
* css - selector https://flukeout.github.io/
* css - flex https://flexboxfroggy.com/#zh-tw
* css - flex http://www.flexboxdefense.com
* css - flex https://hexschool.github.io/flexbox-pirate/index.html#/
* css - grid http://cssgridgarden.com/#zh-tw
* css - grid https://codingfantasy.com/games/css-grid-attack/play
* css - testting https://www.guess-css.app/
* css - testting https://css-speedrun.netlify.app/

js:
* js30 - https://javascript30.com/

Alex宅幹嘛 - 深入淺出 Javascript30 
https://www.youtube.com/watch?v=f2ttaeDHzwE&list=PLEfh-m_KG4dYbxVoYDyT_fmXZHnuKg2Fq&index=1

教學網站:
https://developer.mozilla.org/zh-TW/docs/Learn/Getting_started_with_the_web

# 前端速成的你，最缺乏的是甚麼東西

對於許多初學者前端工程師來說，儘管可能已經掌握了大部分的HTML、CSS 和 JS 的基本知識，但要成為一名全面的前端開發人員，還需要掌握更多的技能和知識。以下是一些你可能缺乏的東西：

1. 框架與函式庫知識：如 React、Vue、Angular 等，這些框架和函式庫在現代的前端開發中扮演著重要的角色。
2. 版本控制：例如 Git，它讓開發者能夠追踪程式碼的更改和合作。
3. 包管理工具：如 NPM 或 Yarn，用於管理專案的依賴項。
4. 預處理器：例如 SASS 或 LESS，它們使 CSS 的撰寫更有組織性和模組化。
5. 編譯工具：如 Webpack 或 Rollup，用於打包和優化前端資源。
6. 跨瀏覽器相容性：理解和能夠解決不同瀏覽器之間的差異。
7. 響應式設計：使網站在各種裝置和屏幕大小上都看起來和運作得很好。
8. 性能優化：知道如何優化網頁加載速度，如延遲載入、圖片優化等。
9. 基本的後端知識：如了解 RESTful API、HTTP 協議等，這可以幫助前端開發者更好地與後端工程師合作。
10. 測試與除錯：使用如 Jasmine、Mocha、Chai 等工具進行單元測試或集成測試。
11. UI/UX 設計原則：即使不是設計師，了解基本的設計原則也是有助於前端開發的。
12. 無障礙網頁設計：確保網站對所有用戶，包括殘障用戶，都是可訪問的。
13. 持續學習與專業發展：前端技術在不斷變化，所以保持對新技術和趨勢的追踪和學習是非常重要的。


## 穩扎穩打得再重頭開始或許是一個不錯的選擇?

CS50 - CS50 是哈佛大學的一門電腦科學入門課程，全名為「CS50's Introduction to Computer Science」。這門課是哈佛大學最受歡迎的課程之一，而且也在線上平台如 edX 上免費提供，讓全球的學生都可以參與。

以下是關於 CS50 的一些特點和內容介紹：

* 廣泛的涵蓋範圍：CS50 涵蓋了很多電腦科學的基本概念，包括資料結構、演算法、軟體工程、計算機網絡、資料庫、和安全性等。
* 實用的編程：學生將使用 C、Python 和 SQL，還有 HTML、CSS 和 JavaScript 來解決真實世界的問題。
* 具挑戰性的問題集：課程的作業和問題集被設計得具有挑戰性，以幫助學生真正理解和掌握材料。
* 互動教學：課程的主講人 David J. Malan 教授以其充滿活力和參與感的教學方式而聞名，使得這門通常被視為困難的課程變得吸引人且容易理解。
* 資源豐富：CS50 提供了大量的學習資源，包括教材、示範、教學視頻和其他補充材料。
* 社群支持：由於 CS50 在線上也有很大的學生群體，學生們可以透過討論區、社群媒體和其他方式相互協助。
* 延伸課程：一旦完成基礎的 CS50 課程，學生還可以選擇參加其他 CS50 系列的進階課程，例如 CS50's Web Programming with Python and JavaScript 或 CS50's Introduction to Game Development。

有非常多中文資源，心得教學
https://www.youtube.com/@cs50
https://www.youtube.com/playlist?list=PLeWlPscCzV-emSo2phZqStPZ0UDKzKu8s
https://yulongtsai.medium.com/%E5%9C%A8data-science%E5%9C%88%E6%89%93%E6%BB%BE%E4%B9%8B%E8%87%AA%E4%BF%AE%E5%AE%8Ccs50%E7%9A%845%E5%80%8B%E5%BF%83%E5%BE%97-59a7ac0861d8