Friends, we invite you to participate in our contest “Apps4Bitrix”: place your applications in the Marketplace catalog, and get Android smartphones for this - HTC Desire S.
More details:Any web developer on the 1C-Bitrix platform can take part in the competition. To do this, you need to place a new solution (application, module, sample site) in our Marketplace
catalog .
The collection of applications will be held throughout September, in October - the definition of finalists. Until October, a public vote will be held on
the Marketplace
website . In the finals of the competition will be 20 decisions of participants, who collected the maximum number of votes.
')
The expert commission will select 5 winners out of 20 finalists - the determination will be made with the help of a special expert council, which will also include the most authoritative and experienced partners of 1C-Bitrix. A full list of the composition of the board will be published after the completion of the collection of applications on the Marketplace website.
As a result, the authors of the five best solutions will receive HTC Desire S smartphones and diplomas, and we will additionally post information about the best solutions on the company's website and in other media.

Interesting? See the
special page with the terms of the promotion, the stages of the competition, and more detailed information.
PS: and specially for the Habr audience, we have prepared tips for developing from Anton Dolganin, our MVP:
What is the Marketplace
Marketplace is a platform where any developer can lay out his or her solution for free or paid access and get ample opportunities to grow their business and become oneself as a professional studio or individual developer (freelancer).
You can very easily imagine the reach of the potential audience - the 1C-Bitrix partner network has more than 6,000 partners, and the number of completed projects is over 50,000.
Moreover, if you release a sought-after solution, intelligently think about its cost, the cost of support / implementation, you can get an impressive income item. If your solutions are convenient and really useful, many of a large number of clients will turn to you for expanding their projects.
One should not overlook the fact that 1C-Bitrix has been a confident leader in the web development market for quite a long time, and the Marketplace direction is new enough to allow you to take confident positions in this new field. This is a great way to distinguish yourself by working efficiently and professionally.Below are some tips based on my own experience.
IdeaTry to always think globally. Almost every non-standard task can be developed to a global level, the solution of which is useful not only to you. Thus, you do mass development at the expense of a specific task, and therefore at the expense of a specific client.
Do not be lazyDo not be lazy to collect some, even a very small solution in the form of an end module. Keep handy blanks, snippets, templates - in general, all that very quickly allows you to create an assembly.
Gain experienceThe development of its solutions should begin when it comes to feeling the fish in the water in the developed environment. Also, first you need to understand how the product functions in general, what is its ideology. How long will the car engine, tuned student avtotehnikuma? Naturally, it is implied that the developer is the same fish in water in the medium of the Web as a whole.
Design tips
Public Interface:If the solution has visual interfaces, make sure they are pleasant and understandable. If you, for example, do not know how convenient it is to design a web form, then contact a professional. Do not forget that your CSS styles can be overridden by accident, take care of the prefixes. And at the same time, they should be easily redefined by third-party developers (ideally, if using a regular client).
Administrative Interface:Never in any case invent visual structures that are not found in the standard delivery of the product. Do not forget that the company 1C-Bitrix produces documentation, courses that teach new users of the system, many of whom sometimes are not even confident Internet users. And your new interfaces will simply confuse them. The same about the color scheme. The same is true about the administrative tools in the public section.
Architecture databaseIf your solution requires creating your own tables, do not forget to test them on large amounts of information.
Interaction with other modulesIf the solution interacts with other modules of the system, then this happens through event handlers. It is important to know which handlers when called. With the wrong architecture of such interaction, it can happen that heavy code is executed on every hit. Correctly handle errors if a particular module is missing from the client.
Site Formats and ConstantsEach public site has its own time formats, some constants. It is important to know and use them for their intended purpose, and remember that, for example, the time format on the Russian-language website is dd.mm.yyyy, and in English-language it is mm / dd / yyyy, and such a construction is already prohibited: date ('dmY');
Speed performanceAlways try to optimize the running time and the number of requests. If you decide to call a method in a loop, first make sure that it does not generate queries to the database, and is fast enough by itself.
From general to specificInitially, make your decision as general as possible for a large circle of clients. Do not strive to drag each new customer into a module, think globally: “do you need someone else besides this customer and a couple more?”. And if the answer is “no”, then approach from the position that the module is not yours and you cannot get into its insides, but only use events by writing your own handlers. But if some events are not enough, then contact the developer, that is, to yourself, with a request to add :)
Best the enemy of the goodDo not immediately strive to make perfect. Start the first working version and finish it later. Do not forget that exactly at this moment someone else can sit and do the same thing as you. But also in a hurry is not worth it.
Minimizing Fatal ErrorsRemember that Bitrix is a commercial product, and most of the sites developed on it are somehow tied to the client’s business. And a fatal error (for example, the leakage of user data) can kill his entire business. The same with the issue of security - no one is insured, but you need to know basic things.
Coding styleBetter style code as close as possible to the style of the product itself. This will help third-party developers to better understand your solution, if necessary, and increase the popularity of your solutions.
TestingNever be lazy to test. Download updates first in beta, test them on your machines, then in non-standard situations, and then release them. If you are not sure - let the update hang in the beta, you should not hurry. If the test revealed an error, do not just upload the fix with the changes, but check everything again. Remember that while you were experimenting with beta, this beta could already have been downloaded and installed, and, accordingly, new updates should already take into account the released update. But, for special cases, there are also alpha updates available only on your key.
PaymentEveryone wants his work to pay off, but sometimes you need to buy advertising. So maybe development, which did not take a lot of time, to do free? If they are of high quality and in demand, it will surely give an influx of clients to you as a developer.
It is important not to forget that any, even insignificant cost, imposes on you the responsibility for supporting this module and correcting errors. While fixing errors in free solutions you can postpone for a period of time.
The main thing is to find a compromise between the number of paid and free solutions - to make some expensive enough for their purchases to pay for technical support and the development of modules, and some for advertising. Do not forget that the market of end users of the sites has not yet been fully formed, and it may seem like a savagery to the user to pay for “a few buttons”.
Customer supportRemember a few simple rules:
- the client is always right :)
- for some (perhaps most) of the clients, you and your module seem to be one with the whole Bitrix company, or at least very closely related; accordingly, your development and support level is projected onto the entire company.
- if the client meticulously sends a bug-report, then the error really takes place (but perhaps the error is just in the client's head, that is, it seems to him); always keep on hand the demo version of the system (meaning the default version), and test installation of your module to simulate the situation.
That's all, we hope, tips will help you understand the main points related to the
development of marketplace solutions, and - we invite you to
participate , good luck!