Eu odeio OpenSocial

Carlos Brando
Carlos BrandoSoftware Developer à Jump Systemworks
Eu odeio OpenSocial
              por Carlos Brando
www.nomedojogo.com
Eu odeio OpenSocial
Eu odeio OpenSocial
Eu odeio OpenSocial
Agenda

• O que é OpenSocial?
• Por que OpenSocial?
• Como funciona?
• Quais são os problemas?
• Coçando a minha coceira
O que é?
Eu odeio OpenSocial
Eu odeio OpenSocial
Eu odeio OpenSocial
Eu odeio OpenSocial
Por quê?
Eu odeio OpenSocial
Eu odeio OpenSocial
Eu odeio OpenSocial
• +350 milhões de usuários
• +150 milhões de instalações
• +5 mil aplicativos
• +100 containers
• +25 mil desenvolvedores
• 10 milhões de acessos por dia
Como?
OpenSocial 0.8
1. Container
2. API JavaScript
2. API JavaScript




Três áreas principais
de funcionalidade:
 • Pessoas
 • Atividades
 • Persistência
3. API RESTful
4. XML
4. XML




<?xml version="1.0" encoding="UTF-8" ?>
<Module>
 <ModulePrefs title="Standard gadget structure">
  <Require feature="opensocial-0.8"/>
 </ModulePrefs>
 <Content type="html">
 <![CDATA[
      Olá galera do Rails for Kids!
 ]]>
 </Content>
</Module>
<?xml version="1.0" encoding="UTF-8" ?>
                                                                                             4. XML
<Module>
  <ModulePrefs title="List Friends Example">
    <Require feature="opensocial-0.8"/>
  </ModulePrefs>
  <Content type="html">
  <![CDATA[
    <script type="text/javascript">
      /**
       * Request the OWNER and OWNER's friends.
       */
      function request() {
        var idspec = opensocial.newIdSpec({ "userId" : "OWNER", "groupId" : "FRIENDS" });
        var req = opensocial.newDataRequest();
        req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.OWNER), "get_owner");
        req.add(req.newFetchPeopleRequest(idspec), "get_friends");
        req.send(response);
      };

            /**
             * Parses the response and generates html to list the names of the owner and
             * his or her friends.
             *
             * @param {Object} dataResponse Friend information that was requested.
             */
            function response(dataResponse) {
              var owner = dataResponse.get('get_owner').getData();
              var friends = dataResponse.get('get_friends').getData();
              var html = 'Friends of ' + owner.getDisplayName();
              html += ':<br><ul>';
              friends.each(function(person) {
                html += '<li>' + person.getDisplayName() + '</li>';
              });
              html += '</ul>';
              document.getElementById('message').innerHTML = html;
            };

      // Execute the request function when the application is finished loading.
      gadgets.util.registerOnLoadHandler(request);

    </script>
    <div id="message"> </div>
  ]]>
  </Content>
</Module>
Problemas?
Instabilidade
API RESTful
 Read Only
XML
XML
• +1000 linhas
• Dificuldade em dividir o trabalho
• Dificuldade no design
• Conflitos no código
EU ODEIO
OPENSOCIAL
Coçando a
minha própria
  coceira...
Ruby on Rails
   Não era a resposta
Framework
Framework conceitual é um conjunto de conceitos
 usado para resolver um problema de um domínio
CONTINUA...
1 sur 35

Recommandé

InlineInline
Inlineekeoguob
143 vues1 diapositive
Meta Programming with JavaScriptMeta Programming with JavaScript
Meta Programming with JavaScriptjeresig
1.6K vues9 diapositives
Owasp & phpOwasp & php
Owasp & phpAhmed Kamel Taha
32 vues10 diapositives
Jquery for post a formJquery for post a form
Jquery for post a formRakesh Kumar
621 vues2 diapositives

Contenu connexe

Tendances(19)

HTML5 - The 2012 of the WebHTML5 - The 2012 of the Web
HTML5 - The 2012 of the Web
Robert Nyman5.9K vues
jQuery basicsjQuery basics
jQuery basics
Stijn Van Minnebruggen651 vues
Opensocial CodelabOpensocial Codelab
Opensocial Codelab
Pieter De Schepper506 vues
One Size Fits AllOne Size Fits All
One Size Fits All
Claudio Meinberg378 vues
Introduction to jQueryIntroduction to jQuery
Introduction to jQuery
Nivedhitha Venugopal207 vues
Devoxx 2014-webComponentsDevoxx 2014-webComponents
Devoxx 2014-webComponents
Cyril Balit3.6K vues
Fw1Fw1
Fw1
priyaamal10 vues
Karan - form searchKaran - form search
Karan - form search
karanchanana12.1K vues
Font sizeFont size
Font size
teampigeon137 vues
Built in filtersBuilt in filters
Built in filters
Brajesh Yadav700 vues
Html To JSPHtml To JSP
Html To JSP
PlanetB4U15 vues
Introducing jQueryIntroducing jQuery
Introducing jQuery
Wildan Maulana1.1K vues
JBoss Seam 1 partJBoss Seam 1 part
JBoss Seam 1 part
Andrey Bratukhin1.5K vues
Css SelectorsCss Selectors
Css Selectors
Igor Ognichenko61 vues
Web&java. jspWeb&java. jsp
Web&java. jsp
Asya Dudnik269 vues

Similaire à Eu odeio OpenSocial(20)

Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
Patrick Chanezon1.1K vues
FamilySearch Reference ClientFamilySearch Reference Client
FamilySearch Reference Client
Dallan Quass571 vues
PHP And Web Services: Perfect PartnersPHP And Web Services: Perfect Partners
PHP And Web Services: Perfect Partners
Lorna Mitchell7.4K vues
Nk API - examplesNk API - examples
Nk API - examples
nasza-klasa6.1K vues
Private slideshowPrivate slideshow
Private slideshow
sblackman878 vues
ApacheCon 2005ApacheCon 2005
ApacheCon 2005
Adam Trachtenberg649 vues
Zendcon 09Zendcon 09
Zendcon 09
Wade Arnold1.1K vues
OSML and OpenSocial 0.9OSML and OpenSocial 0.9
OSML and OpenSocial 0.9
MySpaceDevTeam441 vues
Test uploadTest upload
Test upload
Darrell Lawson Jr.4.8K vues
Open socialOpen social
Open social
Tushar Gandhi257 vues
An Introduction to TornadoAn Introduction to Tornado
An Introduction to Tornado
Gavin Roy9.3K vues
Introduction to Html5Introduction to Html5
Introduction to Html5
www.netgains.org25.2K vues

Eu odeio OpenSocial

  • 1. Eu odeio OpenSocial por Carlos Brando
  • 6. Agenda • O que é OpenSocial? • Por que OpenSocial? • Como funciona? • Quais são os problemas? • Coçando a minha coceira
  • 16. • +350 milhões de usuários • +150 milhões de instalações • +5 mil aplicativos • +100 containers • +25 mil desenvolvedores • 10 milhões de acessos por dia
  • 17. Como?
  • 21. 2. API JavaScript Três áreas principais de funcionalidade: • Pessoas • Atividades • Persistência
  • 24. 4. XML <?xml version="1.0" encoding="UTF-8" ?> <Module>  <ModulePrefs title="Standard gadget structure">   <Require feature="opensocial-0.8"/>  </ModulePrefs>  <Content type="html">  <![CDATA[       Olá galera do Rails for Kids!  ]]>  </Content> </Module>
  • 25. <?xml version="1.0" encoding="UTF-8" ?> 4. XML <Module>   <ModulePrefs title="List Friends Example">     <Require feature="opensocial-0.8"/>   </ModulePrefs>   <Content type="html">   <![CDATA[     <script type="text/javascript">       /**        * Request the OWNER and OWNER's friends.        */       function request() {         var idspec = opensocial.newIdSpec({ "userId" : "OWNER", "groupId" : "FRIENDS" });         var req = opensocial.newDataRequest();         req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.OWNER), "get_owner");         req.add(req.newFetchPeopleRequest(idspec), "get_friends");         req.send(response);       };       /**        * Parses the response and generates html to list the names of the owner and        * his or her friends.        *        * @param {Object} dataResponse Friend information that was requested.        */       function response(dataResponse) {         var owner = dataResponse.get('get_owner').getData();         var friends = dataResponse.get('get_friends').getData();         var html = 'Friends of ' + owner.getDisplayName();         html += ':<br><ul>';         friends.each(function(person) {           html += '<li>' + person.getDisplayName() + '</li>';         });         html += '</ul>';         document.getElementById('message').innerHTML = html;       };       // Execute the request function when the application is finished loading.       gadgets.util.registerOnLoadHandler(request);     </script>     <div id="message"> </div>   ]]>   </Content> </Module>
  • 29. XML
  • 30. XML • +1000 linhas • Dificuldade em dividir o trabalho • Dificuldade no design • Conflitos no código
  • 33. Ruby on Rails Não era a resposta
  • 34. Framework Framework conceitual é um conjunto de conceitos usado para resolver um problema de um domínio