TwinSlash focus includes development of complex products such as management systems, automated online services, high-load products, CRM and CMS systems, mobile applications, and much more. In the end, 138 completed projects shouldn’t leave any doubt.
But let's dwell in more detail on what Ruby on Rails is and how this technology compares favorably with the rest.
Ruby on Rails is one of the most famous open-source frameworks used for a wide variety of projects. Most often, this framework is used to create websites and web applications, and the scale and complexity of these do not matter. Regardless of which segment your business belongs to, whether you need a login form or not, as well as such things as the user's personal profile and a large amount of active data - Ruby on Rails will cope with any task.
Of course, there are a large number of programming languages and even more frameworks. But TwinSlash chose Ruby on Rails as their main focus for a reason. This framework has a number of advantages, which we will discuss below.
Speaking about how this framework differs from the rest, several key points should be highlighted:
Despite the fact that Ruby on Rail is multi-functional and universal, in the development world this framework is strongly associated with startups. This is because RoR allows you to complete the development process faster. Some say that, on average, the development speed is 30-40% higher. These figures are not supported by anything since the speed of the development process's completion depends on too many factors. However, it's hard to disagree with the fact that Ruby on Rails is faster. That is because this framework has a large number of plug-ins and modules, which allows developers to reduce the time for writing code and use more ready-made solutions.
There is a lot of controversy about Ruby on Rails scalability, but experts sure that this framework really outperforms many others in this matter.
In terms of security, around the period of 2012-2013, this development environment faced a lot of security issues. In view of this, the community came to the conclusion that much attention should be paid to this question, and now the security audit of Ruby on Rails is carried out annually. In their pursuit, framework fans have turned RoR into one of the safest development environments in the world.
We have already said that Crystal was originally written in Ruby, that's why their structure and syntax are quite close to each other. While Crystal works better for some cases in terms of compile time checks and performance of a project, we combine microservices written in Ruby with those based on Crystal if the project might benefit from that.
Due to the fact that this framework is free, open-source, and universal, it has a very large and friendly community. More than 318,000 questions on StackOverflow and more than 77,000 commits on GitHub - you will always get support and consulting.
Speaking about the versatility of RoR, one should not begin to perceive this framework as a website builder with a set of popular modules. No, everything is much deeper, and Ruby on Rails allows you to carry out truly custom software development, focused on a narrow and specific audience. This is achieved not only due to the wide variety of solutions but also to the fact that the framework itself is very agile and can be customized to the needs of any company or person.
One of the reasons why Ruby on Rails is a great choice for web development is powerful and fast prototyping. This is a key feature for startups and young enterprises, as they can quickly create a working prototype (for example, for showing to investors or first adopters) and continue to work on the product.
Using Ruby on Rails you do not limit yourself. You can create anything you like, be it web applications, the e-commerce segment, dynamic websites, and more. As examples of popular sites created on RoR, you can check GitHub and Twitch.
The extensive community and versatility make this framework one of the most popular choices for web development.
Mobile development on Ruby on Rails is a delicate moment. On the one hand, this framework allows you to develop an excellent back-end part of a mobile application. As for work on the front-end, it is better to use more applicable and specialized solutions, such as React Native.
However, the RubyMotion IDE was created specifically to develop cross-platform native applications on iOS, Android, and OS X. And in this situation, this will be the best choice, since RubyMotion is also written in Ruby (as well as Java and Objective C). RubyMotion also has testing and debugging tools, which make it the best option for Ruby developers.
It's time to tell more about our personal experience in Ruby on Rails development. As we mentioned above, over the years of work, we have managed to complete and launch more than 138 projects. We will talk about some of them and our experience as a whole below.
Above, we mentioned that Ruby on Rails is great for startups due to its versatility and rapid prototyping. In our experience, there are also examples of successful cooperation with start-ups.
Olivegrey.ru - a store of designer's women clothing. In addition to Ruby and Ruby on Rails, technologies such as JS and Linux were also used in the development of the site.
Optimize Player - a universal platform for video marketing, which is one of the main directions in modern PR-strategies. Designed and built by us from scratch, the site allows marketing specialists not only to create videos that increase the conversion of leads but also to deal with everything related to protecting their content and processing user feedback.
TwinSlash also has experience in modernizing businesses. Such projects include various tasks, from the modernization of business processes to the implementation of complete CRM systems (we will talk about them later).
FTO is a business consulting company with more than 16 years of experience. During this time, the company was engaged in the implementation of information systems in business based on the 1C platform. TwinSlash developed a server for the FTO and implemented Redmine plugins, expanding their functionality. The operation with tags has been improved and the ability to all users, even those who do not have admin rights, to manage tags has been added. In general, all of Redmine’s operations have been optimized by adding features such as previews of downloadable documents of any format and creating reports on the appropriate parameters and templates.
We at TwinSlash are well aware that the work doesn't end after Ruby on Rails application was successfully launched. Maintaining the correct operating of the application implies a timely response to all emerging problems. Our company has experience managing such issues. We use a separate control panel to log all requests through the ticketing system. This allows us to structure the application support process and respond to fresh challenges on time, arranging them in accordance with their priority.
The second main rule adopted by our company to maintain the operating of applications is the constant update of Ruby on Rails software. Due to the fact that this framework is open source, corrections and bug fixes come quite often. Therefore, to support the application, it is very important to update the software on time.
Creating a product roadmap with constant changes based on the client's feedback completes the list of main directions that are used at TwinSlash to support the high-quality operation of applications.
In modern programming, ongoing code auditing is a fundamental principle of a successful project. Such an audit helps to understand the complexity of the code and holes in its security. Our company understands the importance of such an audit and uses both manual verifications by experienced specialists, as well as tools for automatic verification, with identification of major bugs and inconsistencies.
As for Quality Assurance, we understand that manual testing is ancient history. That is why TwinSlash has QA professionals working on creating code to implement automated testing.
This segment is a huge part of the TwinSlash experience. Of the many works performed in this field, we can recall:
- OpenBasket - a platform for ordering quality and healthy products at wholesale prices.
- Boomkat - an online platform from Manchester, selling vinyl records and having consumers from more than 100 countries.
- Nimbus Health - a German site for selling medical cannabis to doctors and pharmacists.
We can also be proud of several projects in the field of logistics:
We at TwinSlash understand the importance of streamlining documentation circulation and client management. Therefore, our company is engaged in the improvement of ready-made free CRM systems, as well as the creation and implementation of completely new solutions on Ruby on Rails.
We won't dwell on improving free systems. But the development of custom solutions using RoR is interesting. This method has several advantages related to the essence of the framework itself. The CRM systems created on Ruby and Rails are extremely customized, due to the flexibility of the framework. This allows you to add unusual solutions to the system.
We have already discussed the speed of work on Ruby on Rails, and it will also be useful in creating CRM systems. In addition to the fact that the result can be obtained quickly enough, the framework also allows you to rapidly make any adjustments, without risking the safety of your database (which happens, using more heavy-code languages, like Java).
This area helps companies that don't have their own CTOs or cannot hire one. CTO as a service is a kind of relationship when a client-company delegates the tasks usually performed by CTO to another company. In all the other processes you work with a CTO as he’s a part of your internal team.
As an example, we can introduce you to ISP Telecom. This platform provides telecommunications services (TPP). TwinSlash fully assumed the responsibilities of CTO management by building provisioning and billing systems for the company, implementing AS2 (LNP, WLNP, BLIF) built-in interface, managing integration and interoperability and compatibility testing between ISPT and Bell, Telus, Rogers, and Videotron.
Security issues are one of the main problems of the digital industry. In a situation where the vast majority of transactions and processes take place online, it would be foolish to expect that no one will take advantage of this. Therefore, the importance of website or application security is hard to overestimate. That is why TwinSlash provides its customers with security audit services.
In general, this process includes a large amount of work in various areas, including assessing the security policy, checking the system for reporting new problems, auditing database and code, creating an artificial load on the site/application, and so on.
At the moment, our company is engaged in a security audit for two new crypto exchanges - Hermesus (US market) and Hobit (world market). As you know, the issue of security in the crypto industry is the most important area. TwinSlash creates mechanisms to provide security for personal data of exchange customers, including their payment data, crypto-wallets, and so on.
Sometimes, the most useful action in a situation where it seems that nothing is possible to improve is to ask for opinions from the outside. Such consulting allows you to evaluate the product with a fresh look, which often helps to identify problems and deficiencies that weren't visible with a blinded eye. Our clients value our opinion and we are happy to provide our recommendations regarding any issues that don't require in-depth research.
In this section, we are talking about the development of highly loaded systems that must cope with a huge number of users and constantly updated data.
As an example of work in this direction, we can cite:
Dynamic Network Administration - a platform that in real-time collects and processes a huge amount of data from various devices, including telephones and modems. The system developed by us allows our clients to track any changes and the amount of information transmitted over a selected period of time. This system was created for several large American companies using corporate tariffs from the international telecommunication company Sprint.
Working on architecture for your future project requires the attention of software architects or senior developers' attention, since it might impact a project’s growth, overall delivery time as well as complexity of its maintenance. With our team’s experience building 135 projects for 14 industries we can avoid majority of architectural mistakes, some of those we’ve learned ourselves.
Another area of our great interest, as we believe that online learning is the future. Our company had the opportunity to participate in the development of platforms in this segment, for example:
3ears - the website dedicated to the study of the Russian language. The peculiarity of the approach is that this resource uses the karaoke-style transcriptions in video lessons. Thus, language learning becomes more interactive - users listen and remember the pronunciation of new words.
Connection between two or more applications, via their APIs, that lets those systems exchange data. API integrations power processes throughout many high-performing businesses that keep data in sync, enhance productivity, and drive revenue. We have experience integrating 3rd party systems, like payment gateways, CRMs or task tracers using their existing API with the applications we build. In the same time we’ve created APIs for those projects that might need to be integrated to other systems, like APIs for logistics tracking systems for further integration with various ERP solutions.
Crystal is an object-oriented programming language, presented to the public in 2014. The first versions of this language were written on Ruby, but then, re-written on Crystal, making this language self-hosting. That’s why their syntaxes have much in common, so TwinSlash decided to allocate a separate development team for Crystal projects.
At the beginning of the article, we said that our company didn't stand still and enthusiastically accepted new challenges. That is how the decision was made to allocate a resource to create a separate area - development on Crystal.
Crystal is a new programming language that takes all the best from Ruby, C and C ++. It already has powerful web development frameworks that are used to maximize the performance of products.
Since this direction in our company is completely new, there are no completed projects yet. However, we still have something to show.
Our developers are just starting their journey to Crystal, but have already managed to create a debugger for the language. Its main feature allows the LLDB debugger to display Crystal variables in a more familiar and regular C-lang style.
We paid attention at this moment because the debugging support wasn't too developed. There is too little information on the forums. Another solution would be to use GDB (GNU Debugger), but, unfortunately, it doesn't work properly on MacOS.
We would like to shortly explain why we chose these technologies as our main focus.
Ruby on Rails was created by developers for developers. Therefore, this framework takes into account a large number of the most frequent wishes of industry experts. The architecture of MVC (Model, View, Controller) turns RoR into a simple and database-based framework that is most suitable for startups and development of MVPs.
As for the cost-effectiveness, it directly follows from the previous paragraph. The less time you spend developing, maintaining, and hosting a product, the less you spend resources, including money.
RoR code is maximally optimized, efficient, and easy to understand. There are a large number of libraries that are used to ensure the quality of the Ruby on Rails code. In addition, this framework also has many code analyzers that perform various tests - from the styling of the code to its security. Among these analyzers are Reek, RuboCop and Flay.
Perhaps there is no framework more adapted for automatic testing than Ruby on Rails. The thing is that there are a large number of gems for that matter.
You can recall Capybara, which automatically takes a screenshot for every error in a given test-script.
Launchy lets you run tests simultaneously on cross-platform applications without going into details. This is possible because various applications have related concepts that can be tested simultaneously on all apps.
Database Cleaner is another gem that automatically cleans your database, so that it would be easier for you to conduct testing.
And more. The community of developers is constantly working on creating new solutions, including the issue of automated testing.
RoR allows us to use cloud infrastructure management frameworks like Chef. It is also written in Ruby, and with the help of it, you can carry out complete infrastructure management with a small set of commands. Any action - creating new folders, merging them into structures, changing the status of the entire structure, and so on. As in the examples above, in this issue, Ruby on Rails again demonstrates the availability of ready-made solutions for the most pressing problems.
Deployment on RoR is also fast, thanks to solutions like Heroku or Capistrano.
Application scalability indicates the product’s potential to withstand much higher loads. And in this regard, the software built on RoR is easy to scale both horizontally and vertically. Remember that Twitter was created on Ruby on Rails (although in the future, with that incredible increase in the number of requests per second, Twitter had to migrate part of its code). In any case, Ruby on Rails covers 99% of the needs, unless you are going to create a new Twitter or Facebook and cope with such a huge number of requests.
We have already said above about the security of Ruby on Rails code. The community is constantly working to provide protection against new problems, but, of course, there is no such solution that would protect the code from all possible problems.
All this work resulted in a huge official document, which we thoroughly studied and which we constantly turn to in order to ensure the maximum security of our code.