Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > VitaliyKrivtsov

Оценить эту запись

Обновление as3vkontaktelib до версии .-90

Запись от VitaliyKrivtsov размещена 13.08.2011 в 23:34
Обновил(-а) VitaliyKrivtsov 14.08.2011 в 20:40

В текущем обновлении интерфейс взаимодействия изменился до неузнаваемости. Вместо одного класса APIConnection было решено ввести три класса: VkontakteService, VkontakteSession и VkontakteProxy.
  • VkontakteService является самым главным классом библиотеки. Это старый APIConnection, но без параметров сессии.
  • VkontakteProxy - является посредником между контейнером и приложением.
  • VkontakteSession - хранилище параметров сессии.
Приложение может быть запущено в контейнере, i-frame и через посредник.
Так же добавлен класс VkontakteFileUploader для загрузки файлов на сервер ВКонтакте. Это фотографии в альбом, на стену, в профиль, документы, видео. Привожу ссылку на тестовое приложение http://vk.com/app2275917. Приложение загружает на сервер фото и постит на стену. Исходники приложение в архиве с библиотекой, который можно скачать со страницы библиотеки.

Документация по подключению библиотеки в группе. Группа доступна по короткому адресу www.vk.com/as3vklib.

Замечания по оптимизации, о багах или предложениях пишите здесь в комментариях, в группе ВКонтакте или мне в личные сообщения.
Всего комментариев 14

Комментарии

Старый 16.08.2011 00:24 dimarik вне форума
dimarik
 
Аватар для dimarik
Сырцов в svn нихт?

Что это за тошниловка?
Цитата:
private var dictionary: Dictionary/* of URLLoader */;
Обновил(-а) dimarik 16.08.2011 в 00:28
Старый 16.08.2011 08:00 cleptoman вне форума
cleptoman
 
Аватар для cleptoman
это типизированный словарь.)
Старый 16.08.2011 10:13 dimarik вне форума
dimarik
 
Аватар для dimarik
А зачем он вообще там нужен?
Старый 16.08.2011 10:16 cleptoman вне форума
cleptoman
 
Аватар для cleptoman
ну, я не смотрел что там вконтактовцы навытворяли, но в моей личной реализации массив с урллоадерами для создания очереди. ключ - лоадер, значение - не помню чего, но очень нужное.)
Старый 16.08.2011 16:11 VitaliyKrivtsov вне форума
VitaliyKrivtsov
 
Аватар для VitaliyKrivtsov
dimarik,
Сейчас принял такой вид:
Код AS3:
private var dictionary:Dictionary/* of VkontakteRequest */;
В моей реализации нужна связка с колбеками на случай если в VkontakteService.call( ) передан onComplete или onError или первое и второе.
Были замечания по поводу размеров нужного кода для реализации одного вызова.
Например, ранее нужно было для вызова писать такой кусок кода:
Код AS3:
var service:VkontakteService = VkontakteService.getInstance( );
var variables:URLVariables = Wall.get( "139429598", 0, 25 );
var request:VkontakteRequest = new VkontakteRequest( variables, VkontakteServiceDataFormat.XML);
request.addEventListener( VkontakteResponseEvent.RESPONSE, request_responseHandler );
request.addEventListener( VkontakteErrorEvent.ERROR, request_errorHandler );
service.call( request );
 
private function request_errorHandler( event:VkontakteErrorEvent ):void 
{
      trace( event.row );			
}
 
private function request_responseHandler( event:VkontakteResponseEvent ):void 
{	
      trace( event.row );		
}
Сейчас же поменьше:
Код AS3:
var service:VkontakteService = VkontakteService.getInstance( );
var variables:URLVariables = Wall.get( "139429598", 0, 25 );
service.call( variables, responseHandler, errorHandler );
 
private function errorHandler( event:VkontakteErrorEvent ):void 
{
      trace( event.row );			
}
 
private function responseHandler( event:VkontakteResponseEvent ):void 
{	
      trace( event.row );		
}
Старый 19.08.2011 19:04 mayakwd вне форума
mayakwd
 
Аватар для mayakwd
используйте svn.
Старый 20.08.2011 11:45 Котяра вне форума
Котяра
 
Аватар для Котяра
а лучше гит иль hg
Старый 21.08.2011 19:09 expl вне форума
expl
http://gaperton.livejournal.com/58092.html
Тут еще говорят, что bazar попроще git.
Достоверность не проверял и вообще bazar не щупал,
но что с git надо сначала серьезно помучаться - это правда.
Старый 22.08.2011 16:59 Хемуль вне форума
Хемуль
 
Аватар для Хемуль
2 VitaliyKrivtsov:
Здравствуйте.
Всегда как-то было лениво писать свою библиотеку для VK API самому. Искал ссылки на что-то, что поддерживается и развивается, но как-то ничего не приглянулось и пока никто из знакомых ничего не посоветовал из личного опыта. Хочу попробовать вашу библиотеку. Единственно что, я сейчас хочу написать некоторое приложение на Flex. Подключил библиотеку к проекту, пробежался глазами. Оказалось, VkontakteSession использует Console, которая рисуется с использованием vk.gui.SquareButton. То есть, получается, что есть некоторая библиотека для общения с каким-то сервисом, которая не только обменивается с ним данными, но ещё и что-то рисует своими методами. Может стоит разделить это дело? Если я пишу под Flex, то у меня там много всякой всячины для рисования окошек и разных визуальных няшечек, а тут я получаю консоль, которая выбивается из общей идеи Flex'а с его всякими компонентами и скинами.

