SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
專案規劃 - 從前從前
1
By 罐罐 & 俞
專案初期思維 & 技術考量
⾸先,我們第⼀個遇到的難題:


我們要做什麼?
2
該做什麼題⽬?
3
APP不是功能開關!
4
APP不是⽤來呈現固定資料!
APP不是網⾴!
不
APP不是資料中⼼!
APP不是遊戲
。。。
APP是⽤來解決問題
5
APP是個⼈化
APP是⽤來提供服務
是
APP是以⼈為本
APP是⽤來與環境互動
。。。
頭腦風暴 Brain Storming
6
我們要做什麼?
具有⼈性化
親近⼩孩
解決⽣活問題
⽽且要是能做出來的
親⼦互動
⼼理問題
舒壓⼯具
故事書
聊天室
在思考的過程中,會有很多點⼦跑出來,必須多去看看市場上有沒有相關產品


或是是否獨特有價值且可⾏。
7
有了題⽬,技術怎麼辦?
從題⽬到做出作品有非常多種⽅式可以達成,消耗的成本也不⼀樣


React Native、原⽣ Swift、寫網⾴、請朋友幫忙做、花錢買別⼈現成的、乾脆不
做了


我們技術要選擇的:消耗最少成本、最適合最快能達成的⽅法
題⽬ 作品
?
8
如何找⽅法?
題⽬ 作品
試做 雛型
1. 評估功能風險。( 需要討論有哪些特⾊功能 )


EX: 我們要去比賽,就不能靠代打、買現成。要⼿機錄影功能,就不能寫網⾴。


2. 篩選之後,可以過濾出幾種⽅法,如過⾃⼰對這⽅⾯不熟悉,可以嘗試寫個⼩試做作品。


EX: 篩選後,覺得⽤ React Native 或是 原⽣ Swift 開發是可以做到的,那就先去碰碰兩者學習的成效如何。


3. ⾃⼰寫過就會知道,哪個⽅法比較簡單,然後就⽤它。


當然功能需要⼀步⼀步實現的,但在還沒最終定案前,最好是做出個雛型,


⼤致上確定專案想要的效果我能做到,以此為基礎繼續細做功能。
9
專案誕⽣
經過組內討論 (頭腦風暴),與程式評估 (找⽅法) 之後,


⼤致上專案就可以誕⽣了,最好可以寫個幾單的企劃書。
[第⼀版企劃]
標題:影⾳塗鴉本
⽬的:想做出⼀個有⼈機互動有溫度的 APP,⼩朋友可以玩,也能夠跟⼤⼈互動
客群:⼩朋友 ( 6歲左右)
特⾊:

1. 可以⾃⼰選擇⾓⾊到主畫布,然後螢幕錄影⼩朋友玩⾓⾊的過程
2. ⼩朋友可以⾃⼰畫⾃⼰的⾓⾊
技術:
1. 考慮 RN 及 原⽣Swift 實作
2. 經過幾個禮拜了解之後決定使⽤ RN,因為我本⾝會寫網⾴,RN 語法比較熟悉
10
專案起⼿式


要開始寫程式囉
P.S. 以下會以 React Native 作為範例,但是說明的要點是每個語⾔都通⽤,

請先理解之後再根據⾃⼰狀況調整。
11
⼀開始,我們要開新專案
在開始之前,無論你是哪種程式語⾔,⼀定會先 init 專案,或是要先產⽣出乾淨的
專案 (有可能複製別的專案過來。


> react-native init <Project Name>


先別急著開始寫 Code,我們要先幫專案新增幾個區域 ( 資料夾 ),


⽅便我們之後不會亂七八糟。


1. 主要⼯作區域:這是 APP 畫⾯上所有程式部分


2. 資源區域:我們程式所有需要引入的資源,像是照片、聲⾳、樣式...等


3. 資料區域:這裡要保管我們程式的變數、資料流的相關數據


4. 模組區域:未來在優化上做相關模組使⽤,放在 建造程式的⼯廠 & 梳理管線
12
主要⼯作區域
/page:


APP 總共有多少⾴⾯,這是架構上最頂層,APP 進來第⼀個就是來這
裡看要哪⼀⾴,然後載入相關元件。


/layout (非必須):


如果⾴⾯上有固定會出現個版型、或是多個⾴⾯有⽤到共同元件,可
以⽤這個 layout 來放這些共同元件。


/component:


這是架構上最底層,也就是單⼀個元件,最好是⼀個元件就是負責⼀
件事情,然後給上層來引入使⽤。


P.S. 元件不要切太細,也不要包太多層,之後如果要改會很難過。給
他⼀個有意義的功能就好。


P.S. 記住這點:元件是最⼩具有意義的程式,複雜的功能可以元件包
元件;⾴⾯是最⾼被看⾒的程式,複雜的畫⾯可以⾴⾯包版型。
對從前從前來說

我們沒有固定的版型
因此我們沒有 /layout
APP 進入後有三個⾴⾯

創故事:editStory

故事箱:storyBox
畫故事:drawSticker
13
其他區域
資源區域


/assets:根據不同檔案類型來分


資料區域


/store:根據不同⾴⾯所需來分 (後談


模組區域


模組定義因⼈⽽異,但⼤部分會區分區塊跟核⼼模組 (後談


/core:核⼼模組,程式每個⾓落都可以⽤


/…/module:放在那個元件底下⽤
資源區域

放其他多媒體資源
或是下載來的套件
模組區域
放共同會⽤到的程式

或是常數
資料區域

存放共享變數的地⽅
14
開始寫程式
⼀切就緒,我們可以開始寫程式了,寫程式也有幾個要點需要注意:


1. 命名規則


不要再⽤ a, b 來命名你的變數了,給他⼀個有意義的字吧!


> var a, b; // no use


> var apple, banana; // be significant


如果⼀個單字無法解釋意義,⽤單駝峰式來命名:


> var jason_mom, how_many_apples; // not good


> var jasonMom, howManyApples; // be better


函式請多給個動詞,分別意義:


> function doGetContent() { … }


> function countApples() { … }
模組請雙駝峰命名、常數請全⼤
寫:


> class JasonApples { … }


> const JASON_AGE;
15
開始寫程式
⼀切就緒,我們可以開始寫程式了,寫程式
也有幾個要點需要注意:


2. 函式是功能的最⼩單位,⼀個函式就做⼀
件事就好


3. 因為 2. 點,⼀個功能可能有好幾個函式,
把他們寫在⼀起,並給他們⼀個註解說明


4. 不要害怕⽤常數,只要是固定不變的數值
就⽤常數定著他


5. 善⽤註解寫比較複雜的邏輯,也不要濫⽤
它造成程式碼混亂
16
建造程式的⼯廠 & 梳理管線
上述的技巧如果有達成,那基本上就可以開發專案了。


然⽽這不是最優雅的做法,我們最好把程式更好的分類以及定義好流程。


如果你在開發上,會遇到重複性⾼的功能或是需要固定的流程來做重複的事,


那就可以來統⼀管理這些功能或數值。


EX: 統⼀管理常數、共同的 AJAX 串接函式、處理資源引入... 等


我們希望程式能寫的優雅與簡化,就需要釐清每⼀運作過程,


將重複或相似的程式集合在⼀塊統⼀管理。


就像⼯廠⼀樣專⾨處理某項事務,未來有需要這項功能,直接交給⼯廠統⼀管理。
17
範例⼀:管理排版常數
RN 的樣式排版類似於網⾴樣式,然⽽,
當我們畫⾯複雜時就需要很多數字來定
位這個元件。


避免未來搞不清楚這個數字是什麼意
思,將他統⼀起來管比較好。
/core/variable.js 統⼀管理變數
/components/…js 使⽤狀況
18
範例⼆:管理資源引入
資源也可以像範例⼀⼀樣,將
所有資源做統⼀管理。


未來如果需要換資源,只需要
改這裡即可,⽽不⽤跑到每⼀
個元件裡改。
/core/resource.js 統⼀管理資源引入
/components/…js 使⽤狀況
19
範例三:梳理數據流管線
RN 的數據繼承⽅式:


Props (從上層來)、State (⾃⾝狀態)


但是當要處理跨元件、全域數據管理就會變得非常⿇煩,


這裡介紹⼀個套件: MobX,


他可以把需要追蹤狀態的變數另外存起來,⽽且可以在任
何地⽅引入他使⽤。


藉此,我們可以利⽤這個特性,講數據更新的流程統⼀管
理。
20
專案越來越有樣⼦


有了好的素養,寫程式會更開⼼
21
專案中後期思維
題⽬ 最終產品
很⾼興我們越來越接近做成品了,但是專案實際上不該是做完就結束了!


隨著專案發展,為了讓作品更好、更能突現價值,專案必須不停的優化及收斂。


以⼀個產品來說:整個週期裡有 20% 是⼀開始做出來 + 80% 的後續優化
作品
不停優化
22
鋒利你的專案
題⽬ 最終產品
我們該如何優化專案?


其實⽅法就如同⼀開始的初期⼀樣,根據我們⽬前作品發想,思考可以加上什麼便
利功能,然後省略掉⼀些不適合的功能。


就這樣經過不停的迭代,就能鋒利你的專案。
作品 版本1 版本2 版本3
23
鋒利你的專案
[第⼀版企劃]
標題:影⾳塗鴉本
⽬的:想做出⼀個有⼈機互動有溫
度的 APP,⼩朋友能夠可以玩跟⼤
⼈互動
客群:⼩朋友 ( 6歲左右
特⾊:

1. 可以⾃⼰選擇⾓⾊到主畫布,
然後螢幕錄影⼩朋友玩⾓⾊的過程
2. ⼩朋友可以⾃⼰畫⾃⼰的⾓⾊
[第⼆版企劃]
標題:從前從前 - 影⾳塗鴉本
⽬的:促進親⼦⼾動,⼩孩能與家
⼈共同創作
客群:⼩朋友 ( 6歲左右、家⼈
特⾊:

1. 創故事:可以⾃⼰加入⾓⾊、背
景及切換場景
2. 故事箱:瀏覽之前的記錄
3. 畫故事:⼀個話不讓⼩朋友可以
⾃⼰畫出⾓⾊或是改變現有的⾓⾊
[第三版企劃]
標題:從前從前 - 故事創作器
⽬的:促進親⼦⼾動,⼩孩能與家⼈共同創作,
著重在故事創作上
客群:⼩朋友 ( 6歲左右、家⼈、老師
特⾊:

1. 創故事:可以⾃⼰加入⾓⾊、背景及切換場景
2. 故事箱:瀏覽之前的記錄
3. 畫故事:⼀個話不讓⼩朋友可以⾃⼰畫出⾓⾊
或是改變現有的⾓⾊
4. 加入動畫、⾳效
5. 加入背景⾳樂選擇
6. Hey Siri 功能加入
7. 畫故事顏料加入⾳階
24
有效率的專案架構
25
https://cheesecakelabs.com/blog/ef
fi
cient-way-structure-
react-native-projects/

Mais conteúdo relacionado

Semelhante a APP專案規劃

陳建隆 - 手滑背單字的單人精實開發
陳建隆 - 手滑背單字的單人精實開發陳建隆 - 手滑背單字的單人精實開發
陳建隆 - 手滑背單字的單人精實開發PunApp
 
App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0信宏 陳
 
UXer 未來式:共創工作坊 X Service Design Canvas
UXer 未來式:共創工作坊 X Service Design CanvasUXer 未來式:共創工作坊 X Service Design Canvas
UXer 未來式:共創工作坊 X Service Design Canvas俐絜 王
 
育儿塘 app design for ipad
育儿塘 app design for ipad育儿塘 app design for ipad
育儿塘 app design for ipadGinger Yu
 
产品经理入门-人人都是产品
产品经理入门-人人都是产品产品经理入门-人人都是产品
产品经理入门-人人都是产品Tracy Fu
 
Agile neihu 25_Design Sprint 難推?那來場共創工作坊吧
Agile neihu 25_Design Sprint 難推?那來場共創工作坊吧Agile neihu 25_Design Sprint 難推?那來場共創工作坊吧
Agile neihu 25_Design Sprint 難推?那來場共創工作坊吧俐絜 王
 
甲蟲人 課程說明會
甲蟲人 課程說明會甲蟲人 課程說明會
甲蟲人 課程說明會晉綱 常
 
这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwish这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwishcsdnmobile
 
这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwish这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwishcsdnmobile
 
这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwish这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwishcsdnmobile
 
这个行业容易犯的错误 空中网 洪亮
这个行业容易犯的错误 空中网 洪亮这个行业容易犯的错误 空中网 洪亮
这个行业容易犯的错误 空中网 洪亮csdnmobile
 
淺談心理學知識或方法在網站企劃上的應用 蔡方之
淺談心理學知識或方法在網站企劃上的應用 蔡方之淺談心理學知識或方法在網站企劃上的應用 蔡方之
淺談心理學知識或方法在網站企劃上的應用 蔡方之悠識學院
 
【80 ppt.com】心理学视角下的ppt设计@ppt精选
【80 ppt.com】心理学视角下的ppt设计@ppt精选【80 ppt.com】心理学视角下的ppt设计@ppt精选
【80 ppt.com】心理学视角下的ppt设计@ppt精选xiehongbo
 
知识管理与产品的关系
知识管理与产品的关系知识管理与产品的关系
知识管理与产品的关系top idea
 
基于对话的交互设计
基于对话的交互设计基于对话的交互设计
基于对话的交互设计Robert Luo
 
中興 產品企劃概論 Share
中興 產品企劃概論 Share中興 產品企劃概論 Share
中興 產品企劃概論 ShareMr PM
 
解讀App新趨勢,運用App贏得更多商機!
解讀App新趨勢,運用App贏得更多商機!解讀App新趨勢,運用App贏得更多商機!
解讀App新趨勢,運用App贏得更多商機!Leo Lin
 

Semelhante a APP專案規劃 (20)

陳建隆 - 手滑背單字的單人精實開發
陳建隆 - 手滑背單字的單人精實開發陳建隆 - 手滑背單字的單人精實開發
陳建隆 - 手滑背單字的單人精實開發
 
App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0App 的設計、開發、與行銷 設計篇 v1.0.0
App 的設計、開發、與行銷 設計篇 v1.0.0
 
Talk
TalkTalk
Talk
 
UXer 未來式:共創工作坊 X Service Design Canvas
UXer 未來式:共創工作坊 X Service Design CanvasUXer 未來式:共創工作坊 X Service Design Canvas
UXer 未來式:共創工作坊 X Service Design Canvas
 
育儿塘 app design for ipad
育儿塘 app design for ipad育儿塘 app design for ipad
育儿塘 app design for ipad
 
产品经理入门-人人都是产品
产品经理入门-人人都是产品产品经理入门-人人都是产品
产品经理入门-人人都是产品
 
Agile neihu 25_Design Sprint 難推?那來場共創工作坊吧
Agile neihu 25_Design Sprint 難推?那來場共創工作坊吧Agile neihu 25_Design Sprint 難推?那來場共創工作坊吧
Agile neihu 25_Design Sprint 難推?那來場共創工作坊吧
 
甲蟲人 課程說明會
甲蟲人 課程說明會甲蟲人 課程說明會
甲蟲人 課程說明會
 
这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwish这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwish
 
这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwish这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwish
 
这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwish这个行业容易犯胡错误 空中网-Fwish
这个行业容易犯胡错误 空中网-Fwish
 
这个行业容易犯的错误 空中网 洪亮
这个行业容易犯的错误 空中网 洪亮这个行业容易犯的错误 空中网 洪亮
这个行业容易犯的错误 空中网 洪亮
 
淺談心理學知識或方法在網站企劃上的應用 蔡方之
淺談心理學知識或方法在網站企劃上的應用 蔡方之淺談心理學知識或方法在網站企劃上的應用 蔡方之
淺談心理學知識或方法在網站企劃上的應用 蔡方之
 
【80 ppt.com】心理学视角下的ppt设计@ppt精选
【80 ppt.com】心理学视角下的ppt设计@ppt精选【80 ppt.com】心理学视角下的ppt设计@ppt精选
【80 ppt.com】心理学视角下的ppt设计@ppt精选
 
知识管理与产品的关系
知识管理与产品的关系知识管理与产品的关系
知识管理与产品的关系
 
App操作策略分享(建勳)
App操作策略分享(建勳)App操作策略分享(建勳)
App操作策略分享(建勳)
 
Whatisagile
WhatisagileWhatisagile
Whatisagile
 
基于对话的交互设计
基于对话的交互设计基于对话的交互设计
基于对话的交互设计
 
中興 產品企劃概論 Share
中興 產品企劃概論 Share中興 產品企劃概論 Share
中興 產品企劃概論 Share
 
解讀App新趨勢,運用App贏得更多商機!
解讀App新趨勢,運用App贏得更多商機!解讀App新趨勢,運用App贏得更多商機!
解讀App新趨勢,運用App贏得更多商機!
 

APP專案規劃