<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Akveo LLC</title>
    <description>The latest articles on DEV Community by Akveo LLC (@akveo).</description>
    <link>https://dev.to/akveo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F4391%2F9e957d12-b5cd-46a6-af21-4796ecd4f610.png</url>
      <title>DEV Community: Akveo LLC</title>
      <link>https://dev.to/akveo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akveo"/>
    <language>en</language>
    <item>
      <title>What is start-up MVP and How to build it using software development?</title>
      <dc:creator>Max Tsurbeliov</dc:creator>
      <pubDate>Tue, 22 Feb 2022 11:04:43 +0000</pubDate>
      <link>https://dev.to/akveo/what-is-start-up-mvp-and-how-to-build-it-using-software-development-4006</link>
      <guid>https://dev.to/akveo/what-is-start-up-mvp-and-how-to-build-it-using-software-development-4006</guid>
      <description>&lt;p&gt;Start-ups are filled with energy and radiate positive vibes that make you feel uplifted and believe that everything is possible. And you can tell why - the people who create them are the strong believers that really have the potential to change the world with their ideas.&lt;/p&gt;

&lt;p&gt;However, the enthusiasm alone does not make the trick of making the complex and groundbreaking idea manifest. To bring a beautiful unicorn from a dreamland, start-up founders should attract enough financial resources, stay within budget/time frames, and present a product or service of the highest quality. Although each of these vital start-up survival points can seem difficult to achieve, there is a way to make it less stressful and more beneficial - start-up software MVP. &lt;/p&gt;

&lt;p&gt;In this article, we will dive into the concept and tell you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is MVP;&lt;/li&gt;
&lt;li&gt;The major benefits MVP carries for start-ups;&lt;/li&gt;
&lt;li&gt;Tips on how to create a software start-up MVP. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is Minimum Viable Product
&lt;/h2&gt;

&lt;p&gt;Basically, MVPs are the product prototypes of a new age. As the old-fashioned prototypes MVPs show the feasibility of the product’s idea and convince investors that they will benefit from putting their money on it. &lt;/p&gt;

&lt;p&gt;With all the technologies around, the concept of a product prototype has shifted a lot and brought the term MVP into play. Now, it’s more related to the software/hi-tech types of products. Minimum Viable Product or MVP also refers to the software development paradigm that is used to create mobile/web applications or other software with a minimal set of features. MVP is used to present the product to investors and early adopters faster and then continue adding new features, while the business is on the go. &lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of MVP
&lt;/h2&gt;

&lt;p&gt;The MVP development approach has found more popularity among start-ups (especially software development ones) than any other type of business. This popularity comes from the software MVPs’ specificity and a plethora of benefits this kind of project delivery brings to start-ups.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fast project launch
&lt;/h3&gt;

&lt;p&gt;As MVP includes only the basic features of your start-up application, it won’t take long to deliver it. Quick time-to-market allows you to test your ideas and get your first dividends at an early stage of your start-up project development. In addition, MVP release is an essential milestone that can mark the beginning of the next (first) investment round, making your product more mature and attractive for investors. Average MVP software development project takes only 3 to 6 months. &lt;/p&gt;

&lt;p&gt;In this case, &lt;a href="https://felmo.de/"&gt;Felmo&lt;/a&gt; is a great instance of a start-up project that flew and attracted around $10 million during the second investment round, after their MVP release. Lars Giere, the start-up founder had the idea to bring vet services online or right to the clients’ homes. To make the idea work, he needed to build a mobile application and turned to &lt;a href="https://www.akveo.com/services/software-development-services-for-startups"&gt;Akveo start-up software development company&lt;/a&gt;. Having professional app developers and the best &lt;a href="https://www.akveo.com/services/mobile-application-development/react-native"&gt;cross-platform app development&lt;/a&gt; technologies behind their back, Lars &amp;amp; Felmo's team got a complete and functional MVP in 6 months, ensuring the quality of their start-up mobile app. Currently, the start-up scales up and invests in further app development, expanding its staff and services. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JmkLSQIa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nlo0c2k4sol7iqzwt3el.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JmkLSQIa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nlo0c2k4sol7iqzwt3el.png" alt="Interface of Felmo start-up mobile application MVP" width="618" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Lower expenses
&lt;/h3&gt;

&lt;p&gt;You don’t need an army of developers and spend a fortune to build an MVP. A compact team of seasoned start-up software developers will be enough to create quite a performant MVP and test your start-up idea in action. Also, MVP allows you to save money on app rebuilding because you will add functions and design your application hearing clients’ feedback. &lt;/p&gt;

&lt;h3&gt;
  
  
  Early incomes
&lt;/h3&gt;

&lt;p&gt;If you need a web or mobile application to get to the customers online, an MVP can help them connect with your services online and start bringing you an income from the start. To be able to make an order of your service, customers won’t need a special UI design and advanced functions. However, it is important to provide your customers with an excellent user experience. That’s why it’s wise to start investing in further start-up application development to take roots in the hearts of your customers with an excellent UI/UX and performance.&lt;/p&gt;

&lt;p&gt;For example, the Uber mobile application was an MVP in the early stages. It had a plain design and the only function to connect a taxi driver with a client and display their location. Being released fast, the Uber MVP brought the start-up its first income and customer base earlier.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jf82w9fj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/klptn3r8j2lpet5m9rgq.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jf82w9fj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/klptn3r8j2lpet5m9rgq.jpeg" alt="Uber MVP interface." width="600" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Reduce risks
&lt;/h3&gt;

&lt;p&gt;Building MVP helps you to avoid tricky situations down the road. It makes clearer the vision of your product and the implementation process due to the customers' feedback and workflow test. With that, you won’t need to feel around or exercise a hit-and-miss method. In this way, your start-up software development process becomes more predictable so you can also improve your budgeting and time management. &lt;/p&gt;

&lt;h3&gt;
  
  
  Reassure investors
&lt;/h3&gt;

&lt;p&gt;MVP is a strong argument during your project presentation to the investors. Vivid slideshow and convincing speech are all important but if you have something tangible to support your words. You can present your MVP even with the initial demand analysis that will prove that the feasibility of your project’s idea. That would be a great indicator that the investments will pay off and grow as your product develops. &lt;/p&gt;

&lt;h3&gt;
  
  
  Get the early feedback
&lt;/h3&gt;

&lt;p&gt;MVP allows collecting user feedback on the early stages of the app development process. It enables you to adjust the app’s elements while it functions rather than remaking the code of a fully-fledged solution. Rebuilding an app’s core elements is extremely daunting and requires additional resources. With MVP and the proper attention to your customers’ sentiments, you can save your money and make your start-up raising process more pleasant.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips on how to build
&lt;/h2&gt;

&lt;p&gt;After igniting your urge to create an MVP for your start-up, we’d like to give you some tips on how to organize this process. They will help you to make the maximum profit from your MVP and avoid the unnecessary hustle. &lt;/p&gt;

&lt;h3&gt;
  
  
  Plan your MVP development process
&lt;/h3&gt;

&lt;p&gt;It is crucial for your start-up's successful launch to know the exact release date. Detailed planning can give you an accurate date so you can build your promotion campaign and jumpstart your project in the best way. After the release, you’ll need to create a thorough timeline for the expansion of your app’s functionality.  &lt;/p&gt;

&lt;p&gt;A thorough project delivery plan with a timeline and milestones on it will become a sort of a start-up game playthrough. If the plan is based on factual information, you will stroll through the valley of the dead start-up ideas harmless, jumping over all the booby traps.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose the right tech stack
&lt;/h3&gt;

&lt;p&gt;Another crucial aspect of a start-up software MVP development is the technologies and programming languages. Depending on the specifications of your solution, you can choose from dozens of trusted development frameworks and libraries. For instance, you can leverage React or Angular for web app development. React Native or Flutter will be a great option if you’d like to create a cross-platform mobile app to work on Android and iOS as well.  &lt;/p&gt;

&lt;p&gt;Again, your project requirements and budget frames define the tech stack you choose. Speaking of project requirements, you should keep in mind the early post-MVP period of your solution development. It is crucial for you to leverage the technologies that will provide you with seamless scaling, 3d party tools integrations, custom designs, and complex features as your start-up expands into a stable enterprise. &lt;/p&gt;

&lt;h3&gt;
  
  
  Hire a start-up software development company
&lt;/h3&gt;

&lt;p&gt;You can find companies that offer special conditions for start-ups. Faster development process, you won’t lose your time on hiring individual developers and team-leads because mature and professional start-up software development companies accompany you on each stage of your start-up software development including discovery phase, MVP creation, further solution development, and post-release support. &lt;/p&gt;

&lt;p&gt;Partnering with professional developers frees you from the whole world of concerns that come up when you take the MVP development process organization in your hands. Choosing a tech stack, creating a project delivery timeline, and overall app development process management becomes the responsibility of a software development company. Therefore, you will be able to focus on other essential tasks like building your brand, creating your business development strategy, etc. &lt;/p&gt;

&lt;h2&gt;
  
  
  In conclusion
&lt;/h2&gt;

&lt;p&gt;Here you go! With a clear understanding of MVPs’ benefits and tips on how to establish your MVP development, you are ready to set off your own. If you need some additional guidance on the process or wish to discuss your case with our start-up MVP development experts, call us. Akveo start-up software development company provides a full spectrum of start-up MVP development services including web/mobile apps development, start-up consulting, QA, cloud, post-release support, and design services that are truly amazing. &lt;/p&gt;

&lt;p&gt;In addition, we offer &lt;a href="https://www.akveo.com/services/software-development-services-for-startups#"&gt;a free/discounted discovery phase for start-up projects&lt;/a&gt; to help our clients get into the process and test the viability of their ideas in regard to the latest technologies. Akveo company has an affiliate software start-up &lt;a href="https://uibakery.io/"&gt;UI Bakery&lt;/a&gt; and 5+ years of hands-on start-up and enterprise-grade software development experience. We create custom MVPs and fully-fledged applications from scratch for different industries and have &lt;a href="https://www.akveo.com/case-studies"&gt;a number of great success stories with our partners&lt;/a&gt;.  &lt;/p&gt;

</description>
      <category>startup</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Software development for start-ups: all you need to know about it</title>
      <dc:creator>Max Tsurbeliov</dc:creator>
      <pubDate>Mon, 21 Feb 2022 19:20:39 +0000</pubDate>
      <link>https://dev.to/akveo/software-development-for-start-ups-all-you-need-to-know-about-it-36op</link>
      <guid>https://dev.to/akveo/software-development-for-start-ups-all-you-need-to-know-about-it-36op</guid>
      <description>&lt;p&gt;Mobile, web applications and associated software have become an inseparable part of most businesses around the world today. Business owners implement them to increase their remote customer engagement, enhance workflow optimization, or be a part of their service itself. &lt;/p&gt;

&lt;p&gt;Start-ups benefit from applications more than any other type of business as they can use them for acquiring investments. However, if large enterprises have large budgets and can afford to learn from their own mistakes, for most start-ups, software development is a one-shot game. Therefore, business rookies should treat the process carefully and prepare for their first app creation campaign to reduce the risks of failing and losing their funding. &lt;/p&gt;

&lt;p&gt;For the sake of helping start-uppers to nail their software development, we created this guide on start-up apps creation. This article will be helpful to SaaS start-ups as well as for those who plan to develop software to get to the customers and provide their services. Here you’ll find: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Particular traits of start-up projects that influence app development process;&lt;/li&gt;
&lt;li&gt;Challenges they face during their app development;&lt;/li&gt;
&lt;li&gt;How to handle start-up software development processes; &lt;/li&gt;
&lt;li&gt;Major steps towards successful start-up software development. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Peculiarities of start-up software development projects
&lt;/h2&gt;

&lt;h3&gt;
  
  
  High uncertainty level
&lt;/h3&gt;

&lt;p&gt;Start-ups are very unpredictable and can change their courses of action several times during their establishment, perfecting themselves. For example, you can alter your app’s features after the MVP release, when the user feedback shows that some of them don’t work as expected. &lt;/p&gt;

&lt;p&gt;Because of such a level of unpredictability, you should make your software development process more flexible. Many start-ups and software development companies practice an agile project management paradigm that allows them to switch directions, applying ad-hoc decisions more easily.&lt;/p&gt;

&lt;h3&gt;
  
  
  Groundbreaking ideas
&lt;/h3&gt;

&lt;p&gt;Start-ups usually revolve around some disruptive idea that can change the old ways of doing something and enhance an industry. At the same time, implementing such an idea and creating the software product to manifest it, is a complex task. Largely because of the innovative nature of the project. Breaking the path is always more difficult than going a bitten track. &lt;/p&gt;

&lt;p&gt;In the case of disrupting start-up software, you’ll need to find ways to transform your ideas into app features that will require unique code patterns. Thus, prepare yourself for multiple brainstorm sessions and find experienced and ingenious developers that can find ways to express those ideas in code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Venture capital dependency
&lt;/h3&gt;

&lt;p&gt;Start-ups always need a fair amount of funding to stand up and hold firm. This aspect influences the start-up software development process, adding unique steps like MVP development, IPOs, and others. Those steps allow feeding the project with more resources. &lt;/p&gt;

&lt;p&gt;Basically, investors' participation is one of the core survival aspects for start-ups. If a start-up fails to attract the necessary investments, it ceases to function.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start-up software development challenges and how to overcome them
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Branding &amp;amp; Marketing
&lt;/h3&gt;

&lt;p&gt;Many start-up founders overlook this aspect of their product development, especially in the early stages of development. Focusing on the product and application itself is all-important, but the project start and further brand awareness largely depend on your branding and marketing strategy. &lt;/p&gt;

&lt;p&gt;The earlier you get in touch with your customers and create the expectation, the better your product launch will be. Neglecting this aspect can slow down or even ruin your start-up brand development.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Niche selection
&lt;/h3&gt;

&lt;p&gt;It can pose a great challenge to define the market segment where your product will fit perfectly. At the same time, it can decide the whole start-up's success. Therefore, dedicate the proper amount of time and resources to [finding a suitable niche for your product (&lt;a href="https://www.entrepreneur.com/article/272808"&gt;https://www.entrepreneur.com/article/272808&lt;/a&gt;). &lt;/p&gt;

&lt;h3&gt;
  
  
  Security
&lt;/h3&gt;

&lt;p&gt;For your start-up to be a success, you need to provide a high-security level for your software product. First of all, to comply with international security policies your app should protect sensitive customer data so that it remains untouched by hackers. &lt;/p&gt;

&lt;p&gt;Making a secure application can pose a difficulty even for large enterprises let alone start-ups. Thus, you shouldn’t bypass client-side and app-side security starting from the earliest stages of your application development.&lt;/p&gt;

