на каком языке написано приложение вконтакте

Разбираем приложение Vkontakte под Android. Часть 1, вводная

Видишь суслика? А он уже в облаке

Знакомый сказал, что Фейсбук выкачивает все фотографии из телефона без спроса, даже те, что в соцсеть никто не выкладывает. Мне стало интересно, что же делают соцсети. Начал с Вконтакте.

Итак, получаем apk из маркета: apps.evozi.com/apk-downloader
Dex2jar — получаем из apk нормальный jar файлик. Да, все xml нам не доступны, но логика-то написана на джаве. Кстати, манифест можно посмотреть из готового APK, до преобразования в jar.
Декомпилятор, например: jd.benow.ca

Первое, что бросается в глаза – папка Facebook:

на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

Второе – это названия переменных. Авторы приложения не используют минификацию (см developer.android.com/tools/help/proguard.html), которая идет по умолчанию в Android Studio. За что им большое спасибо, потрошить такое приложение гораздо проще.

Для сравнения, минифицированный код:

на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

Говорящие названия классов и переменных, правда? В исходном коде все нормально: github.com/KrenVpravo/CheckReaction

Вернемся к фейсбуку Вконтакте. За пределами папки Facebook это слово встречается только в классе SuggestionsImportedFragment. Будем надеяться, что авторы не путали классы специально, чтобы замести следы, и Вконтакте действительно ломится в Фейсбук только для того, чтобы предложить нам фейсбучные результаты поиска. Узнать правду не получится, единственный класс, который вызывается из Вконтакте – FacebookDialog. Он не декомпилируется.

на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

Далее интерес вызвал трекер от Mail.Ru. В открытом доступе такого не нашел.

на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

Похоже, трекер выполняет чисто отладочные функции.

Скачиванием картинок в приложении занимается около полсотни классов. Честно говоря, если держать эту заметку до того, как будет время разобраться к них – получится очередной долгострой долгопис.

На этом пока и остановимся. Позже, подумаю, как надо было реализовать отображение чата, чтобы в отсутствие интернета там показывался закешированный кусок, а не пустое окно с загрузкой.

Главные выводы
– приложение стоит поизучать. Тем более, что vk объявил награды за найденные уязвимости. Их мне искать лень, но возможно для этого код и оставили читабельным.
– соцсети обмениваются информацией, большой дядя все же за нами следит, чтобы советовать знакомых. Еще один повод не ставить все соцсети на телефон.

Источник

Разработка приложений в VK mini apps

Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникации с действительно большой аудиторией. Ниже расскажу, в чем идея VK mini apps, какие технологии использовать при разработке приложения и на что стоит обратить внимание.

на каком языке написано приложение вконтакте. au2v2d1ko6i5ifqn2lnydurcczg. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-au2v2d1ko6i5ifqn2lnydurcczg. картинка на каком языке написано приложение вконтакте. картинка au2v2d1ko6i5ifqn2lnydurcczg.

Платформа VK mini apps

«ВКонтакте» предоставляет сторонним разработчикам возможность писать веб-приложения и размещать их в каталоге приложений и/или продвигать внутри сети. Пользователям приложений не нужно скачивать отдельные нативные приложения из Google Play/App Store, функционал выбранного приложения доступен внутри пользовательской сессии основного приложения во «ВКонтакте» или через браузер, на сайте соцсети. В социальной сети есть подробная инструкция о том, как начать работу на платформе VK mini apps.

Инфраструктура приложения VK mini app

Приложение VK mini app представляет собой обычный веб-ресурс, располагаемый по определенному адресу. Его мы должны разместить в «Панели управления приложением» социальной сети.

«ВКонтакте» позволяет разместить три версии приложения:

Ваш веб-ресурс встраивается в приложение «ВКонтакте» через обычное WebView, при открытии с десктопа — через iFrame. Поэтому необходимо держать в уме, что часть функционала JavaScript может быть недоступна, необходимо тщательное тестирование.

После тестирования веб-приложения на разных устройствах его можно отправлять на модерацию, чтобы оно могло быть размещено в каталоге. Заявка на модерацию отправляется из «Панели управления приложением». Объявленный «ВКонтакте» срок модерации — 7 дней. Выкладки новых приложений (сервисов по терминологии «ВКонтакте») происходят раз в неделю по четвергам.

Есть подробная памятка о том, как создать правильное приложение. Рекомендую внимательно свериться с ней, прежде чем отдавать приложение на модерацию.

Разработка приложения VK mini app

Итак, приложение VK Mini Apps — это, по сути, обычное веб-приложение, которое встраивается в платформу посредством iFrame или WebView. Поэтому выбор технологий, на котором оно будет написано, за вами.

