2019/05/03 (資料更新)
2021/06/29 (增加連結)
2023/03/16 (新增投影片)
How to design a system to scale to your first 100 million users
Start with simplest: all in one.
The art of scability: scaling out, scaling up.
Scaling a relational database: master-slave replication, master-master replication, federation, sharding, denormalization, and SQL tuning.
Which database to use: NoSQL or SQL?
Advanced concepts: caching, CDN, geoDNS., etc.
2023/03/16
Web
手機
跨平台的需求
常見的開發工具組合
PHP (吳濟聰老師web programming課程教材)
Java + spring framework
吳濟聰老師Web Programming教材
Node.js + React.js
.net MVC
.net on Azure (有學生專案:https://azure.microsoft.com/zh-tw/free/students/#free-products-section)
虛擬機、SQL server、App Service
python + django
JavaScript library
jQuery (JQuery UI, JQuery Mobile)
前端框架
Bootstrap (CSS + javascript)
Foundation
Semantic UI
使用者介面框架
應用框架
ASP.net MVC (c#)
Django (Python)
Laravel (PHP)
程式語言 / 開發平台
Java
c#
Javascript
Node.js (後端)
Python
簡單的說就是透過網頁來達到手機的功能,現在可以透過瀏覽器取得手機上很多資訊 (詳參: What Web Can Do Today? ),比如取得經緯度、相機、儲存資料在手機端,所以,也有很多公司不再發展App,而是透過網頁來提供服務。基本上PWA就是這樣的概念,好處是,可以快速的把原本已經是符合RWD的網頁,轉換成PWA。
Progressive Web Apps (PWA) (詳參:Progressive Web Apps)
React native (based on Javascript, flexbox) (詳參: What are the main differences between ReactJS and React-Native?)
行動裝置程式設計 課程教材 (react native)
從零開始學 ReactJS(ReactJS 101) (2018年2月更新)
拆帳 app 和 React Native 初學心得 (2017年8月)
先安裝expo並可利用 https://snack.expo.io/ 寫簡單的react native測試
ReactNative開發入門教學(1)-HelloWorld (2017年4月)
ReactNative開發入門教學(2)-觸發事件 (2017年4月)
ReactNative開發入門教學(3)-與伺服器溝通(Fetch)(2017年4月)
React Native 起手教學 (利用XDE或Node.js,不需要Android Studio或XCode) (2017年7月)
用 React Native 開發鉅亨網 App 的經驗分享 (2016年7月)
React Native 簡介:以 JavaScript 建構 iOS App (原文: Introduction to React Native: Building iOS Apps with JavaScript 2015年4月)
Flexbox
React是由Facebook支持的JavaScript library (詳參: 從零開始學 ReactJS(ReactJS 101), React (JavaScript library))
Learn React.js from Top 45 Tutorials for the past year (v.2018)
React native (詳參: What are the main differences between ReactJS and React-Native?)
ReactXP (React Cross Platform)
Spring REST + react React.js and Spring Data REST
React studio (mac OS 10.9以上) 可以快速產生雛型並轉成程式碼的工具 (PWA,不支援 react native) **目前免費**
Flutter使用的語言是Dart
Flutter 教學:從零開始 一步一步學會使用跨平台套件 Flutter (原文: EntrenaPro — From Zero To Flutter)
React Native or Flutter
NativeScript / JavaScript, TypeScript
Svelte + NativeScript
Free Cross-Platform Mobile App Development Tools Compared - 2017
Hybrid
Apache Cordova / JavaScript
Adobe PhoneGap (based on Cordova) / JavaScript
Ionic Framework (Angular + PhoneGap) / JavaScript, TypeScript
Framework 7 (Cordova + vue.js) / JavaScript
Manifold (Node.js tool for App Generation & PWA) / JavaScript
Native
Apache Weex (supports vue.js & Rax) / JavaScript
React Native (based on react) / JavaScript
Flutter / Dart
Jasonette / JavaScript+JSON
Xamarin: Ruby, C#
一般都是使用Apple提供的XCode + Swift (詳參:The Big List of iOS App Development Tools),可以利用Sketch進行畫面設計,並export給XCode (詳參: Build an iOS App: From Sketch to the App Store),或者使用XCode內建的Interface Builder 。
Kotlin
Android Tutorial using Kotlin (中文)
2017年5月的Google開發人員大會,發佈Android支援Kotlin為官方的程式設計語言。在2017年10月發表的Android Studio 3,開發人員可以使用Kotlin開發Android App。
Realm:明年底Kotlin將取代Java成為Android平台上最受歡迎的語言 (2017/10/16)
Java
ㄧ般使用Android Studio(based on IntelliJIDEA)或Eclipse,介面設計建議使用Android Studio的Layout Editor (詳參: Build a UI with Layout Editor)
學習Android之路 ** 學長姐推薦 **
UI設計可以參考: Material Design ** 學長姐推薦 **
Simplified Coding ** 學長姐推薦 **
REST API
可使用firebase、App Engine或Compute Engine
Android & Firebase Firestore
Cloud Firestore Quickstart (A Restaurant App: Friendly Eats)
Restaurants (A Collection)
Restautrant
Ratings (A Collection)
rating, text, timestamp, userId, userName
avgRating, catetgory, city, name, numRatings, photo, price