Я понимаю, что многие не любят Flex - это штука со своими плюсами и минусами. Но если хочется сделать библиотеку, которая может работать в любых Flash-приложениях и при этом будет нормально восприниматься разработчиками, лучше консоль унести куда-то наружу.
Обновил(-а) Хемуль 22.08.2011 в 17:40
Старый 22.08.2011 17:52 VitaliyKrivtsov вне форума
VitaliyKrivtsov
 
Аватар для VitaliyKrivtsov
2 Хемуль:
Console просто выводит информацию в трейс или на экран. Просто вспомагательная утилита, ни как не связанная с библиотекой. Закомментировать строчки, где используется класс и ни каких проблем.

Кстати, а почему закомментирован сеттер apiUrl в VkontakteSession? Насколько помнится, VKontakte передаёт FlashVars-переменную api_url с ссылкой на скрипт API. Может логично было бы его оттуда и забирать?
Вы сами поняли, что написали?

VKontakte передаёт FlashVars-переменную api_url с ссылкой на скрипт API.
В api_url передается значение api.vkontakte.ru/api.php , если запущено с vkontakte.ru и api.vk.com/api.php , если с vk.com, api_url достается из FlashVars.
Код AS3:
if ( parameters.api_url )
      _apiUrl = parameters.api_url;
Старый 22.08.2011 18:51 Хемуль вне форума
Хемуль
 
Аватар для Хемуль
2 VitaliyKrivtsov:
Да, понял. Я потом нашёл этот момент в коде. Потому и отредактировал своё сообщение за 12 минут до вашего ответа. ^_^

Что касается Console, то в принципе из названия-то понятно, что оно делает, но реально ходить по коду и удалять все упоминания как-то не кошерно. То есть, реально ни одна библиотека, которая работает с данными, не берёт на себя вывод чего-то на экран. Она может кидать ошибки, запускать события, выполнять коллбеки... Но это так, совет. Просто ваше начинание хорошее и похвальное, но мелочи могут оттолкнуть многих людей.

Кстати, почему выбрали название row для одного из параметров VkontakteResponseEvent?
Старый 22.08.2011 21:27 VitaliyKrivtsov вне форума
VitaliyKrivtsov
 
Аватар для VitaliyKrivtsov
2 Хемуль:
Что касается Console, то в принципе из названия-то понятно, что оно делает, но реально ходить по коду и удалять все упоминания как-то не кошерно. То есть, реально ни одна библиотека, которая работает с данными, не берёт на себя вывод чего-то на экран.

ОК, я по убираю все Console.log() из библиотеки Для этого, кстати, я в большинстве случаев добавлял this в log, что бы можно было зачистить. Ранее не знал о существовании Vizzy Flash Tracer, по этому написал этот класс.
Старый 22.08.2011 23:44 Котяра вне форума
Котяра
 
Аватар для Котяра
Цитата:
Тут еще говорят, что bazar попроще git.
Достоверность не проверял и вообще bazar не щупал,
но что с git надо сначала серьезно помучаться - это правда.
Простота - хуже воровства. В статье пишут, мол ставьте QBazaar и не ломайте голову консолью. То же самое могу сказать про TortoiseGit и/или TortoseHG
Ничего сложного. И очень похоже на TortoiseSVN

Цитата из статьи:
Цитата:
PS: И последнее. Если вы вдруг пользуетесь IDEA, или другой средой разработки от JetBrains, совместимой по плагинам - поставьте базааровский плагин. Он совершенно волшебен. Простая вещь - вы можете в среде переколбасить имена файлов и директорий как угодно, вместе с переколбасом контента файлов, и все будет гарантировано в порядке. История не потеряется. Ведь в bazaar, в отличии от, директория является первоклассным объектом, и отслеживается так же, как и файл.
Под клипсами в FB сабклипс (почти), гит и меркуриал (точно) плагины делают то же самое. Рефакторинг всё запоминает. Хотя коммиты и мержи бранчей я делаю всё же в черепашке (мне там привычнее)
В 4 ФД тоже более-менее нормально с этим.
Обновил(-а) Котяра 23.08.2011 в 00:13
Старый 24.08.2011 22:24 expl вне форума
expl
Какая красочная статья про bazar, однако.
Ладно, оставим bazar в покое, но с git начинать я бы все равно не посоветовал по опыту (шаг вправо-влево - и пошло гугление). Хотя пользоваться чем-то кроме консоли так и не научился - слишком стремно, в консоли хоть понятно что делаешь (кроме утилит мержинга и просмотра изменений конечно - vim по умолчанию - это до жути сурово).
 

 


Часовой пояс GMT +4, время: 20:34.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.