Однако для разработки фронтенда «ВКонтакте» рекомендует собственную библиотеку готовых компонентов VK UI, выполненную на React:

Это удобно — многие типовые компоненты уже готовы, осталось только встроить их в структуру вашей страницы или SPA.

Компоненты уже стилизованы согласно styleguide «ВКонтакте» — пользователю будет привычнее и удобнее работать с теми элементами управления и интерактивом, к которым он уже привык, находясь внутри социальной сети.

«ВКонтакте» не требует от разработчика следования какой бы то ни было жесткой архитектуре построения фронтенда — мы берем только то, что нужно, и модифицируем компоненты так, как нужно. Например, вы всегда сможете добавить глупому view-компоненту свой класс, свой обработчик событий, сделать вложенные компоненты любой глубины и так далее.
Существует достаточно подробная (правда, не совсем полная) документация по VKUI. Исходный код на GitHub: https://github.com/VKCOM/VKUI. Соответственно, максимально простая установка:

Обязательно нужно поставить следующий метатег в head верстки страницы вашего приложения, иначе на устройствах с iOS будет неправильно отображаться нативная навигация «ВКонтакте»:

Далее нам нужно просто встроить React-приложение на страницу.

Параметры открытия приложения

«ВКонтакте» сам добавляет параметры запуска к адресной строке, по которой открывается ваше приложение. Их список следующий: vk_user_id, vk_app_id, vk_are_notifications_enabled, vk_language, vk_ref, vk_access_token_settings, vk_group_id, vk_viewer_group_role, vk_platform, vk_is_favorite, sign. То есть фрейм с вашим приложением откроется примерно с похожим адресом: youvkapp.ru/?vk_access_token_settings=notify&vk_app_id=888888&vk_are_notifications_enabled=1&vk_is_app_user=1&vk_is_favorite=1&vk_language=ru&vk_platform=desktop_web&vk_ref=other&vk_user_id=111111&sign=fsdfsdgfgfiuoitu8345u34j

Это позволяет уже при старте приложения иметь достаточно полный набор данных, извлеченных из url, чтобы начать персональное взаимодействие с конкретным пользователем. Например, говорить с ним на одном языке — русском, английском или каком-то другом, либо попросить о включении своих уведомлений.

Дополнительные параметры в этот список «ВКонтакте» на ноябрь 2019 года включать не планирует. Однако в url можно передать произвольный хэш, например: youvkapp.ru#custom_param

Роутинг

Если в приложении больше одного экрана (я думаю, это как раз ваш случай), нужен переход между экранами. За показ того или иного экрана отвечает state нашего React-приложения. Что касается организации View, то «ВКонтакте» предлагает два способа: смена активного компонента VKUI View и VKUI Panel.

Каждый View отвечает за свой пользовательский сценарий: основной, дополнительный, вызов справочников, страницы поиска и другие. Внутри View содержится свой набор Panel — это конкретные шаги (экраны) в пользовательском сценарии. Абстрактно это выглядит так:

В state в activePanel мы прописываем id того элемента, который нужно показать.

Верстка и компоненты

Теперь можно посмотреть типичную страницу внутри Panel, созданную с помощью компонентов VK UI.

Библиотека VK UI предоставляет практически полный набор компонентов, необходимых для построения интерактивного приложения: всевозможные элементы форм, попапы, стилизованные алерты, галереи, панели навигации, спиннеры, аватары, футеры и так далее.

Как видно, появился ещё один пакет vkontakte:

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

Основное правило — правильно использовать компонент либо собственную верстку шапки. В правой части шапки нативное приложение «ВКонтакте» размещает кнопки управления.

на каком языке написано приложение вконтакте. gecc oj3rinrnjov7k ddrsm3h0. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-gecc oj3rinrnjov7k ddrsm3h0. картинка на каком языке написано приложение вконтакте. картинка gecc oj3rinrnjov7k ddrsm3h0.

Стоит обратить внимание: «ВКонтакте» заявляет, что компоненты могут отображаться на десктопах не совсем адекватно. Однако их можно стилизовать, добавляя свои css-правила. Например, так была стилизована анимация переходов между панелями в одном приложении:

Эти стили подключаются в общем потоке стилей, подключаемых к вашему приложению.

Библиотека VK Connect

Библиотека VK Connect предоставляет доступ к широким возможностям как самой сети «ВКонтакте», так и к возможностям устройства, если мы работаем из-под мобильного приложения. Для ее подключения нужно установить пакет vkontakte/vk-connect: npm i —save-dev vkontakte/vk-connect.

