Создаем Silverlight-приложение для сети Мой Мир@Mail.Ru

    image Как известно, наиболее популярные социальные сети в мире позволяют писать под себя специальные приложения. Одним из ярких примеров является Facebook, у которых есть своя разметка, доступ к данным и так далее. Мне было интересно написать сетевое прилоложение на Silverlight, и для Facebook для этого специальные проекты – например, Facebook Toolkit и Facebook.NET.

    Среди российских сетей приложения позволяют писать ВКонтакте и Мой Мир, правда первый требует использования только Flash и все. Мой Мир же более дружественный – поддерживает обычный HTML, а значит и Silverlight. Собственно с ним я и решил экспериментировать.

    На самом деле все просто – после регистрации в сервисе находим в меню “Мои приложения”, нажимаем на “Разработку приложений” и узнаем, как все это можно делать. Мой Мир поддерживает OpenSocial, так что мы можем программно получать информацию о нас самих, наших друзьях в сети и так далее.

    При создании нового приложения нужно указать его имя, описание, выбрать картинку. После этого можно переходить к коду. В случае использования Silverlight код представляет собой просто объект <object>, который ссылается на соотествующий XAP-файл приложения в сети.

    В качестве эксперимента я вставлял видео с Channel9 (код показывается по кнопке embed), твиттер-гаджет Silverster и gamertag для приставки XBox – XBox Friends Watch. Пример вставки двух последних можно найти на главной странице моего блога.

    Я не стал создавать специальное Silverlight-приложение для работы с OpenSocial – хотя было бы интересно сделать визуализатор социальных связей или что-то в таком духе. Для проверки работы я просто над Silverlight-объектом в HTML вставляю текущее имя пользователя через вызов соответствующего метода.

    Вот как выглядит код приложения для твиттера (не забудьте указать свои данные):
    1. <?xml version="1.0" encoding="windows-1251" ?>
    2. <Module>
    3.  <ModulePrefs title="test - Twitter" description="Отображает свой твиттер через гаджет Silverster"
    4. height="451" thumbnail="http://content.foto.mail.ru/mail/mixen/_myapps/i-7.jpg"
    5. author="YourName" author_email="YourMail@mail.ru">
    6.   <Require feature="opensocial-0.7" />
    7.  </ModulePrefs>
    8. <Content type="html" view="profile"><![CDATA[
    9. <html>
    10.  <head>
    11.   <meta http-equiv=content-type content="text/html; charset=windows-1251">
    12.  
    13.  </head>
    14.  <body>
    15. <b><div id="myname" style="font-family: Arial, Helvetica, sans-serif;"></div></b>
    16. <object data="data:application/x-silverlight,"
    17. type="application/x-silverlight-2"
    18. width="100%" height="100%">
    19. <param name="source" value="http://www.silverlightshow.net/twitter/ClientBin/Silvester.xap"/>
    20. <param name="enableHtmlAccess" value="true" />
    21. <param name="onerror" value="onSilverlightError" />
    22. <param name="background" value="white" />
    23. <param name="initParams" value="twitterUser=mixen" />
    24.  <a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;">
    25.   <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
    26.  </a>
    27. </object>
    28.  
    29. <script type="text/javascript">
    30. var req = opensocial.newDataRequest();
    31. req.add(req.newFetchPersonRequest('VIEWER'), 'viewer');
    32. req.send(load);
    33.  
    34. function load(dataResponse)
    35. {
    36. var viewer = dataResponse.get("viewer").getData();
    37. document.getElementById('myname').innerHTML = viewer.getDisplayName();
    38. }
    39.  
    40. </script>
    41.  </body>
    42. </html>
    43. ]]></Content>
    44.  
    45. </Module>
    * This source code was highlighted with Source Code Highlighter.

    Может кто сделает какое-то действительно интересное социальное приложение, которое можно будет опубликовать в каталоге и сделать популярным среди пользователей? Все оказалось действительно просто.

    Комментарии 9

      0
      спасибо! как раз есть тема, где это применить можно!
        0
        А именно?
          0
          пока не уточнены все условия, не могу сказать, просто проект на силверлайте, куда хорошо бы прицепить социальные возможности.
        0
        На хабре бы такое :)
          0
          Платформа для приложений?
            0
            Я в веб технологиях никакой, поэтому если что-то не так скажу, делайте скидку на это.
            Насколько я понимаю, платформа приложений это просто возможность загрузки / выполнения сторонних скриптов / приложений? Или я что-то не так понимаю. Если можно, дайте несколько ссылочек for dummy по этой теме.
            Было бы интересно кастомизировать свой профиль на хабре :)
              0
              На Хабре нет своей платформы приложений
                0
                А вообще это сложно сделать? Может в статью какую-нить ткнете?
                  0
                  К сожалению, сам движок хабра не позволит.
                  Он не отдаёт просто так данные — только в виде сгенерированного HTML, который можно только распарсить.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое