SlideShare a Scribd company logo
1 of 41
Download to read offline
HTML5 + COIMOTION	
快速開發跨平台 App	
	
Ben Lue
The Storyboard
⼯工具 / 材料清單	
ü  npm + PhoneGap	
ü  Ant: 建⽴立 Android 版本時需要	
ü  Cordova camera plugin	
ü  COIMOTION PhoneGap SDK	
ü  (optional) Genymotion 如果要在
Mac 上跑,還需要 Virtuebox
⾴頁⾯面清單	
q home:顯⽰示 splash	
q login: 讓使⽤用者登⼊入或註冊	
q list: 顯⽰示使⽤用者的筆記清單	
q view: 顯⽰示筆記的詳細內容	
q edit: 新增⼀一筆內容
API清單	
代碼	
 說明	
 API 路徑	
UserProfile	
   檢測使⽤用者是不是在登⼊入
狀態	
core/user/profile	
  
Login	
   使⽤用者登⼊入	
 core/user/login	
  
Register	
   使⽤用者註冊	
 core/user/register	
  
NotesList	
   列出筆記清單	
 [myRepo]/notes/list	
  
NoteView	
   取得筆記的完整內容	
 [myRepo]/notes/view	
  
NoteCreate	
   新增⼀一條筆記	
 [myRepo]/notes/create	
  
A@achPic	
   將照⽚片附加在筆記上	
 [myRepo]/notes/a@ach	
  
* myRepo: ⽤用⾃自訂內容集所對應的代碼取代
再次檢視API清單	
API 路徑	
core/user/profile	
  
core/user/login	
  
core/user/register	
  
[myRepo]/notes/list	
  
[myRepo]/notes/view	
  
[myRepo]/notes/create	
  
[myRepo]/notes/a@ach	
  
使⽤用平台提供的模組	
需要⾃自訂⼀一個內容集(repository),
內容集裡⾯面有⼀一個 notes 的資源
設定後台服務	
1.  ⾃自訂⼀一個內容集 (repository)	
  
2.  在內容集中建⽴立⼀一個 notes 的資源	
3.  notes 需要類似網⾴頁⽂文章的功能,所
以讓 notes 繼承 cms/page	
  
預計所需時間:5~10 分鐘	
只需以下幾個步驟:
微步驟:1 進⼊入內容寶庫	
登⼊入進⼊入官網 (tw.coimoFon.com)	
  的開發者後台,
點選內容寶庫	
點選這裡
微步驟:2 選擇 App	
登⼊入內容寶庫後,點選左上⾓角「我的App」	
1. 點選這裡,拉出選單	
2. 選擇這次所要建置的App。如果只有⼀一筆,就選它吧!
微步驟:3 ⾃自製內容	
先選取「⾃自製內容」的⾴頁籤	
1. 點選這裡	
2. 點選這裡以便新增內容集	
此時畫⾯面類似下圖:
微步驟:4 新增內容集	
⼀一開始畫⾯面像這樣(也許已經有⼀一筆資料,沒有關係)	
1. 點選這裡	
2. 代碼在平台上必須
唯⼀一,若已被別⼈人選
⽤用就不能使⽤用。這個
代碼也就是要填⼊入
API 路徑中
[myRepo] 的代碼	
會跳出類似下圖的視窗:
微步驟:5 資源管理	
完成內容集的新增後,畫⾯面會像下圖。點選「RS」來做
資源的管理。	
1. 點選這裡
微步驟:6 新增資源	
進⼊入資源管理後,畫⾯面像這樣。此時點選「新增」	
1. 點選這裡	
2. 請填⼊入: notes	
會跳出類似下圖的視窗:	
3. 請填⼊入: 筆記	
4. ⾮非常重要,先點選,下⼀一⾴頁解釋
微步驟:7 繼承資源	
上⼀一⾴頁點選「繼承」鍵後,會出現如下視窗。選擇 cms/
page作為繼承的對象。	
1. 點選這裡	
2. 點選這裡	
3. 點選這裡
微步驟:8 完成後台設定	
上⼀一⾴頁新增資源完成後,畫⾯面會如下圖所⽰示。經由繼承,
新增的資源 (notes)	
  已經有許多功能可⽤用。	
