ã¢ãã¤ã«éçºã«ããã¦ã端æ«ãã¨ã®åæãã©ã®ããã«ãã¦è¡ããï¼
ã¢ãã¤ã«ã¢ããªã®éçºã«ããã¦ã端æ«æ¯ã®ãã¼ã¿ã®åæãã©ã®ããã«å®è£ ããã®ãã«ã¤ãã¦èãã¦ã¿ã¾ããã
ãã«ããã©ãããã©ã¼ã ãè¤æ°ç«¯æ«ã§ãµã¼ãã¹ãæä¾ããå ´åãã¦ã¼ã¶ã¼ã¢ã«ã¦ã³ããç¨æãã¦ãµã¼ãã¼å´ã«å ¨ã¦ã®ãã¼ã¿ãä¿æãã ã¯ã©ã¤ã¢ã³ã-ãµã¼ãã¼éã§éä¿¡ãè¡ãã®ãä¸è¬çãã¨æãã¾ããã å人ã¢ããªã§ã¯ãã¾ããªã½ã¼ã¹ãæããããªãã®ã§ãæ©ã¾ããæãã§ãã
ã¢ãããã§ããããå®è£ ãããã¨ã«ãªãã®ã§ãç¾ç¶ã®é¸æè¢ãã¾ã¨ãã¦ã¿ã¾ããã
é·ãã®ã§çµè«ã ãå ã«æ¸ãã¨ãAWSãAzureãFirebaseãããã®BaaSãå©ç¨ããã¨ããããããªãããªã¨ãã話ã§ãã
ã¢ãããã§å®è£ ããå ´åã®åææ¡ä»¶
- å人ã¢ããªãªã®ã§è¦æ¨¡ã¯ããã»ã©å¤§ãããªãã
- ç¾ç¶ã§ã¯è¤æ°ç«¯æ«ã§å©ç¨ãã¦ããã¦ã¼ã¶ã¼ã¯å°æ°ã
- éè¦ã¯å°æ°ã ããã¦ã¼ã¶ã¼ã¨ãã¦ã¯ããã¼ã¦ã¼ã¶ã¼ã«ãããã®ã§å¤§åã«ãã¦ããããã
- ã¦ã¼ã¶ã¼èªè¨¼ã¯åºæ¬çã«facebookãGoogleãªã©ã®å¤é¨ã¢ã«ã¦ã³ãã§æ¸ã¾ãããã
- ã¦ã¼ã¶ã¼ã®å人æ å ±(ID/PASS)ã¯ãã¾ãèªåã§ç®¡çããããªãã
- ãµã¼ãã¼å´ã®éçºã«ãã¾ãã³ã¹ãã¯æããããªãã
- iOS端æ«ã ãã§ãªãAndroid端æ«ãå«ãã¦åæãåããããã«ãããã
- å®ãVPSå ã§è²ã åããã¦ããã®ã§ããã¼ãã®ãªã½ã¼ã¹ã¯ä¸è¶³æ°å³ã
å®è£ æã®æ¸å¿µäºé
- ã¢ã«ã¦ã³ããä¿æãããã¨ã«ä¼´ãã»ãã¥ãªãã£ãªã¹ã¯ã
- 端æ«éã§ã®åæã®ç¢ºå®æ§ã
- ãªãã©ã¤ã³æã«ä½¿ãããã
ã¢ã«ã¦ã³ãã®ä¿ææ¹æ³
ä¼æ¥ã¬ãã«ã§ããã°ãã¼ã±ãã£ã³ã°çã«ãèªç¤¾ã§æã¤ã®ãããã¨æãã¾ããã å人ã¬ãã«ã§ã¯ãã¾ãä¿æããããªãã®ãæ£ç´ãªã¨ããã§ãã
èªè¨¼ã«ã¤ãã¦ã¯èªåã®ãµã¼ãã¼ã§æã¤ãªãOAuthã§å¤é¨ã¢ã«ã¦ã³ãã®å©ç¨ãªã³ãªã¼ã«ãããã¨ããã§ãã BaaSãå©ç¨ãããªããID/PASSã®ä¿æãæ¤è¨ãã¦ããããªã¨èãã¦ãã¾ãã
ãã¼ã¿å½¢å¼
次ã¯ãã¼ã¿ã®ä¿æå½¢å¼ã ã¢ãããã®å ´åãç¾ç¶ã§ã¯ã¦ã¼ã¶ã¼ã®è¨å®æ å ±ãSQLiteã«ä¿åãã¦ãã¾ãã
Webãã¢ããªãæä¾ãã¦ããã®ã§ããã°ããµã¼ãã¼å´ã«ä¿æãã¦ããã®ã§ã ç¹ã«æ©ãå¿ è¦ã¯ãªãã¨æãã¾ãããã¢ãããã®ããã«ã¢ããªã ãã§ãã¼ã¿ãä¿æãã¦ããã¨æ©ã¾ããã§ãã
ãµã¼ãã¼åDB
- MySQLçã®RDBãå©ç¨ããææ³ã
- ãµã¼ãã¼å´ã«APIãç¨æãã¦ããã®é½åº¦éä¿¡ãè¡ããªã¼ã½ããã¯ã¹ãªææ³ã
- ã¦ã¼ã¶ã¼ãã¼ã¿ãå¿ è¦ã«ãªã£ãæã«ãã®é½åº¦éä¿¡ãè¡ãã®ã§ãåæã®åé¡ã¯å¿é ããªãã¦ãæ¸ãã
- ãªãã©ã¤ã³ã ã¨ä½¿ããªãã
- éçºã³ã¹ãã¯ãããªãã«æããã
- ãµã¼ãã¼å´ã®ãªã½ã¼ã¹ãèæ ®ããå¿ è¦ãããã
- Webã§ãæä¾ãã¦ãããµã¼ãã¹ãªãæ¢ã«ãµã¼ãã¼å´ã§ãã¼ã¿ãä¿æãã¦ããã¯ããªã®ã§ãã±ã¼ã¹ã«ãã£ã¦ã¯æ軽ã«å°å ¥ã§ããã
ã¹ã¿ã³ãã¢ãã³åDB
- SQLiteãRealmãªã©ã®ã¢ããªå ã§ä¿æãã¦ããDBãåæããæ¹æ³ã
- ä¿åå ´æã¯èªåã®ãµã¼ãã¼ãS3ãªã©ã®ã¹ãã¬ã¼ã¸ã«ãªãã
- åæææ³ã¨ãã¦ã¯ãä¸æ¦ãµã¼ãã¼ãä»ãã¦DBãã¡ã¤ã«èªä½ãããã¨ãããã
- ã¦ã¼ã¶ã¼ã®è¨å®æ å ±ãå«ã¾ããã®ã§ãã»ãã¥ãªãã£ã«ã¯å¤å°æ°ã使ãã
- ãªãã©ã¤ã³æã§ã使ãããããªã³ã©ã¤ã³ã«ãªã£ãæã«åæããå¿ è¦ããã£ãããã³ã³ããªã¯ãã®åé¡ãªã©ãã¢ããªå´ã®éçºã«æéãæããã
- éçºã®æéã¯BaaSã®å©ç¨ã§ããç¨åº¦ã¯è»½æ¸ã§ãããã
JSONãªã©ã®ãã¡ã¤ã«å½¢å¼
- å½¢å¼ã¨ãã¦ã¯æ軽ã
- ã¢ãããã®å ´åã¯SQLiteããJSONã«ã¨ã¯ã¹ãã¼ãããå¦çã¨ãéã«ã¤ã³ãã¼ãããå¦çãå®è£ ããå¿ è¦ãããã
- ãã¼ã¿éãå¢ããã¨å³ãããªã£ã¦ãããï¼ã¢ãããã®å ´åã¯ããç¨å¤ãã¯ãªãã®ã§ãèããããããã¨ããã¬ãã«ï¼
- ãã¬ã¼ã³ãªå½¢å¼ãªã®ã§ããã«ããã©ãããã©ã¼ã ãèæ ®ããã¨ãSQLiteãªã©ã®DBããã¯ããé¸æè¢ã«ãªãããã
- ãã以å¤ã¯ã¹ã¿ã³ãã¢ãã³åDBã¨åãã¡ãªãã/ãã¡ãªãããããã
ãµã¼ãã¼åDBã¨ã¹ã¿ã³ãã¢ãã³åDBã®ãã¤ããªãã
- ãã¹ã¿ã¼ãã¼ã¿ã¯ãµã¼ãã¼å´ã§ä¿æ
- èµ·åæãªã©ã«ææ°ã®ãã¼ã¿ãã¢ããªå ã®DBã«åãè¾¼ãã
- ã¢ããªçµäºåãèµ·åä¸ã«ãã¼ã¿ããµã¼ãã¼ã«éãå¿ è¦ãããã
- ã³ã³ããªã¯ããªã©ã®åæã®å¯¾å¿ãé¢åã«ãªãããã
- ã¢ããªå ã§ã¯DBãä¿æãã¦ããã®ã§ãããç¨åº¦ã®ãã¼ã¿éãªãåé¡ãªã対å¿ã§ããã
- ã²ã¼ã ã¨ãã§ããå©ç¨ããã¦ããææ³ï¼ãªæ°ããã¦ãã¾ããï¼
- ãµã¼ãã¼å´ã§ãã¼ã¿ãä¿æãã¤ã¤ããªãã©ã¤ã³ã§ãå©ç¨å¯è½ãªã®ã¯é åçã
- éçºã³ã¹ããé«ããï¼BaaSãªã©ã§éçºã³ã¹ããå¸åã§ããã°ããã¾ã§ã§ããªãæ°ãããï¼ã
å©ç¨ã§ããããªBaaS
èªåã§ã®éçºã¯ã³ã¹ããé«ãã®ã§ãå人ã§ãããªãBaaSã®å©ç¨ããã¿ã¼ãã¨æãã¾ãã
Dropbox API
https://www.dropbox.com/developers
Dropbox Sync APIã¨ãããºããªã®ãã®ããã£ãã®ã§ãããæ®å¿µãªããçµäºã¨ã®ãã¨ã åãããã«Dropbox Datastore APIã¨ãããã¼ã¿ã¹ãã¢ã¿ãããªãã®ããã£ãã®ã§ããããã¡ããçµäºã
ç¾å¨ã®APIã§ã¯åç´ãªãã¡ã¤ã«ã¢ãããã¼ã/ãã¦ã³ãã¼ãã¯ã§ããã®ã§ã ã¹ãã¬ã¼ã¸ã¨ãã¦ã¯ä½¿ããã¿ããã§ãã
ä¸çªé¢åãªç«¯æ«æ¯ã®åæããªãã©ã¤ã³æã®å¦çãã³ã³ããªã¯ãã®åé¡ã¯èªåã§å®è£ ããå¿ è¦ãããã®ã¯æ®å¿µã§ãã Dropboxã¦ã¼ã¶ã¼ç¸ãã«ãªãã¾ãããç¡æã§ä½¿ããããããã¼ã¿ã®ä¿åå ´æã¨ãã¦ä¸¸æãã§ããã¨ããã¯ãããã¨æãã¾ãã
Google DriveãSugarSyncãOneDriveãªã©ã®ã¯ã©ã¦ãã¹ãã¬ã¼ã¸ç³»ãAPIããããããªã®ã§ãDropboxã¨åæ§ã«ä½¿ãããã§ãã
ã¢ã«ã¦ã³ãèªè¨¼ãå ¼ãã¤ã¤ãã¦ã¼ã¶ã¼å´ã®é åã«ä¿åã§ãããã¨ãã¡ãªããã«ãªãã¾ãã
Amazon S3ãªã©ã®ã¹ãã¬ã¼ã¸ãµã¼ãã¹
SQLiteãJSONçã®ãã¡ã¤ã«ãä¿æããéã«ã¯S3ãªã©ã®ã¹ãã¬ã¼ã¸ãµã¼ãã¹ã¯ä½¿ãããã§ãã
Dropboxãªã©ã¨ã¯éããã¦ã¼ã¶ã¼å´ã«ã¯ä¿æããªãåã»ãã¥ãªãã£ç®¡çã®ã³ã¹ãã¯é«ã¾ãã¾ããã èªåã§ã¹ãã¬ã¼ã¸ãç¨æããããã¯ä¸ããã¾ãã
ã¢ã«ã¦ã³ãèªè¨¼ã¯å¥éç¨æããå¿ è¦ãããã¾ãããæè¿ã®BaaSã¯å¤§ä½ä¸ç·ã«æä¾ããã¦ããã®ã§ã 大ããªåé¡ã«ã¯ãªããªãã¨æãã¾ãã
ãµã¼ãã¼å´ã¯æ¥½ã§ãã¾ããã端æ«æ¯ã®åæã¯èªåã§ä½ãå¿ è¦ãããã¾ãã
ãã®ä»ãã¼ã¿ã¹ãã¢ç³»ã®ãµã¼ãã¹
åç´ãªãã¼ã¿ã¹ãã¢ãæä¾ããã ãã®BaaSã¯ããããããã®ã§ãããã§ã¯ç¹ã«æ¯è¼ãã¾ããã ãã¡ã¤ã«ã¹ãã¬ã¼ã¸ã¨åæ§ã«ç«¯æ«éã®åæãèªåã§ã¤ãããã¨ãããã¯ã«ãªãã¾ãã
Firebase
ãµã¼ãã¼å´ã«DBãæä¾ãã¤ã¤ãåæå¦çãSDKã§è¡ãªã£ã¦ãããã®ã§ã ä»åã®è¦ä»¶ã«ã¯ããããããã§ãã
ã¦ã¼ã¶ã¼å´ã®ãã¼ã¿ã¯Firebaseã«ä¿æããå ´åãã¢ããªå ã®DB(èªåãµã¼ãã¼ããé ä¿¡ãã¦ããSQlite)ã¨ã®é£æºã¯ä¸å·¥å¤«å¿ è¦ã§ããã åæå¦çãå®è£ ããããã¯ã³ã¹ããä½ãã¨æãã¾ãã
ã¦ã¼ã¶ã¼èªè¨¼æ©è½ãããã®ã§ããã®è¾ºãå«ãã¦ã¾ã¨ãã¦æ¥½ã§ãããã§ãã
ãã ããã¼ã¿ãå®å ¨ã«Firebaseã«é ãããã¨ã«ãªãã®ã§ããµã¼ãã¹ãçµäºããæãèããã¨æãã§ãã å人ã¢ããªãªã®ã§ãã®è¾ºã®ãªã¹ã¯ãè¸ã¾ããä¸ã§æ¥½ãã¦ãããæ°ã¯ãã¾ããã Parse.comã®ãããªéå½ã辿ãã¨ç§»è¡ã大å¤ããã§ãã
Firebaseã¯Googleãè²·åãã¾ããããFacebookãè²·åããParse.comãçµäºã«ãªã£ããã¨ãèããã¨å°ã æãã§ãã
Microsoft Azure Mobile Apps
Microsoftã®Azureã¯Firebaseã¨åæ§ã«ãã¼ã¿ã¹ãã¢ã§ã®ãªãã©ã¤ã³åæãæä¾ããã¦ãã¾ãã iOSã¯CoreData,Androidã¯SQLiteã«ãã¼ã«ã«ãã¼ã¿ãä¿æããå¤æ´ããã£ãæã ããµã¼ãã¼å´ã«ãã¼ã¿ãéãããã§ãã
ããã¥ã¡ã³ãã«ããã¨ãã¼ã«ã«ãã¼ã¿ã®å½¢å¼ã¯ç¬èªã§å®è£ ãããã¨ãã§ããããã§ã使ãåæã¯ããããã§ãã
å é¨çã«ã¯OSæ¨æºã®ã¹ãã¬ã¼ã¸ãå©ç¨ãã¦ããã®ã§ãæ¢åç°å¢ã¨ã®é£æºã楽ã§ãããã§ãã
AWS Mobile Hub
AWS Mobile Hubã¯AWSã®ããã¤ãã®ãµã¼ãã¹ãçµã¿åããã¦æ§æããã¦ãã¾ãã
端æ«éã®åæãã§ãããããªã®ã§ãä»åã®ã±ã¼ã¹ã«ã使ãããã§ãã
å é¨çã«ã¯Amazon Cognitoã¨Amazon S3ã§æ§æããã¦ããã®ã§ã Firebaseåæ§ã«ãã¼ã¿ã¹ãã¢ã¨ãã¦ä½¿ããã¨ãããã©ã¤ãã¼ããªS3ã«SQLiteãJSONãã¡ã¤ã«ãä¿åãã¦åæãããã¨ãã§ãããã§ãã
éæ
ç¾ç¶ã§ã¯èªåã§å®è£ ãããã¨ãèããã¨ãFirebase,Azure,AWSãããããé¸ã¶ã®ãããããã§ããã
ä»åã¯æéã«é¢ãã¦ã¯ãã¾ãèæ ®ã«å ¥ãã¦ãªãã£ãã®ã§ã ãã®ä¸ããã¢ããªã®å©ç¨ç¶æ³ã«å¿ãã¦ããããããµã¼ãã¹ãé¸ã¶ã®ãè¯ãããã§ãã
Firebaseã¯ç¡æã§å©ç¨ãããã¨ãã§ããã®ã§ãå人ã¢ããªã«ã¯å¼·ãå³æ¹ã«ãªãããã§ãã
ãã ããã¼ã¿ã¹ãã¢ã«ãã¦ãã¾ãã¨ç§»è¡ããæã«å¤§å¤ãããªã®ã§ã ãã®å ´åã¯AWSã§SQLiteãªãJSONãªããä¿æãããã¿ã¼ã³ãããããã§ãã
ãã ãå®éã«ä½¿ã£ã¦ãã人ã®è©±ããã¾ãèããªãã®ã§ãå®éã®å©ç¨ã«ã¯ä¸å®ãããã¾ãã ããã¥ã¡ã³ãå ¨è¬ã¯æ¥æ¬èªã«ã対å¿ãã¦ãã¦ããªã¥ã¼ã ãçµæ§ããã®ã§ããã®ç¹ã¯å®å¿ã§ããããªæãã§ããã
Microsoftãªã®ã§ãããã«ä¸å®ã®å質ã¯ä¿ã£ã¦ããã¨æãã¾ããã ã°ã°ãã¨æ¤ç´¢çµæã«åºã¦ãããã¼ã¸ãå ¨é¨å ¬å¼ããã¥ã¡ã³ãã ã£ããã¨ãæ å ±ãå°ãªãã®ã¯ä¸å®ã§ãã
ã¢ãããã§å®è£ ããã®ã¯å°ãå ã«ãªããããªã®ã§ã ããå°ããã£ããæ§åãè¦ãªããèãã¦ããã¾ãã