&lt;p&gt;To protect your application and connected services, make sure that you provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enough password policies for app users as well as employees;&lt;/li&gt;
&lt;li&gt;Limited access to your start-up resources through VPN;&lt;/li&gt;
&lt;li&gt;Local/cloud database protection;&lt;/li&gt;
&lt;li&gt;Sensitive data encryption.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Product scaling
&lt;/h3&gt;

&lt;p&gt;According to &lt;a href="https://www.entrepreneur.com/article/288769"&gt;Entrepreneur research&lt;/a&gt;, over 75% of start-ups fail because of scaling problems. And one of the core scaling obstacles is the software product expansion problem.&lt;/p&gt;

&lt;p&gt;At certain stages of your start-up development, your product and overall business development can undergo some minor or major changes. These changes can create difficulties for you, depending on the scale of those changes. To handle those in the best way possible, you should back up your decisions with actual information and implement them step-by-step. &lt;/p&gt;

&lt;p&gt;Above that, you will need to watch your budget and plan your scaling expenses in advance. Having a detailed project estimation, you will know how much money to seek from your investors. &lt;a href="https://www.akveo.com/tools/project-estimation-template"&gt;Take this free project estimation template&lt;/a&gt; to calculate your development costs real quick. Besides, we will recommend leaving some money for unplanned expenses. We will pick the funding &amp;amp; budgeting in more detail later on in the article. &lt;/p&gt;

&lt;h3&gt;
  
  
  Team
&lt;/h3&gt;

&lt;p&gt;The team issues can influence your project much more than it seems. The most widespread ones are the following:&lt;/p&gt;

&lt;h4&gt;
  
  
  Hiring
&lt;/h4&gt;

&lt;p&gt;Finding and onboarding professionals for your start-up software development project takes hours of search and interviews. As your start-up evolves, you will need to open an HR department for that purpose. In fact, you can skip this challenge and hire a software development company that have their own developers on standby. All the employee care and responsibility for the application quality are also on the company’s side.&lt;/p&gt;

&lt;h4&gt;
  
  
  Promotions
&lt;/h4&gt;

&lt;p&gt;Another important team issue that can pop up during your start-up software development is faulty positioning and unreasonable promotions. Initial start-up teams usually include close friends and family members which can create a certain bias when it comes to team structuring. Family and friend bonds can straighten your company’s core and are wonderful per se. But when start-uppers confuse these affections with the person’s actual abilities, it can lead to a disaster. Simply put, your development team selection should be based on a person’s professional skills and leadership qualities, not personal preferences.&lt;/p&gt;

&lt;h4&gt;
  
  
  Co-founders’ conflicts
&lt;/h4&gt;

&lt;p&gt;It happens when co-founders or stakeholders cannot find the middle ground on a certain software development aspect. As a result, they are stuck, being torn between various business development paths. &lt;/p&gt;

&lt;p&gt;This can pose a threat to the project’s success, creating a negative working atmosphere. To avoid any development interruptions, you can create a legal treaty where the roles, fields of responsibility, and project decision-making order will be clearly outlined.&lt;/p&gt;

&lt;h3&gt;
  
  
  Product quality
&lt;/h3&gt;

&lt;p&gt;Sturt-uppers hurry up to get funds and proceed to the next stage of their project development. The rush can lead to overlooking some issues with their software. The cure is the proper preliminary preparations such as BA examination of the project, gradual development process, and the thorough QA routines on each stage to make sure your start-up application is bug-free and ready to make your users happy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fundraising &amp;amp; budgeting
&lt;/h3&gt;

&lt;p&gt;One of the most acute problems start-ups face is funding and budget distribution. At the very beginning, start-up owners rely on their own savings or get support from their friends and family. This money doesn’t seem so difficult to get. However, as the project grows, it needs more and more financial injections to maintain itself and expand. As a result, start-uppers turn to various fundraising strategies.&lt;/p&gt;

&lt;h4&gt;
  
  
  Venture capital
&lt;/h4&gt;

&lt;p&gt;&lt;a href="http://cbinsights.com/research/venture-capitalists-top-20/"&gt;Venture capital&lt;/a&gt; funds invest their money in return for equity in your start-up during the IPO process. Sometimes, they even acquire a company for a fairly large amount of money if, in their opinion, it has the potential to be the next big thing. Becoming stakeholders of your newly-christened company, they can start to participate in decision-making, assist with their business experience, and use their valuable connections to promote your product. &lt;/p&gt;

&lt;p&gt;Venture capitalists come into play when a start-up project has already obtained a certain level of maturity. Oftentimes, this maturity is indicated at least by the functional MVP with largely positive feedback from clients and growing incomes. &lt;/p&gt;

&lt;h4&gt;
  
  
  Business angels
&lt;/h4&gt;

&lt;p&gt;Business angels are individuals that use their own financial resources to enhance a start-up in the earlier stages of project development. As well as venture capitalists, they get the company’s equity too. The main difference between angel investors and venture capitalists is that angel investors’ support is the stepping stone that leads a start-up from family money to venture capital funds. This also means that venture capital is several times larger than business angel investments. In addition, venture capitalists have a company or financial institution behind them while business angels act as individuals. &lt;/p&gt;

&lt;h4&gt;
  
  
  Bank loans
&lt;/h4&gt;

&lt;p&gt;In this case, you take money from a bank to pay it back with interest. Perhaps, it’s not the best option for start-ups considering their uncertainty, because here you’ll have strict paying time frames. In other words, bank loans are the last resort to find the money for your start-up app creation. &lt;/p&gt;

&lt;h4&gt;
  
  
  Crowdfunding
&lt;/h4&gt;

&lt;p&gt;You can use crowdfunding platforms like &lt;a href="https://www.kickstarter.com/?ref=nav"&gt;Kickstarter&lt;/a&gt; to collect some money for your start-up project. Crowdfunding money can support your start-up software development at any stage. However, the more money you are planning to collect, the more effort you should put into the project promotion which includes advertisements on social media. &lt;/p&gt;

&lt;p&gt;Also, to attract more donations, you need to create a great description for your project with a video presentation, project roadmap, and donation options with the corresponding benefits for contributors. Special offerings in return for generous donations are a must on crowdfunding platforms.&lt;/p&gt;

&lt;h4&gt;
  
  
  Rational budgeting
&lt;/h4&gt;

&lt;p&gt;Some start-uppers, especially newbies, tend to spend beyond means when they get their first big check. Expensive cars, restaurants, luxurious offices, business-class flights are very pleasant for one’s ego but deadly for the start-up project, making its first steps in the world of big business.  &lt;/p&gt;

&lt;p&gt;Instead, invest in your start-up product production and software development as much as possible. The product development will include hiring, administrative expenses, hardware, and salaries. Besides, allocate funds for marketing to promote your product and create the fertile ground to sow the seed of your MVP on. The better the seed is sown, the richer the harvest will be.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ways to organize start-up software development
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Hiring in-house developers
&lt;/h3&gt;

&lt;p&gt;Building your own development team is a great long-term solution for start-ups. You create your own team that will inherit your vision and spirit that will shine through your app in the later stages. &lt;/p&gt;

&lt;p&gt;Nevertheless, finding great developers, designers, QA &amp;amp; BA specialists can take months. Long interviews, while your soul seeks to make your ideas work faster, can extinguish the flame of your inspiration and spoil your start-up vibe. Here are the major pros and cons of in-hose developers hiring:&lt;/p&gt;

&lt;p&gt;Pros&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better team communication and easier management because in-house employees become a part of your start-up culture;&lt;/li&gt;
&lt;li&gt;Building the team for a long-term collaboration;&lt;/li&gt;
&lt;li&gt;Faster engagement speeds up the working process;&lt;/li&gt;
&lt;li&gt;In-house developers charge less than outsourced teams or companies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In-house developers can have less motivation to accomplish the work faster;&lt;/li&gt;
&lt;li&gt;It takes time to build a great in-house software development team;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You need to provide your employees with working facilities, hardware, and health insurance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Partnering with a start-up software development company
&lt;/h2&gt;

&lt;p&gt;Start-up software development companies save the day when your team cannot boast of being tech-savvy. This is the most hassle-free way to create your MVP and expand it to a fully-fledged application. Partnering with such a company will free you from all the hiring-related tasks we’ve mentioned earlier. You can focus on your business development, marketing, and promotion while your technical partner (in the form of) a software development company assumes all the responsibility regarding start-up application development.&lt;/p&gt;

&lt;p&gt;There you can find close-knit developer teams with versatile expertise, quality assurance specialists, business analysts, project managers, and other tech pros in one place. &lt;/p&gt;

&lt;p&gt;Also, the outsource software development companies, strive to produce high-quality software to gain and maintain their prestige. But remember that large tech companies pay more attention to their enterprise-grade projects and charge a lot for their services. Small and middle-size companies, specializing in start-up software development, are the best suite for MVP development projects. So, if you are planning &lt;a href="https://www.akveo.com/services/software-development-services-for-startups"&gt;to hire a start-up software development company&lt;/a&gt;, don’t fall for the company’s size but the number of successful start-up projects they’ve had. &lt;/p&gt;

&lt;p&gt;While choosing your tech partners, look if they:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have an office in your country of residence;&lt;/li&gt;
&lt;li&gt;Offer start-up software development as a separate service with special pricing plans for MVP development and other offerings (e.g. free discovery phase) (it means that they take such projects earnestly);&lt;/li&gt;
&lt;li&gt;Have start-up success stories;&lt;/li&gt;
&lt;li&gt;Have QA and BA specialists;&lt;/li&gt;
&lt;li&gt;Exercise agile software development methodologies (facilitates software development and makes the process easily manageable).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Talking about the negative aspects of working with software development companies, we should mention the high prices first. Professional services come for a corresponding price. Then, comes the human factor - the disagreements with developers or managers on the company’s side. However, this is an extremely rare case.&lt;/p&gt;

&lt;h3&gt;
  
  
  Finding a technical co-founder
&lt;/h3&gt;

&lt;p&gt;As an option, you can find a technical co-founder that will take over this side of your project. This is a very convenient way of creating a start-up software cause you don’t need to spend money at the moment but pay this person with a fair share of your young company. &lt;/p&gt;

&lt;p&gt;At the same time, with all the pros of such an approach, you can face some conflicts that we’ve mentioned earlier, in the challenges part. Unfortunately, disagreements between start-up founders are not unusual nowadays, especially when they have different perspectives on business and product development. &lt;/p&gt;

&lt;h2&gt;
  
  
  Start-up software development process
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Market Research
&lt;/h3&gt;

&lt;p&gt;Before diving into the software building itself, you need to define the market sector your service, and product fit. To achieve that, make thorough market research. Read the related social surveys, recent statistical information, and any other source that can provide you with relevant information on the current market state. &lt;/p&gt;

&lt;h3&gt;
  
  
  Technology selection
&lt;/h3&gt;

&lt;p&gt;Now you know your market - get to know the platforms on which you will build your product. The choice of web and &lt;a href="https://www.akveo.com/blog/react-native-vs-flutter-the-key-differences-every-developer-should-know"&gt;mobile development platforms&lt;/a&gt; is so extensive you need to do thorough research to find the one that suits your particular needs. In case you found a technical co-founder or hired a professional start-up software development company you won’t need to do it. However, you still should explain what functions you want your app to have in a clear way. It can also become problematic for you will need to put your vision into the technical concepts, so hiring a BA specialist can fix this problem. Often, start-up software companies offer BA services along with developers and QA specialists. &lt;/p&gt;

&lt;h3&gt;
  
  
  Application development
&lt;/h3&gt;

&lt;p&gt;Start-up app development starts with a PoC (Proof of Concept) or an MVP. &lt;a href="https://www.akveo.com/blog/what-is-start-up-mvp-and-how-to-build-it-using-software-development"&gt;Developing a minimum viable product or MVP&lt;/a&gt; is vital for any start-up project. This step allows you to launch your project earlier, start to receive feedback from the users with first incomes, and get the additional investment round to scale up your application. &lt;/p&gt;

&lt;p&gt;The app creation process is classical for an MVP stage as well as following software expansion cycles. As a rule, the process includes:&lt;/p&gt;

&lt;h4&gt;
  
  
  Analysis
&lt;/h4&gt;

&lt;p&gt;Basically, it includes the market research, teck stack selection and translation of your ideas into the clearly formulated development tasks.&lt;/p&gt;

&lt;h4&gt;
  
  
  Design
&lt;/h4&gt;

&lt;p&gt;Creation of the UI/UX part of your software. Making a custom user interface in line with the functions it should perform. &lt;br&gt;
Implementation&lt;br&gt;
The coding process itself. Connecting the front-end (UI/UX) with the backend (processes under the hood, 3d parties).&lt;/p&gt;

&lt;h4&gt;
  
  
  Testing
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.akveo.com/services/quality-assurance"&gt;QA specialists&lt;/a&gt; take the stage and make sure that your app is bug-free and ready for release. It’s a great practice to mix your QA routines with development. Thus there’s no strict consequence between the two stages as they usually take place simultaneously.&lt;/p&gt;

&lt;h4&gt;
  
  
  Release
&lt;/h4&gt;

&lt;p&gt;The showtime. Let the world know about your product and get ready for the rewards and feedback. Again, the better your marketing strategy and its implementation, the louder your announcement will be. And the louder the announcement, the more people will get familiar with your product. &lt;/p&gt;

&lt;h4&gt;
  
  
  Maintenance
&lt;/h4&gt;

&lt;p&gt;This is a process of perfection of your software. Hearing from your customers, fixing remaining bugs, creating the necessary features are the major activities at this stage. &lt;/p&gt;

&lt;h3&gt;
  
  
  Feedback analysis
&lt;/h3&gt;

&lt;p&gt;Once you’ve received feedback from your first clients, it’s time to act upon it and develop your product further. Be ready to have annoyed customers that will point out your application’s flaws. Instead of arguing with them, take notes and make a list of what you have to fix or add to your product in order to make it perfect.&lt;/p&gt;

&lt;h3&gt;
  
  
  Application expansion
&lt;/h3&gt;

&lt;p&gt;Here starts another software development cycle. Take your feedback analysis, transform and extend your application according to it, and see your start-up growing into a unicorn. &lt;/p&gt;

&lt;h2&gt;
  
  
  Resume
&lt;/h2&gt;

&lt;p&gt;Start-up projects are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uncertain so they require more flexibility from your product development team;&lt;/li&gt;
&lt;li&gt;Have an ambitious idea to manifest;&lt;/li&gt;
&lt;li&gt;Depend on the investments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Major start-ups’ challenges lie in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Market niche definition &amp;amp; branding identity;&lt;/li&gt;
&lt;li&gt;Product and intellectual property security;&lt;/li&gt;
&lt;li&gt;Start-up software and business scaling;&lt;/li&gt;
&lt;li&gt;Team-building &amp;amp; structuring;&lt;/li&gt;
&lt;li&gt;Providing a high-quality software product;&lt;/li&gt;
&lt;li&gt;Fundraising &amp;amp; budget distribution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can organize your software development process by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hiring in-house employees and managing the process by yourself;&lt;/li&gt;
&lt;li&gt;Partnering with a start-up software development company;&lt;/li&gt;
&lt;li&gt;Finding a tech-savvy co-founder&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Start-up software development cycle:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Market research;&lt;/li&gt;
&lt;li&gt;Tech stack selection;&lt;/li&gt;
&lt;li&gt;MVP development;&lt;/li&gt;
&lt;li&gt;MVP feedback analysis;&lt;/li&gt;
&lt;li&gt;App scaling.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;P.S. If you feel like you need a professional start-up MVP development company to make your start-up MVP run like clockwork, &lt;a href="https://www.akveo.com/contact"&gt;book a free start-up consultation at Akveo&lt;/a&gt;. We help start-ups develop their MVP, get investments, and scale their software products to enterprise-level apps for more than 5 years. Akveo team offers inclusive start-up software development services with web/mobile app creation, BA, QA, UI/UX design, branding, and project management. With us, you can dedicate more time to your idea shaping and business development while our savvy and seasoned professionals take care of the tech side of your project. &lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>startup</category>
      <category>agile</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Start-up MVP development process: step-by-step guide and tips</title>
      <dc:creator>Max Tsurbeliov</dc:creator>
      <pubDate>Fri, 18 Feb 2022 15:19:53 +0000</pubDate>
      <link>https://dev.to/akveo/start-up-mvp-development-process-step-by-step-guide-and-tips-4idh</link>
      <guid>https://dev.to/akveo/start-up-mvp-development-process-step-by-step-guide-and-tips-4idh</guid>
      <description>&lt;p&gt;MVP is the safe and beneficial way of a start-up project delivery that increases its chances to survive. &lt;a href="https://www.akveo.com/blog/what-is-start-up-mvp-and-how-to-build-it-using-software-development"&gt;Creating a minimum viable product (MVP)&lt;/a&gt; makes your start-app application development more gradual and steady so that you move from one development stage to another with confidence. An MVP serves as a proof of concept (POC) of your project idea that inspires trust in investors and stakeholders, allowing you to get the first/additional investment round. What’s more, it allows you to get in touch with your TA and better learn what their expectations and needs are. &lt;/p&gt;

&lt;p&gt;However, organizing a smooth start-up MVP development process takes some skill and knowledge. That’s why we, as a software development company for start-ups, decided to share our best MVP development advice and tips. They will help you to launch your own MVP successfully and manifest your business ideas into the right app features more easily.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why start-ups choose MVP development paradigm
&lt;/h2&gt;

&lt;p&gt;To make the most of your MVP, you should keep in mind what exact benefits you can gain from it. Thus, let’s quickly go over MVP’s positive impact on your project development. &lt;/p&gt;

&lt;h3&gt;
  
  
  You can collect the early feedback
&lt;/h3&gt;

&lt;p&gt;User intelligence (feedback) is a crucial factor in your start-up software development, especially at the initial stages. It allows you to adjust your start-up app’s feature set in line with the customer expectations, while it does not consume many resources to accomplish. No one wants to put enormous effort into building a complex application with a ton of features to find out that customers don’t need them. &lt;/p&gt;

&lt;p&gt;Creating a minimum viable product allows you to enter the market and collect user feedback earlier, giving you the upper hand over your competitors. With MVP you highlight the next steps you need to take to meet the final goal - taking your start-up to the moon.&lt;/p&gt;

&lt;h3&gt;
  
  
  Faster time-to-market
&lt;/h3&gt;

&lt;p&gt;Usually, start-ups fail because of the late idea presentation. Such projects either get outrun by their competitors or wallow in tons of unnecessary tasks. But the end is common for both cases, start-up fades. &lt;/p&gt;

&lt;p&gt;On the contrary, with the MVP development process start-ups focus on the essentials first which accelerates app creation. The faster you create your MVP, the less money you’ll pay. Also, an early release gives you the chance to gather user feedback earlier and use it to upgrade your product. &lt;/p&gt;

&lt;p&gt;Apart from the robust release, MVP gives you the opportunity to test if your product solves users' problems effectively or needs some reconsideration. Knowing where your product’s pain points are early, you can fine-tune your app and expand its functionality upon a stable ground of the proven feasibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  Moderate budget
&lt;/h3&gt;

&lt;p&gt;MVP development requires much less financial resources than a full-blown solution. Mainly because you won’t hire a large developer team for a long time to build it. Besides, MVP keeps you away from unexpected budget expenses, allowing you to invest your money only into the necessary features for your app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Increased development efficiency
&lt;/h3&gt;

&lt;p&gt;Having user feedback and service value statistics you can manage the transformation of an MVP into the fully-fledged app more effectively. With that, you can reduce development mistakes to a minimum which will result in a better product, lower development costs, and faster time-to-market. &lt;/p&gt;

&lt;h2&gt;
  
  
  How to create your start-up MVP step-by-step
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Examine the market
&lt;/h3&gt;

&lt;p&gt;Before starting a trip, every good traveler tries to learn the environment where he/she seeks to enter. The same logic fits start-uppers as well. Despite MVP being a great market analysis tool by itself, making general research of the market segment you are going to enter before starting developing it is of paramount importance. &lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.cbinsights.com/research/startup-failure-reasons-top/"&gt;CB insights start-up research&lt;/a&gt; has shown that the number one reason for start-up failure is a lack of market need. Thus, market discovery is where you should start developing your MVP.&lt;/p&gt;

&lt;h3&gt;
  
  
  Find a niche for your product
&lt;/h3&gt;

&lt;p&gt;This is the first and foremost step towards the launch of your project. Precisely defined niche is half of your project’s success because all the further development will evolve around the market field you will enter. You can start with simple questions like these: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What value does my product bring?&lt;/li&gt;
&lt;li&gt;What problems does it solve?&lt;/li&gt;
&lt;li&gt;Where I can offer it?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Know your target audience (TA)
&lt;/h3&gt;

&lt;p&gt;You should identify your typical user and understand how your MVP will help such a person too. In other words, you need to match the value of your product with the person that seeks to get it. Reading market research and public surveys can help you out with that big time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learn from your competitors
&lt;/h3&gt;

&lt;p&gt;Analyzing the competition gives you a clear understanding of the current industry state and where it is heading. At this preparation stage, you can learn what the workflow, web/mobile application features, business models of your potential competitors are. After you’ve found out all these metrics, check out the popularity and magnitude of each competitor to learn which models and features bring them the most credibility. In addition, you can take from your competitors’ mistakes and use this knowledge to avoid similar situations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose the vital features for your MVP
&lt;/h3&gt;

&lt;p&gt;Now we have clearly formulated business roles and TA picture with all their aspirations on the table. That means it’s time to project this information onto your start-up MVP in the form of helpful and easy-to-use features.&lt;/p&gt;

&lt;p&gt;Transforming your business and client's needs into the features for your MVP is tricky. You should understand how your ideas will work in your app, choose the tech stack to make them work, and tell developers what exactly you want to get in your MVP.&lt;/p&gt;

&lt;p&gt;If you have no proper understanding of that process It’s better to hire an advisor or BA specialist to assist you with this task. A great BA specialist is a master transformer of your business ideas into the app functionalities, which serves as a middleman between you and the developer team. Some start-uppers try to cut down on such specialists, but it results in poor feature selection, project delays, and large expenses on app rebuilding. &lt;/p&gt;

&lt;p&gt;But there are a few major steps you should know about the feature selection regardless of you doing it with a professional or by yourself.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Prioritize the features of your MVP and categorize them by high, mid, and low priority. Then, choose the features of high priority for your MVP.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make a user behavior mapping to understand their journey and arrange features and UI elements accordingly.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Develop your MVP
&lt;/h2&gt;

&lt;p&gt;After the feature selection, you are starting to develop a bare-bones representation of your business idea. Here, you have a few options for how you will build your application depending on your team's peculiarities and development expertise. &lt;/p&gt;

&lt;p&gt;You have the proper development skills and the team to deliver a decent MVP&lt;br&gt;
It’s quite a widespread situation when start-uppers have programming skills themselves. At least it was when start-up culture was on the rise. Such teams rarely need to call any developer reinforcements for their MVP development. If it is your case, just do the coding now. &lt;/p&gt;

&lt;h3&gt;
  
  
  You hire the in-house developers, QA &amp;amp; BA specialists by yourself.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.akveo.com/blog/how-to-hire-a-dedicated-react-native-developer-in-2022-ultimate-guide-interview-questions"&gt;Hiring in-house developers&lt;/a&gt; and other team members take a lot of time and don't guarantee great results. This strategy is preferable when your project is on its feet financially and operationally. If your project is in the initial stages (like MVP creation) it’s a luxury to spend days skimming through CVs, interviewing candidates, onboarding them, supplying, and managing. However, you can build a team that will probably continue to contribute to your project for years to come.&lt;/p&gt;

&lt;p&gt;All in all, this is a working method for MVP development process organization. But here you should decide if you can afford to postpone your project and to put effort into the hiring campaign instead of starting the development process with a professional software development company.&lt;/p&gt;

&lt;h3&gt;
  
  
  Outsourcing MVP development to a start-up software development company
&lt;/h3&gt;

&lt;p&gt;Start-up software development companies save the day when your team cannot boast of being tech-savvy. This is the most hassle-free way to create your MVP and expand it to a fully-fledged application. Partnering with such a company will free you from all the hiring-related tasks we’ve mentioned earlier. Close-knit developer teams with versatile expertise, quality assurance specialists, business analysts, project managers, and other tech pros are in one place. &lt;/p&gt;

&lt;p&gt;Also, the outsource software development companies, strive to produce high-quality software to gain or maintain their prestige. But remember that large tech companies pay more attention to their enterprise-grade projects and charge a lot for their services. Small and middle-size companies, specializing in start-up software development, are the best suite for MVP development projects. So, if you are planning &lt;a href="https://www.akveo.com/services/software-development-services-for-startups"&gt;to hire a start-up software development company&lt;/a&gt;, don’t fall for it’s size. &lt;/p&gt;

&lt;p&gt;While choosing your tech partners, look if they:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have an office in your country of residence;&lt;/li&gt;
&lt;li&gt;Offer start-up software development as a separate service with special pricing plans for MVP development (it means that they take such projects earnestly);&lt;/li&gt;
&lt;li&gt;Have start-up success stories;&lt;/li&gt;
&lt;li&gt;Have QA and BA specialists;&lt;/li&gt;
&lt;li&gt;Exercise agile software development methodologies (facilitates software development and makes the process easily manageable).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Launch, Learn, and Expand
&lt;/h3&gt;

&lt;p&gt;All right, the MVP is ready. The time to set off the MVP has come. However, it’s only the beginning of the next evolution stage of your start-up application. And to make it you should analyze how your MVP performs, getting feedback from your end-users. There are some dimensions for your client’s feedback analysis:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The number of downloads in a certain period of time;&lt;/li&gt;
&lt;li&gt;A total number of downloads;&lt;/li&gt;
&lt;li&gt;Review and feedback score;&lt;/li&gt;
&lt;li&gt;The time that users spend on the app;&lt;/li&gt;
&lt;li&gt;Anything else that helps you see if your MVP is meeting your customer’s needs or if it needs adjustment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After, continue to develop your application to the fullest, considering the feedback and your analytics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start-up MVP development process tips
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Hire QA and BA specialists with the development team.
&lt;/h3&gt;

&lt;p&gt;The years of hands-on experience showed us that quality assurance and business analysis are vital for a successful MVP release. These routines increase your end product quality and help you transform your ideas into tech concepts that will be more clear for developers. Therefore, we recommend you hire QA and BA specialists to ensure these processes will run smoothly. Neglecting QA &amp;amp; BA can cause project delivery delays. For instance, if your developers have a vague picture of what you need, they will inevitably spend a lot of time sorting it out themselves instead of building your MVP.&lt;/p&gt;

&lt;h3&gt;
  
  
  Create a landing page or SPA for your start-up.
&lt;/h3&gt;

&lt;p&gt;There should be a representation of your idea that will explain how your product/service works and how customers can reach you. If you don’t want to invest many resources in a complex website you can get along with a simple web app. A SPA (Single-page Application) with basic information on your project will be enough to introduce your start-up to the audience and create an additional customer traffic stream.&lt;/p&gt;

&lt;h3&gt;
  
  
  Choose the platforms on which to build your app carefully
&lt;/h3&gt;

&lt;p&gt;Selecting the right programming language and a platform to deploy defines a great deal of a start-up’s success. Develop a web, mobile app, or both? What operation system to target? What integrations will you be able to add to your application? All these questions should find their answers before you start developing your MVP.&lt;/p&gt;

&lt;p&gt;Luckily, you can use cross-platform development frameworks and create applications that can work on different platforms. For example, with &lt;a href="https://www.akveo.com/blog/how-does-react-native-work"&gt;React Native mobile development framework&lt;/a&gt; to &lt;a href="https://www.akveo.com/services/mobile-application-development/react-native"&gt;create a single mobile app that can run on both Android and iOS devices&lt;/a&gt;. Using such frameworks as Flutter, React Native, Angular (web), saves you a bunch of time and money but you need to choose wisely to be able to add all the essential features for your app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pep Talk
&lt;/h2&gt;

&lt;p&gt;Now you are ready and equipped with a decent tooltip to start your own MVP development process. All is left to do is to tell you some inspiring words to stoke the fire of your brave and ingenious spirit. &lt;/p&gt;

&lt;p&gt;It takes great passion and diligence to bring awesome ideas into existence, sharing their fruits with the world. There are thousands of great success stories in which dizzying advances occurred due to the founder’s well-directed actions and strong belief. Jobs, Brin, Musk, Bezos, Hewlett, Packard, and others started developing their ideas as small yet ambitious garage/home start-ups. These remarkable people would never make it from tight garages to the skyscraper quarters around the globe hadn’t they enough persistence, business flair, and idea determination. So, if you maintain your confidence and really love what you are doing, there cannot be closed doors for you. &lt;/p&gt;

&lt;p&gt;Looking up to that inspiring examples, we can also say that every industrious believer has an enormous potential to transform the world with his/her ideas. No matter how many mistakes, learning, and effort should be made to achieve it. All you need to do is to begin your path and manifest your project step-by-step, starting from a simple MVP and moving towards a fully-fledged solution as your audience expands. Embrace challenges, experiment, stay inspired, and have good luck with your start-up project!&lt;/p&gt;

&lt;p&gt;P.S. If you feel like you need a professional start-up MVP development company to make your start-up MVP run like clockwork, &lt;a href="https://www.akveo.com/contact"&gt;book a free start-up consultation at Akveo&lt;/a&gt;. We help start-ups develop their MVP, get investments, and scale their software products to enterprise-level apps for more than 5 years. Akveo team offers inclusive start-up software development services with web/mobile app creation, BA, QA, UI/UX design, branding, and project management. With us, you can dedicate more time to your idea shaping and business development while our savvy and seasoned professionals take care of the tech side of your project. &lt;/p&gt;

</description>
      <category>startup</category>
      <category>mvpdevelopment</category>
      <category>mvp</category>
      <category>motivation</category>
    </item>
    <item>
      <title>React Native vs. Flutter: the key differences every developer should know in 2021</title>
      <dc:creator>Max Tsurbeliov</dc:creator>
      <pubDate>Mon, 11 Oct 2021 06:49:46 +0000</pubDate>
      <link>https://dev.to/akveo/react-native-vs-flutter-the-key-differences-every-developer-should-know-in-2021-5p6</link>
      <guid>https://dev.to/akveo/react-native-vs-flutter-the-key-differences-every-developer-should-know-in-2021-5p6</guid>
      <description>&lt;p&gt;The world of cross-platform development is tearing between the two most popular frameworks - React Native and Flutter. &lt;a href="https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/"&gt;According to recent research&lt;/a&gt;, in 2021, React Native and Flutter have the support of the majority of developers. Besides, Flutter’s popularity has been increasing since 2019 while React Native has been losing it.&lt;/p&gt;

&lt;p&gt;However, the statistics don’t mean that the time of React Native passed and the framework lost its relevance. Instead, it continues to evolve its capabilities and remains an indispensable tool for cross-platform development.&lt;/p&gt;

&lt;p&gt;But you are here to find out which is the best: mature and stable React Native or rapidly growing and performant Flutter. Thus, without further ado, let’s do it. In this article:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;General information on RN and Flutter;&lt;/li&gt;
&lt;li&gt;The comparison of the frameworks by the several performance metrics;&lt;/li&gt;
&lt;li&gt;Pros and Cons of Flutter and React Native;&lt;/li&gt;
&lt;li&gt;RN and Flutter use cases with applications examples.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  React Native and Flutter the essence
&lt;/h2&gt;

&lt;h3&gt;
  
  
  React Native
&lt;/h3&gt;

&lt;p&gt;React Native is a free and open-source framework for developing mobile, web, desktop &amp;amp; other cross-platform applications. But in contrast to Flutter, the performance is much better with the web apps. &lt;/p&gt;

&lt;p&gt;The Facebook team released it in 2015, and it has much hype from the start. Its impressive tools set and performance brought the framework popularity and the devoted community of contributors. &lt;a href="https://www.akveo.com/blog/react-native-for-mobile-app-development-points-to-consider-in-2021"&gt;At present, Rect Native&lt;/a&gt; offers even more development capabilities and evolves into complete platform agnosticism, bridge simplification, and streaming model upgrade.&lt;/p&gt;

&lt;p&gt;React Native uses React web development framework as a basis. RN uses JavaScript, TypeScript, and JSX programming languages basis which makes the platform easy to use for the majority of developers. React Native controls native rendering through Objective C/ Swift on iOS and Java/Kotlin on Android. &lt;a href="https://www.akveo.com/blog/how-does-react-native-work"&gt;React Native works&lt;/a&gt; with components to render the app natively on various platforms. The components are the substitutes of widgets. They are easy-to-use but look not as natively and aesthetic as the widgets. &lt;/p&gt;

&lt;h3&gt;
  
  
  Flutter
&lt;/h3&gt;

&lt;p&gt;Flutter is a Software Development Kit (SDK) for cross-platform development. Similar to React Native it is free, open-source, and allows developers to create all kinds of applications (mobile, desktop, various types of web apps, and more).  &lt;/p&gt;

&lt;p&gt;Google presented Flutter in 2018 as a beta version. Then, in 2019, after stabilizing the APIs and improving the system in line with the users’ feedback, the team announced Flutter 1.7. Since that time, the Flutter community has been growing rapidly.&lt;/p&gt;

&lt;p&gt;Flutter uses the Dart client-optimized programming language. Like Flutter, it was created by Google especially for fast and complex applications. Dart is written with JavaScript and resembles it in a lot of ways. The language will be easy to learn for developers who have experience with JavaScript and C#. Apart from the language, Flutter's widgets enhance the rendering performance and cross-platform capabilities of the platform. &lt;/p&gt;

&lt;h2&gt;
  
  
  React Native vs. Flutter: the ultimate battle
&lt;/h2&gt;

&lt;p&gt;In this section, we will compare performance metrics and features of the two frameworks. &lt;/p&gt;

&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;

&lt;p&gt;In terms of architecture, React Native and Flutter have much in common. Flutter has similar structural elements except for the Bridge and the programming language. It makes the performance of Flutter applications better than React Native ones. &lt;/p&gt;

&lt;p&gt;As we said, React Native has a slightly more complex structure than Flutter. Also, it includes some unique structural elements like JS input.  With RN, you can use multiple UI/code frameworks, libraries (Ignite CLI, Native Base, &lt;a href="https://akveo.github.io/react-native-ui-kitten/?__hstc=205619788.7a54319d5db947543aa8a843c68defdb.1631718738635.1633848262147.1633932952319.61&amp;amp;__hssc=205619788.1.1633932952319&amp;amp;__hsfp=3006044495"&gt;UI Kitten&lt;/a&gt;), and native modules to streamline the development process.&lt;/p&gt;

&lt;p&gt;Winner: Flutter &lt;/p&gt;

&lt;h3&gt;
  
  
  Community
&lt;/h3&gt;

&lt;p&gt;The community is a vital factor for a cross-platform development framework. One way or another, you will encounter issues you won’t be able to resolve by yourself. What’s more, the popularity makes it easier &lt;a href="https://www.akveo.com/blog/how-to-hire-a-dedicated-react-native-developer-in-2021-ultimate-guide-interview-questions"&gt;to find an experienced and creative developer&lt;/a&gt; to create your app. In such cases, you can reach out to the community and get the support you need.&lt;/p&gt;

&lt;p&gt;Despite the Flutter’s young age and fledgling status, it has a mature community. Additionally, there are quite a lot of open libraries where you can find various functionalities. It would be fair to say that these libraries don’t contain all the functionalities you might need for your application. Thus, you’ll have to create them by yourself. But, the extension of the libraries is just a matter of time for the Flutter team and contributors.&lt;/p&gt;

&lt;p&gt;The Flutter community grows rapidly but doesn’t catch up with React Native’s level of support. RN is three years older than Flutter and had its time to gather up a significant group of contributors and fans. Moreover, it has been dominating the cross-platform development area until 2021. So, there’s no surprise that React Native has a stable community and comprehensive knowledge base. Besides, RN offers an unprecedented number of ready-made functionalities and component libraries. &lt;/p&gt;

&lt;p&gt;Winner: React Native&lt;/p&gt;

&lt;h3&gt;
  
  
  Code reusability
&lt;/h3&gt;

&lt;p&gt;With Flutter, you can build iOS and Android apps using a single codebase throughout iOS, Android, Windows, macOS, Linux. Also, you can create web apps for Firebase, Chrome, Safari, and Edge. Apart from that Flutter apps can be embedded with TV sets, cars, and smart home devices. However, sharing code in web environments can be quite challenging, considering the overall weak performance of Flutter there.&lt;/p&gt;

&lt;p&gt;Out-of-box you can reuse RN code across iOS and Android devices.  However, with the help of special libraries, you can apply the single code to the same platforms as Flutter.&lt;/p&gt;

&lt;p&gt;Another way you can share the RN code is to inject it as a dependency. To do that, you need to extract the code you share and to a separate repository and treat it as a separate project. &lt;/p&gt;

&lt;p&gt;The method allows developers to focus on the development of a platform-specific application without any concerns about compatibility with other platforms.&lt;/p&gt;

&lt;p&gt;Winner: Draw&lt;/p&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;p&gt;As both RN and Flutter work in several different environments, we will compare their performance in each of them.&lt;/p&gt;

&lt;h4&gt;
  
  
  Mobile
&lt;/h4&gt;

&lt;p&gt;Flutter performs various kinds of tasks much faster than React Native. This difference boils down to the architecture of the platforms. React Native has the Bridge element that takes its time and resources to translate the JS code into native platform-specific languages. &lt;/p&gt;

&lt;p&gt;At the same time, Flutter doesn’t need any additional interlayers. It takes load from a device and streamlines the application performance. Also, Flutter has a powerful C++ visual engine that makes the rendering of mobile apps seamless and detailed.  &lt;/p&gt;

&lt;p&gt;Winner: Flutter&lt;/p&gt;

&lt;h4&gt;
  
  
  Web
&lt;/h4&gt;

&lt;p&gt;So as React Native is based on React web development platform, it dominates the web application development field. In addition, RN uses JavaScript which straightens the front-end side of its web applications. React Native suits for the development of all kinds of web applications:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;PWAs (Powerful Web Applications) that have the capabilities of a desktop app. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SPAs (single page apps) that load once and transmit the info from the internet services to the app and vice versa. &lt;br&gt;
On the other hand, Flutter’s Dart programming language is rarely used for web applications development. So, Flutter web application development capability is more of a nice-to-have feature. Still, Flutter web applications can be quite performant and fast.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Winner: React Native&lt;/p&gt;

&lt;h4&gt;
  
  
  Desktop
&lt;/h4&gt;

&lt;p&gt;React Native desktop applications perform slightly better than Flutter. For example, an RN app can generate random DNA sequences only in two seconds and consume 71 kb of operational memory. In contrast, it would take 6 seconds and 159 kb to execute the same operation. &lt;/p&gt;

&lt;p&gt;Winner: React Native&lt;/p&gt;

&lt;h3&gt;
  
  
  Application UI &amp;amp; Styles
&lt;/h3&gt;

&lt;p&gt;Widgets and Dart UI capabilities win the game for Flutter in the rendering competition. They are based on material design and give developers more freedom of expression in UI development. Further, the Flutter applications will look the same on the newest and older devices. Flutter mobile apps look more like hybrid applications made in Ionic or Xmarin than native. &lt;/p&gt;

&lt;p&gt;React Native uses platform-specific graphic blocks to build UIs. It uses JavaScript and React instead of native languages (Java, Swift, Kotlin, etc.)  Besides, React Native employs Virtual Dom instead of using Web Views to render the interfaces. It enhances the rendering performance, optimizes a device’s memory usage, and makes an application lighter. Virtual DOM is especially useful for web applications rendering. And, finally, React Native uses native UI components so they update together with the iOS/Android app without any delay. &lt;/p&gt;

&lt;p&gt;Eventually, both platforms are capable of pixel-perfect and seamless UI rendering. Flutters’ lack of native look is compensated with the vast styling features. At the same time, React Native’s native look and performance are slightly overshadowed by the lack of style variety.&lt;/p&gt;

&lt;p&gt;Winner: Draw&lt;/p&gt;

&lt;h4&gt;
  
  
  Testing
&lt;/h4&gt;

&lt;p&gt;With React Native and Flutter, developers can reduce testing time by half. It is possible because QA specialists can run the same test on two mobile platforms. Although, the applications for both platforms should be identical. In other words, the more similarities between the applications, the less testing they require. &lt;/p&gt;

&lt;p&gt;React Native supports the IDE software suite, which opens wide testing automation capabilities. So, developers can choose from Espresso, Jasmine, KIF, Appium, Calabash, UI Automation, Robotium, Frank, TestNG, and more. The weakness of React Native application testing is that you won’t have any support or documentation for the testing routines. &lt;/p&gt;

&lt;p&gt;Flutter testing has three categories: integration testing, unit testing, and widget testing. As opposed to RN, all three categories of testing have the support and detailed documentation. Dart programming language is great for non-UI testing because it runs on your development hardware. Also, Dart has vast testing automation features and tools like IDE (debugging), DartDevTools, and Continuous Integration (CI).&lt;/p&gt;

&lt;p&gt;Winner: Draw&lt;/p&gt;

&lt;h2&gt;
  
  
  React Native Pros and Cons
&lt;/h2&gt;

&lt;p&gt;Pros&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open-source and free-to-use;&lt;/li&gt;
&lt;li&gt;You can access platform-specific APIs asynchronously;&lt;/li&gt;
&lt;li&gt;High development speed due to the code-sharing, components reusability, and hot reload feature;&lt;/li&gt;
&lt;li&gt;Flexible code;&lt;/li&gt;
&lt;li&gt;You can build apps for multiple platforms;&lt;/li&gt;
&lt;li&gt;Strong developer community with thousands of contributors that expand the framework’s feature set and provide support;&lt;/li&gt;
&lt;li&gt;3d party libraries support pre-made code patterns;&lt;/li&gt;
&lt;li&gt;Exceptional UI rendering capabilities with the help of Virtual DOM without using WebViews;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Native controls that facilitate the development process.&lt;br&gt;
Cons&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RN developers may need native platform knowledge to solve more specific tasks;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;May require additional infrastructure to maintain complex applications;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Debugging can be challenging.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Flutter Pros and Cons
&lt;/h2&gt;

&lt;p&gt;Pros&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast coding process with hot reload feature;&lt;/li&gt;
&lt;li&gt;Vast code-sharing capabilities;&lt;/li&gt;
&lt;li&gt;Flutter apps are very fast and performant;&lt;/li&gt;
&lt;li&gt;Ambitious and rapidly growing community;&lt;/li&gt;
&lt;li&gt;Aesthetic designs on all kinds of devices;&lt;/li&gt;
&lt;li&gt;Very low time-to-market;&lt;/li&gt;
&lt;li&gt;Rich UIs due to the programming language;&lt;/li&gt;
&lt;li&gt;Works with all platforms and devices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Relatively small community;&lt;/li&gt;
&lt;li&gt;Functional libraries and support aren’t complete because of the young age of the platform;&lt;/li&gt;
&lt;li&gt;Weak performance in web environments.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When to Use Flutter and React Native
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Flutter
&lt;/h3&gt;

&lt;p&gt;Opt for Flutter in the following cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You’d like to create a platform-specific design for your application;&lt;/li&gt;
&lt;li&gt;You need an extremely fast and performant application;&lt;/li&gt;
&lt;li&gt;You are ready to create some functionalities for your app by yourself;&lt;/li&gt;
&lt;li&gt;You want to create the instant and small-sized app;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Google Ads app
&lt;/h4&gt;

&lt;p&gt;Google ads mobile app helps managers track their advertisement campaigns on the go. The functions of the application are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time performance summaries and notifications;&lt;/li&gt;
&lt;li&gt;Ad campaigns management;&lt;/li&gt;
&lt;li&gt;Monitor advertisement performance any time anywhere.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  eBay Motors
&lt;/h4&gt;

&lt;p&gt;This application helps car owners and vendors to sell their vehicles right from their smartphones. It allows users to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To pay for the cars from the application due to the payment systems integration;&lt;/li&gt;
&lt;li&gt;Arrange shipping of the vehicle;&lt;/li&gt;
&lt;li&gt;Have message/voice negotiations;&lt;/li&gt;
&lt;li&gt;Uploading the photos of the vehicle and the related documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Philips Hue
&lt;/h4&gt;

&lt;p&gt;The app allows users to control the light in their room. To perform its functions the application includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bluetooth to connect with the Philips illumination devices;&lt;/li&gt;
&lt;li&gt;Integration with a device’s microphone for voice lightning control;&lt;/li&gt;
&lt;li&gt;Light change timer for special moments and times of the day.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  React Native
&lt;/h3&gt;

&lt;p&gt;React Native perfectly suits you in the following cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want to build your MVP at short notice. With React Native, it will take only several weeks;&lt;/li&gt;
&lt;li&gt;You are counting on the community support during your app development;&lt;/li&gt;
&lt;li&gt;You need easy access to platforms’ hardware functionality without 3d party plugins;&lt;/li&gt;
&lt;li&gt;You’d like to use the app in the web environment too;&lt;/li&gt;
&lt;li&gt;Your app requires complex controls and operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Facebook
&lt;/h4&gt;

&lt;p&gt;Unsurprisingly, the company demonstrated the capabilities of its framework, creating Facebook social media mobile app for Android and iOS. Among the application’s features are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Text/voice messaging, video chats, and phone calls;&lt;/li&gt;
&lt;li&gt;Location tracking through GPS;&lt;/li&gt;
&lt;li&gt;Photo, video, music cloud storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Walmart
&lt;/h4&gt;

&lt;p&gt;The largest retailer in the US, Walmart, entrusted its mobile app to the React Native developers. They’ve created a functional app capable of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrated chat-bot for customer support;&lt;/li&gt;
&lt;li&gt;GEO-positioning of goods and customers for delivering them;&lt;/li&gt;
&lt;li&gt;Price scanner and medical prescriptions management.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Instagram
&lt;/h4&gt;

&lt;p&gt;The world’s best photo/video-sharing platform is also made with React Native. The app has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The ability to connect with smartphone’s camera, record stories, make photos, period and record videos;&lt;/li&gt;
&lt;li&gt;Capacious and high-performant cloud storage;&lt;/li&gt;
&lt;li&gt;Text chat, collaboration tools, real-time photo/video content editing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Now, it’s time to summarize all the facts about the frameworks and decide which application is better. It's up to you and the choice depends on your application requirements. Both React Native and Flutter can give birth to performant and rather fast cross-platform applications for different devices. Both of them offer cool features like hot/live reload that enhance the development process and have exceptional UI rendering capabilities.  &lt;/p&gt;

&lt;p&gt;However, the frameworks differ in structure, cross-platform development approaches, programming languages, and the capacity for design and styling. &lt;/p&gt;

&lt;p&gt;Hope this comparison helped you to choose the appropriate cross-platform framework for your new application. Good luck!&lt;/p&gt;

&lt;p&gt;P.S. If you still have questions or want to delegate your cross-platform development to a solid and experienced team of developers, &lt;a href="https://www.akveo.com/contact"&gt;contact us&lt;/a&gt;. Akveo provides the full cycle of services including app development, UI/UX &amp;amp; web design, branding, quality assurance, and technology consulting. &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>reactnative</category>
      <category>flutter</category>
      <category>beginners</category>
    </item>
    <item>
      <title>NativeScript vs React Native: which one to choose for Native app development in 2021</title>
      <dc:creator>Max Tsurbeliov</dc:creator>
      <pubDate>Sun, 10 Oct 2021 07:46:19 +0000</pubDate>
      <link>https://dev.to/akveo/nativescript-vs-react-native-which-one-to-choose-for-native-app-development-in-2021-1j71</link>
      <guid>https://dev.to/akveo/nativescript-vs-react-native-which-one-to-choose-for-native-app-development-in-2021-1j71</guid>
      <description>&lt;p&gt;React Native and NativeScript occupy a special place in the cross-platform development sphere. These frameworks, once created, have changed the multiplatform development paradigm, allowing developers to create both performant and user-friendly applications. Since then, they’ve been gaining fans and contributors from all over the world, facilitating the app's development process and making it easy, cheap, and enjoyable.  &lt;/p&gt;

&lt;p&gt;However, despite the common traits and purpose, React Native and Native Script do the job in their way. That’s exactly what this article will be centered about.&lt;/p&gt;

&lt;p&gt;Here, we will clash React Native vs Native Script and reveal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The essence of the React Native and Native Script; &lt;/li&gt;
&lt;li&gt;What apps you can create with each framework;&lt;/li&gt;
&lt;li&gt;The difference between them by the several vital performance metrics;&lt;/li&gt;
&lt;li&gt;Pros and Cons of React Native and Native Script;
&lt;/li&gt;
&lt;li&gt;Which framework to choose for your development project. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What NativeScript and React Native are
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Native Script
&lt;/h3&gt;

&lt;p&gt;Native Script is an open-source cross-platform mobile development framework. It was founded in 2015 by Progress Software company which went by the name Telerik at the time. &lt;/p&gt;

&lt;p&gt;Using Native Script, developers can create iOS, Android, and Universal Windows Platform apps with JavaScrips, XML, or CSS. The framework employs a special, JS-based engine for the native rendering of apps’ UIs, which makes the user experience truly native. Additionally, Native Script is compatible with Angular, Vue.js frameworks, and TypeScript. That diversity of languages and tools opens wide creative possibilities for developers.&lt;/p&gt;

&lt;p&gt;In terms of architecture, the framework includes JS virtual machine for JavaScript code interpretation, runtimes to call the platform-specific APIs, and the native bridge that transforms all the preceding commands into natively rendering UI. &lt;/p&gt;

&lt;h3&gt;
  
  
  React Native
&lt;/h3&gt;

&lt;p&gt;React Native is a free and open-source framework for developing mobile, web, desktop &amp;amp; other cross-platform applications. The Facebook team released it in 2015, and it has much hype from the start. Its popularity and the fast-growing developer community around the framework were a result of impressive tools set, high performance, and unique features (e.g. hot reload). &lt;a href="https://www.akveo.com/blog/react-native-for-mobile-app-development-points-to-consider-in-2021"&gt;At present, Rect Native&lt;/a&gt; offers even more development capabilities and evolves into complete platform agnosticism, bridge simplification, and streaming model upgrade.&lt;/p&gt;

&lt;p&gt;The framework is based on the React web development framework. &lt;a href="https://www.akveo.com/blog/how-does-react-native-work"&gt;React Native works&lt;/a&gt; with React JS library to render the app natively on various platforms. RN uses JavaScript, TypeScript, and JSX programming languages basis which makes the platform easy to use for the majority of developers. React Native controls native rendering through Objective C/ Swift on iOS and Java/Kotlin on Android. &lt;/p&gt;

&lt;p&gt;The architecture of React Native is quite similar to NativeScript’s except for the Safari core and additional libraries of the first. For the rest, it’s the same JS input and the bridge. With RN, you can use multiple UI/code frameworks, libraries (Ignite CLI, Native Base, &lt;a href="https://akveo.github.io/react-native-ui-kitten/"&gt;UI Kitten&lt;/a&gt;), and native modules to streamline the development process. &lt;/p&gt;

&lt;h2&gt;
  
  
  React Native vs Native Script. The main differences and similarities.
&lt;/h2&gt;

&lt;p&gt;Despite both platforms’ aim to create cross-platform apps, they have several distinct features and major differences on several layers. Let’s compare them with the following core performance points. &lt;/p&gt;

&lt;h3&gt;
  
  
  Learning curve
&lt;/h3&gt;

&lt;p&gt;React Native and Native Script rely on JavaScript, &lt;a href="https://insights.stackoverflow.com/survey/2020#technology-programming-scripting-and-markup-languages-professional-developers"&gt;the most commonly used programming language in the world&lt;/a&gt;. Thus, both platforms are easy to learn for a large group of developers. Also, the JavaScript basis makes the frameworks strong from the front-end side. &lt;/p&gt;

&lt;p&gt;However, React Native has React JS background with its Immutables, Repositories, and Redux. The developers with the React background will experience a gradual and smooth RN learning process.&lt;/p&gt;

&lt;p&gt;NativeScript, in its turn, works with all of the JavaScript frameworks. Usually, NS developers leverage Vue.js, TypeScript, and Angular. The learning curve with the framework will be steep in the early learning stages for Angular developers. Then, to use all the declarative programming power of the platform, developers will need to become familiar with other frameworks. &lt;/p&gt;

&lt;p&gt;Conclusion: React Native has a more smooth learning curve while Native Script is positively abrupt in the beginning. Eventually, the learning curve of Native Script becomes more beneficial later.&lt;/p&gt;

&lt;h3&gt;
  
  
  Community
&lt;/h3&gt;

&lt;p&gt;In terms of the developers’ community behind the platforms, React Native has much more support. First of all, it was created by fortune 500 company Facebook that has been expanding RN’s functionality at a fast pace from the very beginning. The company provides exceptional support for the newcomers that draws attention to the framework. Currently, React Native gathered more than 2000 contributors who develop features and add new plugins to the framework. Such popularity increases the RN gravity too, making it easier &lt;a href="https://www.akveo.com/blog/how-to-hire-a-dedicated-react-native-developer-in-2021-ultimate-guide-interview-questions"&gt;to find a React Native developer&lt;/a&gt;. Now, only Flutter is competing with it for the attention of cross-platform developers. &lt;/p&gt;

&lt;p&gt;Native Script, on the contrary, is backed by 190+ contributors at the moment. The popularity rates are also much lower and decrease, according to &lt;a href="https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/"&gt;the latest research&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Conclusion: React Native is more popular among developers than Native Script and has a large developer community. &lt;/p&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;p&gt;React Native renders UIs much faster than Native Script due to its Virtual DOM usage. Moreover, Native Script has a single-threaded model of APIs accessing. It can hinder the app’s performance while executing the intensive code. &lt;/p&gt;

&lt;p&gt;In contrast, React Native uses separate threads. JS thread contains all the business logic and handles user interactions. The main thread, for its part, is responsible for executing native API calls. React Native has the asynchronous type of communication between threads which makes rendering less laggy than on Native Script. &lt;/p&gt;

&lt;p&gt;As for the code-sharing and components’ reuse, the frameworks are equal. Both of them can share almost all the code throughout different platforms. The percentage of the code depends on the complexity and custom features of an application. The more sophisticated the code and UI, the less code you can share between the platforms. &lt;/p&gt;

&lt;p&gt;Conclusion: React Native performs better than Native Script due to its multi-threaded system and Virtual DOM usage. At the same time, both platforms have equal code-sharing capabilities. &lt;/p&gt;

&lt;h3&gt;
  
  
  Application field
&lt;/h3&gt;

&lt;p&gt;The cross-platform capacity of React Native is huge. Using it, developers can create apps for the following platforms: macOS, Linux, Windows, iOS, Android, Apple tvOS. Such variety became possible thanks to the contributors that developed specific RN forks and adaptations.&lt;/p&gt;

&lt;p&gt;Native Script, in this regard, has much less to offer. Developers can build NS applications for three platforms: iOS, Android, and Windows. Though, its community is also working to use the framework on other platforms.&lt;/p&gt;

&lt;p&gt;Conclusion: React Native works with more platforms than Native Script at the moment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Testing
&lt;/h3&gt;

&lt;p&gt;React Native supports the IDE software suite, which opens wide testing automation capabilities. So, developers can choose from Espresso, Jasmine, KIF, Appium, Calabash, UI Automation, Robotium, Frank, TestNG, and more.&lt;/p&gt;

&lt;p&gt;Native Script has its own QA workflow that was aerated in 2017. Thus, various types of testing can be launched from its CLI, but only with Mocha, Quint, Jasmine, and Appium for functional testing.&lt;/p&gt;

&lt;p&gt;Conclusion: React Native has more convenient testing automation and gives more freedom of choice concerning testing tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pros and Cons of RN and NS
&lt;/h2&gt;

&lt;p&gt;In this section, we will review the pros and cons of each framework so you can see their strengths and weaknesses more clearly.&lt;/p&gt;

&lt;h3&gt;
  
  
  React Native Pros and Cons
&lt;/h3&gt;

&lt;p&gt;Pros&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open-source and free-to-use;&lt;/li&gt;
&lt;li&gt;You can access platform-specific APIs asynchronously;&lt;/li&gt;
&lt;li&gt;High development speed due to the code-sharing, components reusability, and hot reload feature;&lt;/li&gt;
&lt;li&gt;Flexible code;&lt;/li&gt;
&lt;li&gt;You can build apps for multiple platforms;&lt;/li&gt;
&lt;li&gt;Strong developer community with thousands of contributors that expand the framework’s feature set and provide support;&lt;/li&gt;
&lt;li&gt;3d party libraries support pre-made code patterns;&lt;/li&gt;
&lt;li&gt;Exceptional UI rendering capabilities with the help of Virtual DOM without using WebViews;&lt;/li&gt;
&lt;li&gt;Native controls that facilitate the development process.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RN developers may need native platform knowledge to solve more specific tasks;&lt;/li&gt;
&lt;li&gt;May require additional infrastructure to maintain complex applications;&lt;/li&gt;
&lt;li&gt;Debugging can be challenging.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Native Script Pros and Cons
&lt;/h3&gt;

&lt;p&gt;Pros&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remote services for NativeScript Android and iOS apps building;&lt;/li&gt;
&lt;li&gt;Open-source and free of charge cross-platform development framework;&lt;/li&gt;
&lt;li&gt;Renders UIs natively without using WebViews;&lt;/li&gt;
&lt;li&gt;Works great with Angular and Vue.js;&lt;/li&gt;
&lt;li&gt;Includes hooks usage for client-line interfaces’ customization;&lt;/li&gt;
&lt;li&gt;Provides direct access to Android and iOS APIs;&lt;/li&gt;
&lt;li&gt;Allows to reuse code across iOS and Android platforms;&lt;/li&gt;
&lt;li&gt;Explicit documentation along with tutorials, applications samples, and forums to help developers learn how to use Native Script;&lt;/li&gt;
&lt;li&gt;Improved app building and deployment backed by Telerik platform;&lt;/li&gt;
&lt;li&gt;Developers can install and use various NativeScript plugins.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Doesn’t support DOM and HTML;&lt;/li&gt;
&lt;li&gt;All JavaScript code executes on the main thread;&lt;/li&gt;
&lt;li&gt;NativeScript plugins have dubious quality (weren’t tested); &lt;/li&gt;
&lt;li&gt;Testing is available on real devices or emulators, and you need to reload the system to see the changes;&lt;/li&gt;
&lt;li&gt;There are no ready-made UI collections;&lt;/li&gt;
&lt;li&gt;You should pay for some of the additional UI components (calendars, charts, etc.);&lt;/li&gt;
&lt;li&gt;Devs need to know native iOS and Android to reach platforms’ hardware and functionalities.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When to use React Native and NativeScript
&lt;/h2&gt;

&lt;h3&gt;
  
  
  React Native use cases and app examples
&lt;/h3&gt;

&lt;p&gt;React Native perfectly suits you in the following cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want to build your MVP at short notice. With React Native, it will take only several weeks;&lt;/li&gt;
&lt;li&gt;You plan to use your app across multiple platforms;&lt;/li&gt;
&lt;li&gt;You need easy access to platforms’ hardware functionality without 3d party plugins;&lt;/li&gt;
&lt;li&gt;Your app requires complex controls and operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Applications examples:&lt;/p&gt;

&lt;h3&gt;
  
  
  Facebook
&lt;/h3&gt;

&lt;p&gt;Unsurprisingly, the company demonstrated the capabilities of its framework, creating Facebook social media mobile app for Android and iOS. Among the application’s features are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Text/voice messaging, video chats, and phone calls;&lt;/li&gt;
&lt;li&gt;Location tracking through GPS;&lt;/li&gt;
&lt;li&gt;Photo, video, music cloud storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Walmart
&lt;/h3&gt;

&lt;p&gt;The largest retailer in the US, Walmart, entrusted its mobile app to the React Native developers. They’ve created a functional app capable of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrated chat-bot for customer support;&lt;/li&gt;
&lt;li&gt;GEO-positioning of goods and customers for delivering them;&lt;/li&gt;
&lt;li&gt;Price scanner and medical prescriptions management.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Instagram
&lt;/h3&gt;

&lt;p&gt;The world’s best photo/video-sharing platform is also made with React Native. The app has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The ability to connect with smartphone’s camera, record stories, make photos, period and record videos;&lt;/li&gt;
&lt;li&gt;Capacious and high-performant cloud storage;&lt;/li&gt;
&lt;li&gt;Text chat, collaboration tools, real-time photo/video content editing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Native Script use cases and app examples
&lt;/h3&gt;

&lt;p&gt;Leverage Native Script framework if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You are going to create a simple application without any customized or unusual platform-specific components for iOS and Android;&lt;/li&gt;
&lt;li&gt;You’d like to add customize your app’s interface but are not familiar with Objective C, Kotlin, Swift, or Java;&lt;/li&gt;
&lt;li&gt;You want to create a web clone of your application with Angular or Vue.js.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Applications examples:&lt;/p&gt;

&lt;h3&gt;
  
  
  Raiffeisen Bank
&lt;/h3&gt;

&lt;p&gt;One of the most reputable banks in Europe, Raiffeisen, has chosen Native Script to build its mobile application. Its functionality includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instant money transactions within the bank environment and outside of it by phone number;&lt;/li&gt;
&lt;li&gt;Multiple accounts/cards monitoring and management; &lt;/li&gt;
&lt;li&gt;Other bank accounts and debit cards replenishment;&lt;/li&gt;
&lt;li&gt;See the bank branches in your area.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Ragelneef
&lt;/h3&gt;

&lt;p&gt;This is the app for energy consumption control and electricity costs management. It allows users to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Estimate amounts of electricity you consume in a certain period of time;&lt;/li&gt;
&lt;li&gt;Control your expenses and save money on electricity;&lt;/li&gt;
&lt;li&gt;Watch your energy consumption history in a chart.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Daily Nanny
&lt;/h3&gt;

&lt;p&gt;This app is a helper for parents who hired a nanny to watch after their children while they are away. Using it, they can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chat with a nanny and give written instructions so that he/she won’t miss any important information;&lt;/li&gt;
&lt;li&gt;Control nanny’s actions and receive photo/video reports any time;&lt;/li&gt;
&lt;li&gt;Monitor the child’s nourishment and leisure.
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrap up
&lt;/h2&gt;

&lt;p&gt;Now, it’s time to make a choice. As you can see, React Native is a more popular, fast-evolving, and performant framework than Native Script. Besides, it has a much larger developer community that can support you during your cross-platform app development. Using RN you can develop an app for more platforms, reuse UI components and render complex interfaces. However, if you prefer to code with Angular or Vue js. rather than React, and use the related plugins Native Script will suit you better. In fact, both platforms make the cross-platform development process fast with their code-sharing features.  &lt;/p&gt;

&lt;p&gt;P.S. If you still have questions or want to delegate your cross-platform development to a solid and experienced team of developers, &lt;a href="https://www.akveo.com/contact"&gt;contact us&lt;/a&gt;. Akveo provides the full cycle of services including app development, UI/UX &amp;amp; web design, branding, quality assurance, and technology consulting. &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>reactnative</category>
      <category>nativescript</category>
      <category>typescript</category>
    </item>
    <item>
      <title>How Does React Native Work?</title>
      <dc:creator>Max Tsurbeliov</dc:creator>
      <pubDate>Wed, 06 Oct 2021 11:49:21 +0000</pubDate>
      <link>https://dev.to/akveo/how-does-react-native-work-2a8h</link>
      <guid>https://dev.to/akveo/how-does-react-native-work-2a8h</guid>
      <description>&lt;p&gt;React Native is one of the leading cross-platform developing frameworks nowadays. &lt;a href="https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/"&gt;Recent research shows&lt;/a&gt; that 38% of developers use React Native to create mobile, desktop, and other types of apps in 2021.&lt;/p&gt;

&lt;p&gt;React Native is valuable because of the open-source, broad spectrum of features and application area it presents. In this article, we invite you to look under the hood of the framework and find out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is React Native;&lt;/li&gt;
&lt;li&gt;How does React Native work?;&lt;/li&gt;
&lt;li&gt;React Native development process;&lt;/li&gt;
&lt;li&gt;React Native features;&lt;/li&gt;
&lt;li&gt;The future of React Native.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is React Native
&lt;/h2&gt;

&lt;p&gt;React Native was created in 2015 by Facebook. Developers wrote it in JavaScript after they faced the problem of rendering React web applications on mobile devices. It gained popularity very fast for its features and capabilities. Among the React Native applications are Instagram, Facebook, Tesla, Skype, UberEats, Walmart, and Shopify.&lt;/p&gt;

&lt;p&gt;Initially, the Facebook team designed React Native to create natively rendering Android, and iOS mobile apps, using React JS library. Then, due to the open environment of the framework, developers from all over the world contributed to it and extended its capabilities. Now, &lt;a href="https://reactnative.dev/docs/out-of-tree-platforms"&gt;it works with major mobile platforms&lt;/a&gt; and Linux, macOS, Windows, etc. &lt;/p&gt;

&lt;h2&gt;
  
  
  How does React Native work?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  React Native architecture
&lt;/h3&gt;

&lt;p&gt;The cross-platform capability of React Native becomes possible owing to its unique architecture. &lt;/p&gt;

&lt;p&gt;The core element of React Native architecture is the Bridge. This system employs React library to render the application on a device. Simply put, the bridge transforms the JS code into the native components and vice versa. The bridge translates JavaScript into platform-specific components. It gets the JS call, leverages the APIs (Kotlin, Objective C, Java), which allows native rendering of an application. The process doesn’t affect user experience because these async calls take place apart from the main thread.&lt;/p&gt;

&lt;p&gt;However, if your app employs multiple threads and large amounts of data, this structure can cause delays. &lt;/p&gt;

&lt;h3&gt;
  
  
  Development process
&lt;/h3&gt;

&lt;p&gt;React Native is based on React and uses the single JavaScript codebase to reuse the code on various platforms. Unlike Ionic and many other cross-platform development frameworks, React Native renders native components by invoking platform-specific APIs. For instance, to render UI components on iOS, React Native uses either Objective C or Swift APIs. As for Android mobile applications, it will be Java or Kotlin. In fact, a developer doesn’t need to know Objective C or Java to create the apps. &lt;/p&gt;

&lt;p&gt;The React Native development process happens in JavaScript, TypeScript, and JSX. The developers can reuse significant parts (up to 100%) of the code. &lt;/p&gt;

&lt;p&gt;Another peculiarity of React Native is its commands for component creation. Instead of HTML components, RN has specific components that replace them.&lt;/p&gt;

&lt;p&gt;Also, features like 3d party library support, hot reload, and vast UI libraries make the development process much more easy and productive for developers. When an application is ready, you can connect it with &lt;a href="https://www.akveo.com/blog/7-best-react-native-databases-and-how-to-choose-the-right-one-in-2021"&gt;a cloud or local database&lt;/a&gt; to provide the storage capacity.&lt;/p&gt;

&lt;h2&gt;
  
  
  React Native features
&lt;/h2&gt;

&lt;p&gt;Here, we will elaborate on React Native features that make the framework prominent.&lt;/p&gt;

&lt;h3&gt;
  
  
  NPM repository support
&lt;/h3&gt;

&lt;p&gt;NPM (Node Package Manager) streamlines React Native apps development process. NPM is a repository of pre-made libraries that developers can use working with React Native framework. This feature makes the development process much faster, allowing React Native developers to upload the code patterns from the NPM libraries. &lt;/p&gt;

&lt;h3&gt;
  
  
  Code reusability
&lt;/h3&gt;

&lt;p&gt;This is the core feature of any cross-platform development framework. However, the percentage of code you can reuse varies from platform to platform. In the case of React Native, you can use almost all the code throughout the different platforms. This feature saves plenty of time and reduces costs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Flexible programming language
&lt;/h3&gt;

&lt;p&gt;The programming language and its flexibility play a crucial part in the framework’s performance and success. The more common the core language of the cross-platform development framework, the faster and easier the learning process becomes. It means you won’t have any problems training your JS developers to work with React Native. However, if you want to create a unique app faster, it makes sense &lt;a href="https://www.akveo.com/blog/how-to-hire-a-dedicated-react-native-developer-in-2021-ultimate-guide-interview-questions"&gt;to hire experienced React Native developers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Apart from that, React Native uses JavaScript as a base and supports TypeScript out-of-the-box. These peculiarities make the React Native platform accessible for a larger group of developers. &lt;a href="https://insights.stackoverflow.com/survey/2020#technology-programming-scripting-and-markup-languages-professional-developers"&gt;According to the latest developer survey&lt;/a&gt;, JS is the most popular programming language, with around 70% of developers using it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Strong developer community
&lt;/h3&gt;

&lt;p&gt;React Native framework became popular among developers around the world almost instantly after its launch in 2015. Ever since, the community has been growing and contributing to the open-source framework, extending its functionality and making it faster. This characteristic secures the future of React Native cross-platform framework and makes it attractive for other developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  3d party libraries support
&lt;/h3&gt;

&lt;p&gt;Another feature that makes React Native stand out from the other cross-platform frameworks is the 3d party libraries’ support. Integration with 3d party libraries empowers developers with more out-of-the-box solutions and broadens the development opportunities. &lt;/p&gt;

&lt;h3&gt;
  
  
  High performance in mobile environments
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.akveo.com/blog/react-native-for-mobile-app-development-points-to-consider-in-2021"&gt;React Native has been working with mobile platforms&lt;/a&gt; (iOS, Android) from the first day of its existence. No wonder it has excellent performance with mobile apps development. React Native developers can reuse more code in the mobile environment than in any other, making it the fastest cross-platform framework for mobile apps now. &lt;/p&gt;

&lt;h3&gt;
  
  
  Live &amp;amp; Hot reload
&lt;/h3&gt;

&lt;p&gt;The HMR (Hot Module Replacement) facility allows React Native developers to change, add, and modify modules while the system is on the go. As a result, this feature streamlines the app development process in the following ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Saves time by updating only the changed code;&lt;/li&gt;
&lt;li&gt;Retains application’s state (that’s lost during the full reload);&lt;/li&gt;
&lt;li&gt;Updates the browser as soon as modifications in the JS code are made.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The live reload feature of React Native allows you to see the changes on your screen as soon as you change them. This feature is especially useful for mobile apps development. &lt;/p&gt;

&lt;h3&gt;
  
  
  Rich UI capabilities 
&lt;/h3&gt;

&lt;p&gt;React Native framework is the go-to option if you give much attention to the UI of your application. The framework has exceptional rendering capabilities along with numerous UI libraries for all types of applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  The future of React Native
&lt;/h2&gt;

&lt;p&gt;The Facebook team, along with all the contributors from the developer community, continue upgrading the React Native environment. They add new features, widen the functionality of React Native, and expand its cross-platform capacity. &lt;/p&gt;

&lt;p&gt;There is no doubt that with the high performance and the dedicated developer community behind it, React Native is here to stay and will continue to emerge. Currently, React Native framework emerges in the following directions:&lt;/p&gt;

&lt;h3&gt;
  
  
  Streaming model upgrade
&lt;/h3&gt;

&lt;p&gt;Currently, React Native community is bringing to life the Fabric project that should change the existing mechanism once and for all. It will allow developers to invoke JavaScript synchronously on a given thread. This feature will reduce the main thread load time without hindering the response.&lt;/p&gt;

&lt;h3&gt;
  
  
  Moving towards platform-agnosticism
&lt;/h3&gt;

&lt;p&gt;Platform-agnosticism is a certain app development philosophy that aims to create totally cross-platform applications. According to the concept, the ideal app is the one you can create once and use on every platform without any additional code manipulations. Although it’s not easy to achieve, the React Native community strives to make the framework capable of creating perfectly cross-platform applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bridge simplification
&lt;/h3&gt;

&lt;p&gt;The next development direction React Native community is moving towards is bridge simplification. This will enhance direct invocation between native and JavaScript and allow the creation of new debugging tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  Extension of Async capabilities
&lt;/h3&gt;

&lt;p&gt;Async upgrade is aiming to enhance the asynchronous rendering of React Native framework. This, in its turn, will streamline asynchronous data handling and rendering.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Taking into account all the technologies and features React Native represents, we can say for sure that it is a top cross-platform development framework. Developer community recognition, thousands of outstanding applications with billiards of users prove it. With the support of Facebook and thousands of contributors, React Native will definitely evolve and make the app development process easier, faster, and more enjoyable.&lt;/p&gt;

