VK’s application development platform is pretty similar to the one from Facebook. The terminology is different in some parts, for example, pages are called communities, but otherwise it follows the same pattern.

All together, there are three types of applications:
1. Games and apps on VK
2. Mobile/standalone apps
3. Widgets and authorization

VK

Games and apps

Games and apps are pretty much equivalent to Facebook’s canvas and tab applications. In these apps, there are two options: Flash or IFrame. In the settings, it’s possible to upload an SWF-file for Flash app or add a page URL for IFrame app. Also IFrame size needs to be determined but it can be changed later straight in the code through the API. The biggest difference compared to Facebook tab application is that there is no possibility to likegate. However, you can add some IFrame widgets in the app that will encourage users to follow or like the community.

Widgets and authorization

VK offers variety of widgets, which can be used in the external websites. Available widgets are comments, communities, like, recommendations, polls, link posting, subscribing and authorization. For authorization it’s also possible to use two other authorization options: authorization based on OAuth 2.0, which is primarily for server-side authorization and authorization via Open API, which uses JavaScript library. This can be used if there is a need to call API methods from both the server and client side.

Standalone and mobile apps

Apps outside the VK can also access the API and use most of the data and functions available on the VK platform. The platform offers JavaScript SDK and Flash SDK as tools for the communication with the API. In addition, the platform has SDKs for Android and iOS.

Platform rules and documentation

There are some things in the platform rules that should be taken into consideration when developing apps on VK. What differs most from the FB apps is that it’s prohibited to request any personal data from users. This includes email, password, phone number, address etc. However, installation of the app can be made mandatory and when installing the app, VK returns some data of the user. You can get the user ID through it and then make API request to get the user’s data. This data can include for example user’s name, sex, city, country and birthday, but only if the user has made them public. The rest of the platform rules can be found here.

VK’s developer site is located at vk.com/dev. There you can, among other things, create applications and read documentation. Platform’s documentation is available in English and it’s surprisingly good. If not taking into account that it’s quite unorganized and some of the info is available only in Russian. I strongly recommend to bookmark the page where you have found useful information because it may be hard to come across again.