Среди многочисленных возможностей VK Connect — сканирование QR-кода, получение геопозиции, вызов карточки контактов. Также есть широкие возможности по использованию возможностей соцсети: включение-выключение уведомлений, публикация записей на стене, авторизация сообщества, подписка на сообщения. Их нужно использовать с умом: например, существует ограничение на количество уведомлений — не более одного в сутки. Есть отдельные рекомендации по уведомлениям. Полный список возможностей представлен в документации.

Чтобы наше приложение вообще начало работу, нужно сначала выполнить инициализацию:

Все дальнейшее взаимодействие с библиотекой происходит похожим образом. Методом connect.send вызываем нужное действие и слушаем ответы. Для этого мы должны подписаться на события:

В объекте detail возвращается type — название типа события, ответ на которое мы ждем, и data — набор данных. В примере выше мы слушаем ответ на запрос connect.send(«VKWebAppGetUserInfo», <>), который должен вернуть данные о пользователе приложения: имя, пол, дату рождения, место проживания, ссылку на картинку аватара в соцсети.

«ВКонтакте» не гарантирует поддержку всех событий на всех устройствах (iOS, Android, Web), поэтому лучше делать проверку такой поддержки перед исполнением кода:

VK Connect также обеспечивает поддержку запросов к API VK, если нужно что-то большее, чем может предоставить сама библиотека VK Connect:

VK Pay

VK Pay — это, по сути, удобный фронтенд для использования онлайн-сервиса оплаты с помощью Деньги Mail.Ru. Для вызова платежной формы достаточно открыть платежное окно с помощью вызова в библиотеке VK Connect:

Таким образом, можно продавать ваши услуги и товары, используя внутреннее платежное средство в сети «ВКонтакте». Подробнее в официальной документации.

Источник

На каком языке написано приложение вконтакте

на каком языке написано приложение вконтакте. F7k15eYHPCJcjZcwhyoz6 bb2UJyOaghvPo9DpMfBgxfCxapG5Sl9uq0eHy2FdfebFgMMM5zQfj VSHG y7pqJfz. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-F7k15eYHPCJcjZcwhyoz6 bb2UJyOaghvPo9DpMfBgxfCxapG5Sl9uq0eHy2FdfebFgMMM5zQfj VSHG y7pqJfz. картинка на каком языке написано приложение вконтакте. картинка F7k15eYHPCJcjZcwhyoz6 bb2UJyOaghvPo9DpMfBgxfCxapG5Sl9uq0eHy2FdfebFgMMM5zQfj VSHG y7pqJfz.

Как создать приложение в контакте

1. Установить среду для разработки приложений.
Можно использовать Adobe Flash или Flex Builder.

Я использую Adobe Flash CS4. Это последняя версия флеша, позволяет писать приложения с использованием Action Script 3.
Можно попробовать найти и скачать в интернете или купить в магазине диск.

2. Изучить ActionScript.
Некоторые до сих пор программируют на ActionScript 2, но я считаю, что пора переходить на ActionScript 3. Но возможно его изучение окажется сложнее.

Если вы не знакомы ни с одним языком программирования, то возможно вам будет очень сложно понять эту книгу. Вам может понадобиться немало времени чтобы понять принципы программирования и написать своё первое приложение.

Будьте готовы к тому, что вам придётся потратить не один день, чтобы понять, как писать приложения.

Но уже в процессе изучения языка ActionScript, вы сможете создавать простые приложения, не использующие ВКонтакте API. Если вы захотите, то сможете загрузить их на сайт вконтакте, но такие приложения не будут одобрены.

После того как вы изучите ActionScript, понять как использовать ВКонтакте API, будет уже не сложно, и вы сможете использовать ВКонтакте API в своих приложениях.

Если вы захотите создавать приложения использующие свой сервер, тогда вам придется изучить серверный язык программирования, например PHP.

Если вы начинающий во флеш программировании, то прочтите ещё и это topic47.html

Если в процессе изучения у вас будут возникать вопросы, то вы можете поискать на них ответы в интернете или спросить на этом форуме. Но прежде чем задавать свой вопрос на этом форуме, прочтите для чего этот форум topic1.html

Без знаний не получится сразу начать создавать хорошие приложения.

Источник

Обзор официального приложения ВКонтакте для Android

Вышло официальное приложение Вконтакте для Android. Официальная группа приложения в социальной сети: vk.com/android_app. Запросить установку в web-версии Android Market можно по ссылке: market.android.com/details?id=com.vkontakte.android.