&lt;p&gt;By the way, the Akveo developers’ team is proud to add value to the React Native community with the free and open-source UI Kitten based on the &lt;a href="https://eva.design/products"&gt;Eva Design system&lt;/a&gt;. Many developers saved their time, and money, using it. You can &lt;a href="https://akveo.github.io/react-native-ui-kitten/"&gt;try the Kitten and see all the benefits for yourself&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>reactnative</category>
      <category>beginners</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Top 40 manual testing interview questions in 2021</title>
      <dc:creator>Julieta007</dc:creator>
      <pubDate>Wed, 11 Aug 2021 11:39:18 +0000</pubDate>
      <link>https://dev.to/akveo/top-40-manual-testing-interview-questions-in-2021-1ki4</link>
      <guid>https://dev.to/akveo/top-40-manual-testing-interview-questions-in-2021-1ki4</guid>
      <description>&lt;p&gt;In this article, we have collected and focused all our expertise to help you with the most useful questions and answers that will be helpful for you in a manual testing interview in 2021. Let's get started!&lt;/p&gt;

&lt;h2&gt;
  
  
  1. What does the test strategy include?
&lt;/h2&gt;

&lt;p&gt;This test strategy goal is to show customers all the activities and tools from the manual testing team for the project quality assurance. It should include the following points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Resource;&lt;/li&gt;
&lt;li&gt;Scope and timetable for test activities;&lt;/li&gt;
&lt;li&gt;Testing tools;&lt;/li&gt;
&lt;li&gt;Testing priorities;&lt;/li&gt;
&lt;li&gt;Test plan;&lt;/li&gt;
&lt;li&gt;Testing types.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. What is the goal of ad-hoc testing?
&lt;/h2&gt;

&lt;p&gt;Ad-hoc testing helps engineers to break the system without sticking to the pre-specified test cases. The goal is to find some issues that are not specified in requirements or test cases but could be faced by users in their critical path of usage.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. What testing types are more important?
&lt;/h2&gt;

&lt;p&gt;Here are the required testing types for having good quality and assure its maintenance:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unit testing;&lt;/li&gt;
&lt;li&gt;Integration testing;&lt;/li&gt;
&lt;li&gt;Systems testing;&lt;/li&gt;
&lt;li&gt;Functional testing;&lt;/li&gt;
&lt;li&gt;Non-functional testing;&lt;/li&gt;
&lt;li&gt;Regression testing;&lt;/li&gt;
&lt;li&gt;Sanity testing;&lt;/li&gt;
&lt;li&gt;Ad-Hoc testing;&lt;/li&gt;
&lt;li&gt;Smoke testing;&lt;/li&gt;
&lt;li&gt;Acceptance testing;&lt;/li&gt;
&lt;li&gt;Alpha testing;&lt;/li&gt;
&lt;li&gt;Beta Testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. What is the difference between functional and non-functional testing?
&lt;/h2&gt;

&lt;p&gt;Functional testing is more about the verification of functionalities' expected behavior. Commonly, functionality testing is about black-box testing. A tester doesn't need the code to check how functionalities are working. Non-functional testing is about checking non-functional items like performance, security, or usability of the application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--38z6xejl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sl2nhvp21zcfogdxjh5r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--38z6xejl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sl2nhvp21zcfogdxjh5r.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Have you had experience writing test cases without project requirements?
&lt;/h2&gt;

&lt;p&gt;The interviewer asks this question to understand how you can handle the kind of projects without any requirements. So, the best answer for this question is to share options on how you handled it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I tried to contact a Project manager/Product owner and ask questions about how this specific functionality should work.&lt;/li&gt;
&lt;li&gt;The second option is to do refinement meetings to refine requirements together with the whole team.&lt;/li&gt;
&lt;li&gt;The third option is to ask for BA for requirements and give highlights on why it is important.&lt;/li&gt;
&lt;li&gt;To implement Definitions of Ready for user stories before including tasks into the Sprint.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  6. Can you please give examples where it is important to provide the Regression testing?
&lt;/h2&gt;

&lt;p&gt;Here are the most important reasons why we should provide regression testing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bug fixes that could break working functionality;&lt;/li&gt;
&lt;li&gt;Big updates in a system;&lt;/li&gt;
&lt;li&gt;New functionalities;&lt;/li&gt;
&lt;li&gt;Extended testing before release.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  7. What is Acceptance testing, and when should you provide it?
&lt;/h2&gt;

&lt;p&gt;Acceptance testing evaluates if the application complies with the business requirements. Also, we use it to make sure the build is ready for presentation. As a rule, we provide acceptance testing at the end of a Sprint, just before delivering it to the customers. There is also the UAT (User Acceptance Testing) testing type. End-users or customers provide this type of manual testing to ensure that new functionalities meet the business requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. How important is it for QA to take part in development planning sessions?
&lt;/h2&gt;

&lt;p&gt;The importance of planning for QA is that QA engineers can estimate and plan their tasks during the Sprint. They can extrapolate the risks related to old functionalities to the new ones. Give recommendations and plan the quality control by keeping in mind the new development plan. The most important thing here is the risk management based on picked user stories. It's all about quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  9. At what stage of the project should QA activities start?
&lt;/h2&gt;

&lt;p&gt;The QA activities should start as early as possible. Ideally, it should accompany the development process from the very beginning. QA, here, helps avoid the risks connected to the quality. Thus, the team has more time to create a structured Test Plan and strategy to follow.&lt;/p&gt;

&lt;p&gt;If QA activities start later, it can cost a lot of money to fix all the bugs. Besides, most users can stop using the application because of the inconsistent performance.&lt;/p&gt;

&lt;p&gt;Otherwise, you'll need to postpone the release date to initiate an additional testing routine. Nevertheless, broken deadlines will also harm the product's reputation.&lt;/p&gt;

&lt;h2&gt;
  
  
  10. When is it required/recommended to automate the QA process?
&lt;/h2&gt;

&lt;p&gt;Usually, you automate QA processes for a stable build. Additionally, you can use it to make manual QA work easier while regression testing needs to be done.&lt;/p&gt;

&lt;p&gt;How will automation help with regression testing? When QA deals with new functionality, you can run automated tests. It will help to make sure that the existing functionalities' critical path works.&lt;/p&gt;

&lt;p&gt;There are good practices that don't allow the delivery of a build while all automated tests are not passed. Otherwise, the occurred issues should be fixed before delivery.&lt;/p&gt;

&lt;p&gt;Automation is also good to run for a Production environment. To ensure that while users deal with software applications, there are no critical issues. If there are, the team will have the ability to fix them as soon as possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  11. What is QA and QC?
&lt;/h2&gt;

&lt;p&gt;This is a confusing question for the QA engineers, but the most popular one during interviews. Let's start with quality assurance: QA specialists ensure quality for the product by process improvements, applying different approaches for the testing team and the whole team to improve the work and project quality.&lt;/p&gt;

&lt;p&gt;Quality Control (QC) is about providing testing approaches to understand that the application meets all the requirements and has no critical issues.&lt;/p&gt;

&lt;p&gt;In general, QA is a high-level activity that controls and applies everything to improve the software quality.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--czaezX8W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o4qbdu5rzt692kpy0lhp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--czaezX8W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o4qbdu5rzt692kpy0lhp.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  12. What must-have "Definition of Readies" would you add for a project?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Definition of Ready&lt;/strong&gt; should help a team to have finalized user stories with all crucial information and business requirements.&lt;/p&gt;

&lt;p&gt;An example of common DoR could be the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User story dependencies are defined;&lt;/li&gt;
&lt;li&gt;User story requirements defined;&lt;/li&gt;
&lt;li&gt;User story acceptance criteria are defined;&lt;/li&gt;
&lt;li&gt;User story can be divided into sub-tasks;&lt;/li&gt;
&lt;li&gt;The Sprint backlog is prioritized;&lt;/li&gt;
&lt;li&gt;The team has the same vision of new functionality.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  13. What is the difference between Sanity testing and Smoke testing?
&lt;/h2&gt;

&lt;p&gt;Mixing up the Sanity testing with Smoke testing is the common mistake testers make.&lt;/p&gt;

&lt;p&gt;First of all, I'd like to draw your attention to the fact that Sanity testing is a higher level of regression testing. The regression testing focuses only on details and has a deep dive into every functionality, whereas Sanity testing is focused on critical parts of functionalities.&lt;/p&gt;

&lt;p&gt;Sanity testing is the best option when there is no time for full regression testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  14. Can you explain the difference between retesting and regression testing?
&lt;/h2&gt;

&lt;p&gt;We make retesting to check if we've removed and fixed all the bugs from the software. In contrast, regression testing is about ensuring that every fix or update hasn't impacted working functionality negatively.&lt;/p&gt;

&lt;h2&gt;
  
  
  15. You have a two-week Sprint. Every two Sprints, the project goes to Production. How do you manage testing activities to assure quality?
&lt;/h2&gt;

&lt;p&gt;You can &lt;a href="https://www.akveo.com/blog/top-40-manual-testing-interview-questions"&gt;access questions 15-32 on Akveo official website&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  32. What does Quality mean?
&lt;/h2&gt;

&lt;p&gt;In the context of QA, the quality application means that it is error-free, meets all customer’s needs and requirements. The great product quality will result in customer satisfaction. So, you can measure your app’s quality by the level of customer loyalty. &lt;/p&gt;

&lt;p&gt;The most important traits of a high-quality application are: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Security: users can trust their personal data to us and feel safe about it; &lt;/li&gt;
&lt;li&gt;Performance: This is a crucial parameter for any application. Especially when the app uses the Internet or handles huge amounts of data. Top applications should demonstrate exceptional offline persistence and storage capacity;&lt;/li&gt;
&lt;li&gt;User-friendliness: A great application always has an intuitive and easy-to-use interface. This aspect has a decisive impact on the user experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  33. What is end-to-end testing?
&lt;/h2&gt;

&lt;p&gt;End-to-end testing is about testing the application from start to end. Testing includes the end-user use cases. End-to-end testing is about checking the application's business logic.&lt;/p&gt;

&lt;p&gt;In End-to-end testing, the application is being checked with all its dependencies and integrations: databases, 3rd party system, file system, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  34. What will you do if the Dev team doesn't agree with your corrections?
&lt;/h2&gt;

&lt;p&gt;The answer depends on the situation and team. There are a bunch of resolution options. Firstly, a QA engineer could relate to the requirements if there are some. If it is a non-functional bug, it is important to explain to a developer that it will affect user satisfaction. If the issue remains, then they can ask BA for help. Here, the bug importance also makes sense. You can skip some bugs when they don't affect user experience, functionality, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  35. Why does the project need unit tests if there are QA engineers in the team?
&lt;/h2&gt;

&lt;p&gt;Quality starts from the code. So, it is essential to test a code before having functionality for users.&lt;/p&gt;

&lt;p&gt;This is about bug costs. The critical bugs could cost more resources. So, it is important to have the right approach to quality, starting from the application code.&lt;/p&gt;

&lt;h2&gt;
  
  
  36. Why should Smoke testing be stopped when we face a blocker issue?
&lt;/h2&gt;

&lt;p&gt;The Smoke test is about checking the most important parts of the functionality. If you find them blocked, it doesn't make sense to provide further testing. It is critical to fix all the blocker issues before the beginning of the extended testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  37. Can you recollect your biggest manual testing failure, and what lessons did you learn from it?
&lt;/h2&gt;

&lt;p&gt;It is important to give some examples of the failures you had in your QA career. The interviewer would want to know your attitude toward making mistakes. Every good specialist has had some failures that have brought much work experience. Such experience adds much value to your expertise.&lt;/p&gt;

&lt;p&gt;For instance, speak about a bug or two you once missed on Production, or it could be something about your team or communication with customers.&lt;/p&gt;

&lt;h2&gt;
  
  
  38. What is the effective way to manage and support the non-reproducible bugs?
&lt;/h2&gt;

&lt;p&gt;To handle the non-reproducible bugs, you can do the following: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add execute test-cases which include the bug’s steps to be sure that during every execution, the case is passed or the bug could be caught somehow;&lt;/li&gt;
&lt;li&gt;To summarize and evaluate the test execution results for this particular check;&lt;/li&gt;
&lt;li&gt;To look into application/user logs to give more information when the bug reproduces.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  39. When do you start testing the design of new functionality?
&lt;/h2&gt;

&lt;p&gt;To start the manual testing, you should understand how the QA engineer organizes their entry documents.&lt;/p&gt;

&lt;p&gt;Thus, you need to start the test design once the functionality requirements are finalized. While the functionality is developing, a tester could start test design to be ready for test execution right away after the functionality implementation. After the first execution, you can update them and improve.&lt;/p&gt;

&lt;p&gt;The main goal is to provide enough testing for new functionality and not to miss any bugs. That's why it is recommended to prepare test cases in advance.&lt;/p&gt;

&lt;h2&gt;
  
  
  40. What is Bug triage, and why does the team need it?
&lt;/h2&gt;

&lt;p&gt;Bug triage is a process of prioritizing bugs in Sprint. The prioritizing is based on bugs' impact on the application's quality and business logic. It helps the team to fix more important issues first and do the stabilization part in a very efficient way.&lt;/p&gt;

</description>
      <category>testing</category>
      <category>qa</category>
      <category>consulting</category>
      <category>interviewquestions</category>
    </item>
    <item>
      <title>How to add a dark theme to a web app without begging a designer for help</title>
      <dc:creator>Sasha Verbilo</dc:creator>
      <pubDate>Mon, 26 Jul 2021 17:39:02 +0000</pubDate>
      <link>https://dev.to/akveo/how-to-add-a-dark-theme-to-a-web-app-without-begging-a-designer-for-help-25bk</link>
      <guid>https://dev.to/akveo/how-to-add-a-dark-theme-to-a-web-app-without-begging-a-designer-for-help-25bk</guid>
      <description>&lt;p&gt;Have you ever been in a situation where you needed to make a dark theme for your new app, but there was no designer to help? You are on a deadline, and, seemingly, there is no hope to finish the project in time. If you find yourself in this situation now, you are in the right place to find the way out of it.&lt;/p&gt;

&lt;p&gt;From this article, you will know how to create a dark theme for your app without a designer’s help. Without further ado, let’s dive into the process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add a Dark Theme
&lt;/h2&gt;

&lt;p&gt;Adding the themes is a quite easy process that is done in 3 steps:&lt;/p&gt;

&lt;p&gt;Step 1 - choose the colors:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;--primary-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#2e3a59&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 2 - add a use case:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;html&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;--primary-color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 3 - add a new theme:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nd"&gt;:root&lt;/span&gt;&lt;span class="nc"&gt;.other-theme&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;--primary-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#8f9bb3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you cannot use &lt;a href="https://caniuse.com/css-variables" rel="noopener noreferrer"&gt;CSS Custom Properties&lt;/a&gt;, you will have to write a few cycles on SASS. You can’t call this task a piece of cake, but we’ll manage to complete it.&lt;/p&gt;

&lt;p&gt;But there’s a catch - you can have a few themes only if a designer made it for you first. Although you don’t always have one by hand, you want to add a dark theme to a default one. Accessibility matters.&lt;/p&gt;

&lt;p&gt;Once, I participated in a project where a designer worked only at an early stage. All the designers were busy, so we couldn’t count on them after they finished their part. But at the end of the project came an idea to make it better by adding a dark theme.&lt;/p&gt;

&lt;p&gt;Creating the first version, we didn’t want to add complex logic and additional controls. Therefore, we decided not to allow a user to change the theme. We had to act in line with system settings because it was the only way to keep the first option simple.&lt;/p&gt;

&lt;h2&gt;
  
  
  Define the rules for the Dark Theme
&lt;/h2&gt;

&lt;p&gt;Now we need to know when to display the dark theme. There is a special CSS media inquiry for that purpose: &lt;code&gt;prefers-color-scheme&lt;/code&gt;.&lt;br&gt;
Support is practically the same as in CSS Custom Properties (&lt;a href="https://caniuse.com/prefers-color-scheme" rel="noopener noreferrer"&gt;https://caniuse.com/prefers-color-scheme&lt;/a&gt;).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prefers-color-scheme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;dark&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What about the colors?
&lt;/h2&gt;

&lt;p&gt;Alright, we have established how to define what theme to display. But what to do if there are no colors for the dark theme? And there is the answer to that question too. We can apply color inverse filters to the whole page. Again, support will be similar to CSS Custom Properties (&lt;a href="https://caniuse.com/css-filters" rel="noopener noreferrer"&gt;https://caniuse.com/css-filters&lt;/a&gt;).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prefers-color-scheme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;dark&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;invert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now let’s add a text on the page. Looks sharp, huh? Then we add a list, a citation, and a random text item - they look just as good as the previous one. Even so, the moment we add a picture, it turns negative.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp26qrvrn2ubn3dxgxbq8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp26qrvrn2ubn3dxgxbq8.jpg" alt="The UI before &amp;amp; after we've made an inversion" width="800" height="666"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At this stage, we invert the whole page. It means that &lt;strong&gt;all&lt;/strong&gt; the elements will change their color to the opposite. The inversion works well with the text, but I don’t want my photos to turn negative. To avoid that, you need to add an exception.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prefers-color-scheme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;dark&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nd"&gt;:root&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
  &lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;invert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But in this case, it would rather be a reinversion than an exception. Now, we’ve applied “reinversion” for images only. If you have a video or iFrame, or other content that is not to be reversed, you should apply the same rule to them too.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhi7r70ynp5mj4231500g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhi7r70ynp5mj4231500g.png" alt="The UI after the reinversion" width="600" height="1000"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Excellent!&lt;/p&gt;

&lt;p&gt;But you will ask me: “why do we need to apply a filter to &lt;code&gt;:root&lt;/code&gt; and reverse visual elements to their initial state?”. Why can’t we just write the following CSS code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nd"&gt;:not&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;img&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;invert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Selector will allow us to apply the filter to all the elements except images. Although, you should consider that the filter has some peculiarities. Let’s look at them in the case of the page layout below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
    Text in p
    &lt;span class="nt"&gt;&amp;lt;span&amp;gt;&lt;/span&gt;and in span.&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  With picture of me:
  &lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"./pic.jpg"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;So as &lt;code&gt;div&lt;/code&gt; matches our selector, the filter will apply to it. As a result, everything will be negative.&lt;/li&gt;
&lt;li&gt;Since &lt;code&gt;p&lt;/code&gt; is inside the &lt;code&gt;div&lt;/code&gt;, it matches the selector and will change too. Thus, we will have it reinverted so that the colors get back to normal.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;span&lt;/code&gt; also matches the selector. Whereas the &lt;code&gt;p&lt;/code&gt; has become normal, the contents of the &lt;code&gt;span&lt;/code&gt; went negative.&lt;/li&gt;
&lt;li&gt;Finally, the &lt;code&gt;img&lt;/code&gt; selector is not influenced by the filter, so no inversion happens. However, as the &lt;code&gt;img&lt;/code&gt; is a part of the element that we have inverted, the image will be negative.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That is how it will look like on your screen:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshruh124wg42xisxp4n4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshruh124wg42xisxp4n4.png" alt="Broken invert" width="600" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s why we apply the filter to the &lt;code&gt;root&lt;/code&gt; element once. Then, we invert the elements that we want to stay the same, again to bring them to the initial state.&lt;/p&gt;

&lt;p&gt;Done! The first version works just fine, and the client is happy.&lt;/p&gt;

&lt;p&gt;In the second stage of the process, we add a switch for our themes.&lt;/p&gt;

&lt;p&gt;To do this, we’ll add &lt;code&gt;select&lt;/code&gt; to the header of our app, allowing users to choose the theme they prefer. The select will include 3 choices: &lt;code&gt;light&lt;/code&gt;, &lt;code&gt;dark&lt;/code&gt;, and &lt;code&gt;auto&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Therefore, the &lt;code&gt;auto&lt;/code&gt; will be a default value that will allow the app to inherit system settings. At the same time, when choosing &lt;code&gt;light&lt;/code&gt; or &lt;code&gt;dark&lt;/code&gt;, we are adding a &lt;code&gt;theme-light&lt;/code&gt; or &lt;code&gt;theme-dark&lt;/code&gt; class correspondingly to the &lt;code&gt;root&lt;/code&gt; element of a document. Then, we delete a theme class if using &lt;code&gt;auto&lt;/code&gt;. To top it off, we save these settings in &lt;code&gt;localStorage&lt;/code&gt;, which allows us to show the previous theme.&lt;/p&gt;

&lt;p&gt;After we’ve added a few classes, we will modify CSS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prefers-color-scheme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;dark&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nd"&gt;:root:not&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;.theme-light&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="nd"&gt;:not&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;.theme-dark&lt;/span&gt;&lt;span class="o"&gt;),&lt;/span&gt;
  &lt;span class="nd"&gt;:root:not&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;.theme-light&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="nd"&gt;:not&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;.theme-dark&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;invert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nd"&gt;:root&lt;/span&gt;&lt;span class="nc"&gt;.theme-dark&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nd"&gt;:root&lt;/span&gt;&lt;span class="nc"&gt;.theme-dark&lt;/span&gt; &lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;invert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Wrap up
&lt;/h2&gt;

&lt;p&gt;That’s it! You are ready to add the dark theme to your app without a designer’s help. But before you go and nail it, take a glance at the resume of the article to memorize the main points better.&lt;/p&gt;

&lt;p&gt;We have the following process logic:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If the light theme is chosen - do nothing;&lt;/li&gt;
&lt;li&gt;If the dark one - always invert;&lt;/li&gt;
&lt;li&gt;If neither a dark nor light theme is chosen - invert depending on the system's settings.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;“Generating” a dark theme by applying a filter is quite easy and quick.&lt;/p&gt;

&lt;p&gt;Although, there can be some nuances regarding the page contents that are not to be inverted. In the majority of cases, you solve that problem by simple reinversion of such objects. But it doesn’t always work, so we need to use some hacks.&lt;/p&gt;

&lt;p&gt;However, there are some drawbacks of this method:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Not all of the colors invert “aesthetically”, which can tarnish the UI a little bit;&lt;/li&gt;
&lt;li&gt;You cannot change the hues of light and dark to create different visual experiences of the interface;&lt;/li&gt;
&lt;li&gt;And the last but not least thing to remember is that all of the colors get inverted. Thereby, your “brand colors” will change too, which can harm your corporate identity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Regardless of all the drawbacks, it is still a credible and fast way to add a dark theme to your app. Besides, it can be helpful when you want to experiment with different themes, make PoC (Proof of concept), and see if it suits your application.&lt;/p&gt;

</description>
      <category>css</category>
      <category>design</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Scrum Master Guide: roles, responsibilities, and challenges</title>
      <dc:creator>ArtemGaranovich</dc:creator>
      <pubDate>Tue, 13 Jul 2021 14:21:31 +0000</pubDate>
      <link>https://dev.to/akveo/scrum-master-guide-roles-responsibilities-and-challenges-38h0</link>
      <guid>https://dev.to/akveo/scrum-master-guide-roles-responsibilities-and-challenges-38h0</guid>
      <description>&lt;h2&gt;
  
  
  Who is a Scrum Master?
&lt;/h2&gt;

&lt;p&gt;Scrum was created almost 30 years ago but remains one of the most popular ways of working for development teams worldwide. Many people learn Scrum theory, develop new techniques, create and use different tools, and share their knowledge with the community. In other words, the global Scrum expertise is only growing. Scrum attracts more and more adepts from different spheres, and these aspiring professionals are interested in gaining and improving their skills. So let's take a closer look at a Scrum Master's portrait from all angles and learn how to start a career in this field.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Scrum Guide says…
&lt;/h2&gt;

&lt;p&gt;The Scrum Guide says that “Scrum is a lightweight framework that helps people, teams, and organizations generate value through adaptive solutions for complex problems.” As a Scrum Master myself, I would put a lot of stress on “framework.” In other words, Scrum is not a methodology as many people think. Instead, it is some kind of a “skeleton” that supports its basic principles. Scrum says &lt;strong&gt;what&lt;/strong&gt; to do but doesn’t say &lt;strong&gt;how&lt;/strong&gt;. The way of working and value delivery represent, so to speak, a sort of “flesh” covering this skeleton. It is being created, continuously improved, and adapted by the Scrum Team, with a Scrum Master playing a vital role in this process. That’s why Scrum may be different in different teams: what works well for one team may not be effective for another.&lt;/p&gt;

&lt;p&gt;The Scrum Guide says that a Scrum Master serves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Scrum Team;&lt;/li&gt;
&lt;li&gt;The Product Owner;&lt;/li&gt;
&lt;li&gt;The organization.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In his/her turn, a Scrum Master:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sets up and manages Scrum on the Team and at the organizational level;&lt;/li&gt;
&lt;li&gt;Teaches and helps to understand Scrum principles and values;&lt;/li&gt;
&lt;li&gt;Supports in the definition of the product goal and backlog prioritization;&lt;/li&gt;
&lt;li&gt;Sets up productive stakeholders collaboration and facilitates events;&lt;/li&gt;
&lt;li&gt;Maximizes the Scrum Team effectiveness;&lt;/li&gt;
&lt;li&gt;Removes impediments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Scrum Masters are &lt;strong&gt;true leaders&lt;/strong&gt; (prior to the release of the Scrum Guide version in November 2020, they were defined as servant-leaders). Considering all the points mentioned above, one gets the impression that Scrum Masters help and inspire everyone, make the team’s life happier, and drive exciting events that involve all the participants. With such an image in mind, people are eager to choose the career of a Scrum Master. However, more often than not, non-specialists have no idea what exactly they need to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scrum Masters in the real world
&lt;/h2&gt;

&lt;p&gt;To avoid confusion when we are talking about Scrum Masters, we should understand one thing. &lt;strong&gt;The Scrum Master is more about a role than about a person.&lt;/strong&gt; Depending on a project and the level of Scrum culture within an organization, different people can perform this role. Let’s review some real-world examples:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Development team member.&lt;/strong&gt; Sometimes, one of the team members takes the role of a Scrum Master with all related activities. It is a feasible solution if Scrum isn’t adapted at the organizational level, but only within a team. Of course, this person should have appropriate knowledge and skills.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project manager.&lt;/strong&gt; It is the most frequent case when we are talking about Scrum at the project level. Nowadays, project managers usually have Scrum knowledge and skills. However, Scrum, in its pure form, faces several business restrictions in the real world. Project managers link Scrum values with business goals because they are responsible for team efficiency, value delivery, productive collaboration on the one hand, and budget, schedule, and scope on another.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Product owner.&lt;/strong&gt; Sometimes one person plays both Scrum Master and Product Owner roles. It usually happens when resources are limited. But this is a corner case, and you should avoid it at all costs. The thing is that Scrum Masters and Product Owners have different goals that may contradict each other.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scrum Master.&lt;/strong&gt; Organizations with Scrum culture (or that Scrum culture) have such positions as the Scrum Masters. But from the business perspective, it is not efficient to attribute a Scrum Master for each team. That’s why Scrum Masters lead several teams (usually 2 or 3).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scrum Master Plus.&lt;/strong&gt; For the reasons mentioned above, Scrum Masters can be used for other activities within the organization. The difference with the first point is that these activities are not related to Scrum Teams. For example, a Scrum Master can be responsible for some processes within the organization, i.e., quality manager or account manager. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agile coach.&lt;/strong&gt; Organizations with rich Scrum culture have coaches who implement and improve Scrum at the organizational level. Plus, they train both Scrum Masters and Scrum Teams. Of course, such a person can be a Scrum Master for one or several teams.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How to become a Scrum Master?
&lt;/h2&gt;

&lt;p&gt;No matter what your position is, the journey of a Scrum Master starts the same. The first step is to study the Scrum Guide. Scrum authorized courses and certification will be an advantage.&lt;/p&gt;

&lt;p&gt;But a Scrum Master is not just a skill or knowledge: &lt;strong&gt;I’d say this is the way of being.&lt;/strong&gt; You should turn your knowledge into practice, improve your skills, try new techniques in various projects and sprints.&lt;/p&gt;

&lt;p&gt;There are different levels definitions of a Scrum Master’s maturity, but the main idea that Scrum Masters need to evolve in multi-directions simultaneously:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Scrum theory and practices.&lt;/strong&gt; From Scrum Guide interpretation to coaching and transferring the values of Scrum to the whole organization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Management.&lt;/strong&gt; From Scrum events scheduling to creating a flexible and effective collaboration of all participants.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leadership.&lt;/strong&gt; From managing meetings to inspiring team members.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Psychology.&lt;/strong&gt; From listing the impediments to creating a positive and productive atmosphere. &lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  To Sum Up
&lt;/h2&gt;

&lt;p&gt;An experienced Scrum Master is a great addition to every Scrum Team. If you’re thinking of starting a career in this field, make the first move by reading the Scrum Guide. Improve your hard- and soft-skills, learn new techniques, but never forget about real-world restrictions and limitations when applying Scrum. Write your personal Scrum success stories. I wish you luck in starting your journey and Scrum on!‍&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt; Here at Akveo, we adapted Scrum to meet our everyday challenges and deal with recurring product development issues. &lt;a href="https://www.akveo.com/tools/adapted-scrum-framework"&gt;Download the process adaptation doc&lt;/a&gt; in PDF format for free. You can use the described flow in your project once you've downloaded the doc.&lt;/p&gt;

</description>
      <category>management</category>
      <category>scrum</category>
      <category>projectmanagement</category>
      <category>scrummaster</category>
    </item>
  </channel>
</rss>