經由繼承,我們所需的
create, list, view, attach
等功能都已具備。
建置⼦子端	
以上完成後端的設定,範例所需的 API 都已 ready	
	
接著開始以 HTML5(經由 PhoneGap)建⽴立	
跨平台的 App
安裝Cordova / 建⽴立 App	
	
  
#	
  安裝 cordova	
  
>	
  sudo	
  npm	
  install	
  –g	
  cordova	
  
	
  
#	
  建⽴立	
  App	
  
>	
  cordova	
  	
  create	
  	
  wnote	
  	
  com.gocharm.coim.wnote	
  	
  WireNotes	
  
	
  
#	
  建⽴立所⽀支援的平台環境	
>	
  cd	
  wnote	
  
>	
  cordova	
  plaLorm	
  add	
  ios	
  
>	
  cordova	
  plaLorm	
  add	
  android	
  
	
  
# build	
>	
  cordova	
  build	
  
#	
  安裝模擬器 Genymotion	
	
  
#	
  啟動程式	
>	
  cordova	
  run	
  android	
  
測試看看	
#	
  安裝模擬啟動程式	
>	
  sudo	
  npm	
  install	
  ios-­‐sim	
  -­‐g	
  
	
  
#	
  啟動模擬器	
>	
  cordova	
  emulate	
  ios	
  
OK!!	
  
iOS:	
Android:
下載範例程式	
1.  git	
  clone	
  h@ps://github.com/coimoFon/
coApp.git	
  .	
  
2.  或者到 github.com/coimoFon/coApp	
  去下載 zip
檔	
3.  將下載內容中 www ⺫⽬目錄整個複製到 wnote ⺫⽬目
錄下(覆蓋掉 PhoneGap 的 demo)	
4.  把 config.xml 也取代掉
安裝PhoneGap Plugin	
	
  
#	
  安裝照相功能的	
  plugin	
  
>	
  cordova	
  plugin	
  add	
  org.apache.cordova.camera	
  
	
  
#安裝 COIMOTION	
  SDK	
  plugin	
  
>	
  cordova	
  	
  plugin	
  add	
  h@ps://github.com/coimoFon/coimPlugin.git	
  
	
  
⼦子端與 API 的對話	
經由 SDK 的幫忙,App 和後端程式溝通可以很容易
達成。但需要先告訴 SDK ⼆二件事:	
	
o  appCode: ⾏行動應⽤用程式的代碼	
o  appKey:⾏行動應⽤用程式的⾦金鑰
找出appKey和appCode	
點選「App管理」	
先回到開發者後台⾸首⾴頁:
App管理	
這就是 appCode	
點選這裡,跳出這個	
這就是程式⾦金鑰 (appKey)	
  
⼦子端的設定 -- iOS	
在 wnote/plaLorms/ios/wnote/wnote-­‐Info.plist 中加⼊入
⼆二個 property:	
•  coim_app_key	
  
•  coim_app_code	
  
其內容值就是我們剛才找的 appKey	
  和 appCode	
  
⼦子端的設定 -- Android	
在 wnote/plaLorms/android/AndroidManifest.xml 中,
<applicaFon>	
  tag 內加⼊入⼆二個 <meta-­‐data>	
  tag:	
	
<meta-­‐data	
  android:name=“coim_app_key”	
  android:value=“”	
  />	
  
<meta-­‐data	
  android:name=“coim_app_code”	
  android:value=“”	
  />	
  
	
  
其內容值就是我們剛才找的 appKey	
  和 appCode	
  
修改 index.html	
我們利⽤用 index.html 將App 所需的⾴頁⾯面⾃自動產⽣生,並
告知所對應的 API 服務:	
25  <script	
  type=“text/javascript”>	
  
26  	
  	
  	
  	
  var	
  	
  pages	
  =	
  [	
  
27  	
  	
  	
  	
  	
  	
  	
  	
  {id:	
  ‘home’},	
  
28  	
  	
  	
  	
  	
  	
  	
  	
  {id:	
  ‘login’},	
  
29  	
  	
  	
  	
  	
  	
  	
  	
  {id:	
  ‘list’,	
  remote:	
  ‘WireNotes/notes/list’},	
  
30  	
  	
  	
  	
  	
  	
  	
  	
  {id:	
  ‘view’,	
  remote:	
  ‘WIreNotes/notes/view’},	
  
31  	
  	
  	
  	
  	
  	
  	
  	
  {id:	
  ‘edit’}	
  
32  	
  	
  	
  	
  ];	
  
33  	
  	
  
34  	
  	
  	
  	
  _wf.iniFalize(pages);	
  
35  </script>	
  
改成你的⾃自製內容集的代碼
修改 edit.js	
另⼀一個需要調整內容集代碼的地⽅方:	
32	
  coim.send(‘WireNotes/notes/create’,	
  params,	
  funcFon(rtnData)	
  {	
  
	
  	
  	
  	
  ….	
  
	
  
	
  
44	
  	
  	
  	
  	
  coim.a@ach(‘WireNotes/notes/a@ach/’	
  +	
  ngID,	
  params,	
  …	
  
改成你的⾃自製內容集的代碼	
www/blocks/edit/edit.js: 32, 44
可以跑程式了	
#	
  安裝模擬器 Genymotion	
	
  
#	
  啟動程式	
>	
  cordova	
  run	
  android	
  
#	
  安裝模擬啟動程式	
>	
  sudo	
  npm	
  install	
  ios-­‐sim	
  -­‐g	
  
	
  
#	
  啟動模擬器	
>	
  cordova	
  emulate	
  ios	
  
iOS:	
Android:
到這裡已完成了範例的製作,	
以下介紹 SDK 的各種使⽤用情境
註冊	
coim.register(pdata,	
  function(rtnData)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  if	
  (rtnData.errCode	
  ===	
  0)	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  alert('Successfully	
  registered.');	
  
	
  	
  	
  	
  	
  	
  	
  	
  else	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  alert('Register	
  Failed.');	
  
});	
  
www/blocks/login/login.js: 26 ~ 33
登⼊入	
coim.login('core/user/login',	
  pdata,	
  function(rtnData)	
  
{	
  
	
  	
  	
  	
  	
  	
  	
  	
  if	
  (rtnData.errCode	
  ===	
  0)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  alert('Login	
  successfully.');	
  
	
  	
  	
  	
  	
  	
  	
  	
  else	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  alert('Login	
  failed.');	
  
});	
  
www/blocks/login/login.js: 54 ~ 59
拍照	
var	
  	
  options	
  =	
  {	
  
	
  	
  	
  	
  sourceType:	
  Camera.PictureSourceType.CAMERA,	
  
	
  	
  	
  	
  targetWidth:	
  640,	
  
	
  	
  	
  	
  targetHeight:	
  640	
  
};	
  
	
  
navigator.camera.getPicture(function(imgPath){	
  
	
  	
  	
  	
  …	
  
},	
  null,	
  options);	
  
www/blocks/edit/edit.js: 13 ~ 19
拍照與上傳	
coim.send('WireNotes/notes/create',	
  params,	
  function(rtnData)	
  
{	
  
	
  	
  	
  	
  if	
  (rtnData.errCode	
  ===	
  0)	
  	
  {	
  
	
  var	
  	
  ngID	
  =	
  rtnData.value;	
  
	
  coim.attach('WireNotes/notes/attach/’+ngID,	
  params,	
  files,	
  
	
  	
  	
  	
  function(rtnData)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if	
  (rtnData.errCode	
  ===	
  0)	
  	
  
	
   	
  navigator.camera.cleanup();	
  
	
  });	
  
	
  	
  	
  	
  }	
  
});	
  
www/blocks/edit/edit.js: 32 ~ 60
顯⽰示資料清單	
var	
  	
  pages	
  =	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {id:	
  'home'},	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {id:	
  'login'},	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {id:	
  'list',	
  remote:	
  'WireNotes/notes/list',	
  params:	
  {pri:1}},	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {id:	
  'view',	
  remote:	
  'WireNotes/notes/view',	
  params:	
  {pic:1}},	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {id:	
  'edit',	
  remote:	
  'WireNotes/notes/view’}	
  ];	
  
	
  
_wf.iniFalize(pages);	
  
Index.html: 26 ~ 34	
程式起始時,在 index.html 曾做過以下的事:	
list ⾴頁⾯面要顯⽰示時,coapp.js 會從 WireNotes/
notes/list 讀取資料
顯⽰示單筆資料	
<div	
  id="noteBody">	
  
{{#each	
  value.picList}}	
  
	
  	
  	
  	
  <div	
  style="text-­‐align:center;">	
  
	
  	
  	
  	
  	
  	
  	
  	
  <img	
  src=""	
  data-­‐path="{{dataURI}}"	
  	
  	
  	
  />	
  
	
  	
  	
  	
  </div>	
  
{{/each}}	
  
</div>	
  
<hr	
  />	
  
<p>{{body}}</p>	
  
www/blocks/view/view.html: 12 ~ 20	
資料讀取原理和 list (清單)類似,以下顯⽰示
畫⾯面處理:
⼀一雲多屏	
COIMOTION	
  
上網編輯	
利⽤用 coServ 快速做好編輯網站,存取相同的資訊
開發的參考架構	
COIMOTION	
  API	
  Services	
  
SDK	
  
coApp	
  
coServ	
  
Web	
  
Site	
  
1	
  
Web	
  
Site	
  
N	
  
App	
  
1	
  
App	
  
N	
  
App	
  
1	
  
App	
  
N	
  
…	
  …	
  
…	
  
相關網址	
Website:	
  
	
  h@p://tw.coimoFon.com
	
  
FB:	
  	
  
h@p://w.me/coimoFon	
  
	
  
Slideshare:	
  	
  
h@p://www.slideshare.net/BenLue/presentaFons	
  
參考資訊	
coServ: 以 node.js 實作的新⼀一代 Web Server 	
http://github.com/coimotion/coServ	
	
coServ 中⽂文版技術⽂文件	
http://coimotion.github.io/coServ/zh/index.html	
	
使⽤用 COIMOTION的 Android 範例	
https://github.com/coimotion/Android-Demo-App	
	
使⽤用 COIMOTION的 iOS範例	
https://github.com/coimotion/iOS-Demo-App
Thanks	
  

More Related Content

What's hot

Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Fred Lin
 

What's hot (8)

Flash RIA Usability
Flash RIA UsabilityFlash RIA Usability
Flash RIA Usability
 
Flash ria usability 刘轩飞
Flash ria usability 刘轩飞Flash ria usability 刘轩飞
Flash ria usability 刘轩飞
 
換個視角看資料
換個視角看資料換個視角看資料
換個視角看資料
 
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
Developer也可以做出漂亮網站 - Twitter Bootstrap/JQuery Mobile簡介
 
JQuery Mobile 框架介紹與使用
JQuery Mobile 框架介紹與使用JQuery Mobile 框架介紹與使用
JQuery Mobile 框架介紹與使用
 
2012 08 24_native_vs_adobeair
2012 08 24_native_vs_adobeair2012 08 24_native_vs_adobeair
2012 08 24_native_vs_adobeair
 
使用 ASP.NET MVC 開發SPA網站-微軟實戰課程日
使用 ASP.NET MVC 開發SPA網站-微軟實戰課程日使用 ASP.NET MVC 開發SPA網站-微軟實戰課程日
使用 ASP.NET MVC 開發SPA網站-微軟實戰課程日
 
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
 

Viewers also liked

如何逐步提升CSS的可利用性、模組化
如何逐步提升CSS的可利用性、模組化如何逐步提升CSS的可利用性、模組化
如何逐步提升CSS的可利用性、模組化
洧杰 廖
 
gaunxi ties that bind by Peer aakif
gaunxi ties that bind by Peer aakifgaunxi ties that bind by Peer aakif
gaunxi ties that bind by Peer aakif
peeraakif
 
Stat Report 2013
Stat Report 2013Stat Report 2013
Stat Report 2013
kulachesth
 
กิจกรรมร่วมการแข่งขัน 'การประกวดภาพถ่ายขาวดำ The Beauty of Monochrome'
กิจกรรมร่วมการแข่งขัน 'การประกวดภาพถ่ายขาวดำ The Beauty of Monochrome'กิจกรรมร่วมการแข่งขัน 'การประกวดภาพถ่ายขาวดำ The Beauty of Monochrome'
กิจกรรมร่วมการแข่งขัน 'การประกวดภาพถ่ายขาวดำ The Beauty of Monochrome'
Ingfah Maneetong
 
Go green curb global warming
Go green curb global warmingGo green curb global warming
Go green curb global warming
Mohammed Suhail
 
біла церква. республіканський етап олімпіади
біла церква. республіканський етап олімпіадибіла церква. республіканський етап олімпіади
біла церква. республіканський етап олімпіади
Галина Логвин
 
February Corporate Presentation 2014
February Corporate Presentation 2014February Corporate Presentation 2014
February Corporate Presentation 2014
oncolyticsinc
 

Viewers also liked (20)

如何逐步提升CSS的可利用性、模組化
如何逐步提升CSS的可利用性、模組化如何逐步提升CSS的可利用性、模組化
如何逐步提升CSS的可利用性、模組化
 
gaunxi ties that bind by Peer aakif
gaunxi ties that bind by Peer aakifgaunxi ties that bind by Peer aakif
gaunxi ties that bind by Peer aakif
 
Stat Report 2013
Stat Report 2013Stat Report 2013
Stat Report 2013
 
La conference Video
La conference VideoLa conference Video
La conference Video
 
Alexandra Koláčková Atelier - My Artwork
Alexandra Koláčková Atelier - My ArtworkAlexandra Koláčková Atelier - My Artwork
Alexandra Koláčková Atelier - My Artwork
 
กิจกรรมร่วมการแข่งขัน 'การประกวดภาพถ่ายขาวดำ The Beauty of Monochrome'
กิจกรรมร่วมการแข่งขัน 'การประกวดภาพถ่ายขาวดำ The Beauty of Monochrome'กิจกรรมร่วมการแข่งขัน 'การประกวดภาพถ่ายขาวดำ The Beauty of Monochrome'
กิจกรรมร่วมการแข่งขัน 'การประกวดภาพถ่ายขาวดำ The Beauty of Monochrome'
 
Investor Presentation August 17 2014
Investor Presentation August 17 2014Investor Presentation August 17 2014
Investor Presentation August 17 2014
 
Chukwuma gwude skilled administrator
Chukwuma gwude   skilled administratorChukwuma gwude   skilled administrator
Chukwuma gwude skilled administrator
 
Montes de Toledo
Montes de ToledoMontes de Toledo
Montes de Toledo
 
Go green curb global warming
Go green curb global warmingGo green curb global warming
Go green curb global warming
 
Example
ExampleExample
Example
 
Steve jobs
Steve jobsSteve jobs
Steve jobs
 
Bulimia
BulimiaBulimia
Bulimia
 
May 2016 Corporate Presentation
May 2016 Corporate PresentationMay 2016 Corporate Presentation
May 2016 Corporate Presentation
 
Corporate presentation _7_dec_2015
Corporate presentation _7_dec_2015Corporate presentation _7_dec_2015
Corporate presentation _7_dec_2015
 
біла церква. республіканський етап олімпіади
біла церква. республіканський етап олімпіадибіла церква. республіканський етап олімпіади
біла церква. республіканський етап олімпіади
 
Subbetic mountain chain
Subbetic mountain chainSubbetic mountain chain
Subbetic mountain chain
 
February Corporate Presentation 2014
February Corporate Presentation 2014February Corporate Presentation 2014
February Corporate Presentation 2014
 
Central mountain chain
Central mountain chainCentral mountain chain
Central mountain chain
 
SM_PPT_Example
SM_PPT_ExampleSM_PPT_Example
SM_PPT_Example
 

Similar to HTML+COIMOTION 開發跨平台 app

Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
Wei Sun
 
Using google appengine (2)
Using google appengine (2)Using google appengine (2)
Using google appengine (2)
Wei Sun
 
Using google appengine_final
Using google appengine_finalUsing google appengine_final
Using google appengine_final
Wei Sun
 
Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發
Chui-Wen Chiu
 
Django
DjangoDjango
Django
Tao He
 
廖雪峰 Saa s ovp
廖雪峰 Saa s ovp廖雪峰 Saa s ovp
廖雪峰 Saa s ovp
drewz lin
 
行動商務實務 - PhoneGap Advance
行動商務實務 - PhoneGap Advance行動商務實務 - PhoneGap Advance
行動商務實務 - PhoneGap Advance
My own sweet home!
 

Similar to HTML+COIMOTION 開發跨平台 app (20)

[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
 
常用开发工具介绍
常用开发工具介绍常用开发工具介绍
常用开发工具介绍
 
Android应用开发 - 沈大海
Android应用开发 - 沈大海Android应用开发 - 沈大海
Android应用开发 - 沈大海
 
Arduino Yún使用Http restful api控制io
Arduino Yún使用Http restful api控制ioArduino Yún使用Http restful api控制io
Arduino Yún使用Http restful api控制io
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
 
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
 
Using google appengine (2)
Using google appengine (2)Using google appengine (2)
Using google appengine (2)
 
Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發
 
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek
 
Symfony簡介
Symfony簡介Symfony簡介
Symfony簡介
 
Borland C++Builder 入門課程
Borland C++Builder 入門課程Borland C++Builder 入門課程
Borland C++Builder 入門課程
 
Using google appengine_final
Using google appengine_finalUsing google appengine_final
Using google appengine_final
 
I os 16
I os 16I os 16
I os 16
 
Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
 
Django
DjangoDjango
Django
 
181201_CoAP_coding365
181201_CoAP_coding365181201_CoAP_coding365
181201_CoAP_coding365
 
廖雪峰 Saa s ovp
廖雪峰 Saa s ovp廖雪峰 Saa s ovp
廖雪峰 Saa s ovp
 
行動商務實務 - PhoneGap Advance
行動商務實務 - PhoneGap Advance行動商務實務 - PhoneGap Advance
行動商務實務 - PhoneGap Advance
 
Uliweb cheat sheet_0.1
Uliweb cheat sheet_0.1Uliweb cheat sheet_0.1
Uliweb cheat sheet_0.1
 

More from Ben Lue

More from Ben Lue (9)

Introducing coServ
Introducing coServIntroducing coServ
Introducing coServ
 
Programming can be like circuits drawing -- a JSON-FP perspective
Programming can be like circuits drawing -- a JSON-FP perspectiveProgramming can be like circuits drawing -- a JSON-FP perspective
Programming can be like circuits drawing -- a JSON-FP perspective
 
What is JSON-FP
What is JSON-FPWhat is JSON-FP
What is JSON-FP
 
Hack & Go! Redefining API @ MOPCON 2014
Hack & Go!  Redefining API @ MOPCON 2014Hack & Go!  Redefining API @ MOPCON 2014
Hack & Go! Redefining API @ MOPCON 2014
 
學好 node.js 不可不知的事
學好 node.js 不可不知的事學好 node.js 不可不知的事
學好 node.js 不可不知的事
 
不一樣的 Web Server coServ Part II
不一樣的 Web Server coServ Part II不一樣的 Web Server coServ Part II
不一樣的 Web Server coServ Part II
 
不一樣的Web server... coServ
不一樣的Web server... coServ不一樣的Web server... coServ
不一樣的Web server... coServ
 
第一次使用COIMOTION就上手
第一次使用COIMOTION就上手第一次使用COIMOTION就上手
第一次使用COIMOTION就上手
 
COIMOTION概念介紹
COIMOTION概念介紹COIMOTION概念介紹
COIMOTION概念介紹
 

HTML+COIMOTION 開發跨平台 app