JavaScript를 이용한 BaaS 예제
이게 뭔가요?
BaaS(Backend as a Service)를 잘 쓰자는 취지에서 JavaScript 예제를 만들어보았습니다. 초보자를 위해 가능한 단순하게 만들었습니다.
근래 많은 BaaS가 사라지고 새로운 것이 나오고 있습니다. 많은 관심 부탁드립니다.
특히 Parse가 서비스를 종료하게 되며, 그 오픈 소스 소프트웨어인 Parse Server를 이용한 제3의 서비스가 있습니다.
Firebase 예제
var config = { apiKey: "AIzaSyDMRNixCXgWuD3z1P2f_hlM3LqxJry5Rks", authDomain: "blog-c227a.firebaseapp.com", databaseURL: "https://blog-c227a.firebaseio.com", storageBucket: "blog-c227a.appspot.com", }; firebase.initializeApp(config); firebase.database().ref('/comments/').limitToLast(5).once('value').then(function(snapshot) { console.log(snapshot.val()); drawCommentsTable(snapshot.val()); // $.each(results, function(index, value){ ... // row.append($("" + value.comment + " ")); currentPage++; });
youre.space usergrid 예제
데이터를 조회하는 부분. usergrid와 baas.io는 서로 비슷합니다.<script src="js/usergrid.js"></script> <script> $(document).ready(function() { var client = new Usergrid.Client({ 'URI':'https://api02.youre.space', 'orgName':'svr42mp', 'appName':'baas.io', //'token':baas_token }); var options = { 'client':client, 'endpoint':'comments', 'qs':{ 'ql':'order by created DESC' } } client.request(options, function (err, data) { if(!err){ drawCommentsTable(data.entities); }else{ console.log(err.toString()); } }); }
kt baas.io 예제
데이터를 조회하는 부분var io = new Baas.IO({ 'URI':'https://api.baas.io', 'orgName':'imyaman', 'appName':'b-log', }); var options = { 'client':io, 'endpoint':'comments', 'qs':{ 'ql':'order by created DESC' } } io.request(options, function (err, data) { if(!err){ }else{ } });
Parse 예제
Parse.initialize('cdzz7YuYMPaopERtDOd15bUvv7oSaFtJYkCNZjIg', 'cPEU1ggQqkfL1Uh2fPekOWsmrCs7xc39H6RKZRpr'); var query = new Parse.Query('Comments'); query.limit(10); query.find({ success: drawCommentsTable, error: drawCommentsError });
Parse Server 예제
Parse.initialize('cdzz7YuYMPaopERtDOd15bUvv7oSaFtJYkCNZjIg', 'cPEU1ggQqkfL1Uh2fPekOWsmrCs7xc39H6RKZRpr'); Parse.serverURL = 'http://jts.youre.space:1337/parse' var query = new Parse.Query('Comments'); query.skip(pgCount*currentPage); query.limit(pgCount); query.descending("createdAt"); query.find({ success: drawCommentsTable, error: drawCommentsError }); currentPage++;
Buddy - Parse Server 예제
Parse.initialize('***********', '**********'); Parse.serverURL = 'http://parse.buddy.com/parse' var query = new Parse.Query('Comments'); query.skip(pgCount*currentPage); query.limit(pgCount); query.descending("createdAt"); query.find({ success: drawCommentsTable, error: drawCommentsError }); currentPage++;
Kinvey 예제
var promise = Kinvey.init({ appKey : 'kid_WkVVFh1N5', appSecret : '8ffb767dda014827bd9de4ea01df7a32' }); promise.then(function(activeUser) { if(null === activeUser) { return Kinvey.User.create(); } }, function(error) { }); var promise = Kinvey.DataStore.find('Comments', null, { success : drawCommentsTable, error : drawCommentsError });
Microsoft Azure Mobile Services 예제
var client = new WindowsAzure.MobileServiceClient('https://nextlayer.azure-mobile.net/', 'tIBCRAuvMqKAojuCYMmbqUdLzKSrNw70'); var commentsItemTable = client.getTable('Comments'); commentsItemTable.systemProperties = WindowsAzure.MobileServiceTable.SystemProperties.All; var query = commentsItemTable.where({ }); query.read().then(function(commentsItems) { var listItems = $.map(commentsItems, function(item){ }); $('#commentsTable').empty().append(listItems).toggle(listItems.length > 0); }, handleError);
Azure Mobile Services 예제 새로 만든 것 여기
SKTelecom T developers BaaS 예제
Baas.initialize("7dab9da0-9541-4c63-9c6a-452c02ba957a"); var query = new Baas.Query('Comments'); query.limit(10); query.find({ success: drawCommentsTable, error: drawCommentsError });
설명
우선 SKT의 T developers에서 제공하는 BaaS의 예시로 설명
여기
소스코드를 보라
속도는 baas.io, sktdevbaas, parse, kinvey 순
편리함은 baas.io, parse, sktdevbaas, kinvey 순
Microsoft의 Azure Mobile Services는 신세계. 대단함.
- README.md on github
- README.md
- 00-README-introduce.md
- 01-README-baas.io.md
- 02-README-parse.md
- 03-README-kinvey.md
- 04-README-azure.md
- 05-README-sktdevbaas.md