Иконка приложения сделана достаточно опрятно и не броско. По открытии приложения первым, как и в приложении от Facebook, мы увидим ленту новостей. В глаза сразу же бельмом бросается нижняя панель меню в стиле приложений для iOS. Видимо, официальные рекомендации Google по стилю приложений ВКонтакте были проигнорированы. Что ж, большой минус за незнание особенностей платформы.

на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader. на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

В следующем пункте обнаруживается «Стена». С иконкой «домик». Саечка за отсутствие логики в дизайне. На странице стены, на самом её верху — имя, фамилия и фотография профиля. Не совсем понятно что они там делают вкупе со строчкой статуса: остаётся впечатление, что ценное место потрачено зря.

на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

В следующей вкладке — сообщения, отражённые в режиме диалога. Что куда более удобно, чем если бы выводился список всех последних сообщений подряд. (После бурной переписки с одним человеком — листать до старых пришлось бы вечность.) А вот сам диалог выстроен, опять же, с полным игнорированием рекомендаций по дизайну. Это в iOS принято использовать «баблы», в Android (что можно увидеть на примере дизайна страницы SMS-переписки) же используется сплошная «стена» текста и разделением сплошной линией. Никаких таймстампов рядом с сообщениями не обнаружено: ни даты, ни времени. За что можно поставить ещё один жирный минус.

на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

Далее следует окно «Места». Здесь расположена карта Google с отметкой вашего местоположения и местоположение других пользователей (совсем не из вашего списка друзей, а вообще со всего сайта), которые захотели его зафиксировать. Нажав «Отметиться» вы, как ни странно, не сможете отметить своё точное местоположение, а попадёте в список заведений вокруг (в моём случае доминировали кафе и рестораны) и «плясать» сможете только от такой точки.

на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

Последняя вкладка — список ваших друзей. В нём можно сделать поиск по, собственно, списку друзей. Произвести просто поиск людей по сайту с целью добавить в друзья или просмотреть профили здесь невозможно, что тоже огромный минус. Нажатие на строчу с именем и фамилией искомого друга выведет вас на его стену.

на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

Количество настроек богатством не потрясает, прямо сказать. Доступно ровно три настройки. Можно загружать или не загружать картинки; можно выбрать метод сортировки списка друзей: по имени, по фамилии и по популярности (думаю, нормальный людей интересует первые два пункта, а по-умолчанию выбран третий); и, наконец, отображение кнопки «Назад» (один-в-один как на iOS), что также с головой выдаёт незнание принципов дизайна приложений под платформу Google Android, аппараты под управлением которой всегда содержат «железную» кнопку «Назад».

на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

С главной страницы можно написать сообщение на свою стену для трансляции в ленту новостей друзей. Доступно прикрепление изображения из каталога изображений телефона
на каком языке написано приложение вконтакте. image loader. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-image loader. картинка на каком языке написано приложение вконтакте. картинка image loader.

Источник

На каком языке пишут приложения для Android: подробный обзор

на каком языке написано приложение вконтакте. unnamed%20%281%29.45467ebd5816b20533952e385bb3dd0e. на каком языке написано приложение вконтакте фото. на каком языке написано приложение вконтакте-unnamed%20%281%29.45467ebd5816b20533952e385bb3dd0e. картинка на каком языке написано приложение вконтакте. картинка unnamed%20%281%29.45467ebd5816b20533952e385bb3dd0e.

На каком языке пишут приложения для Android?

Итак, давайте выясним, на каком еще языке пишут приложения для Android

Kotlin. Этот язык пришел «сместить» Java с пьедестала лидера. Пока что Kotlin — это новый официальный язык для Андроид-приложений. Он медленно, но верно набирает популярность за счет своей лаконичности и легкости, если сравнивать его с Java.

Kotlin и Java — это базовые языки для Андроид-приложений. Если вы планируете изучать язык с нуля, чтобы создавать приложения для этой ОС, то нужно выбрать именно из этих двух. Ниже мы перечислим языки, на которых пишутся приложения для Android, притом что для этого они используются крайне редко. Ими можно воспользоваться, если вы уже владеете одним из них и хотели бы немного изменить свое амплуа в программировании.

Альтернативные языки, на которых еще пишут приложения для Android

Lua. Данный язык имеет собственную платформу для разработки кроссплатформенных приложений — Corona SDK. В основном на этой платформе разрабатывают игры для мобильных телефонов, которые работают и на операционной системе Андроид.

Заключение

Теперь вы знаете, на чем пишутся приложения на Android, при этом на каком языке писать вам — выбрать не так сложно. Например, если вы не знаете ни одного языка программирования, то можно выбрать из базовых инструментов: Java или Kotlin. Если же вы владеете уже каким-либо языком, то нужно посмотреть возможности создания приложений для Андроид а именно на вашем языке.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *