Frequently Asked Questions
Is something on your mind? You might find the answer here. If you don't, please let us know!
How do you choose the code language you want to use in a specific project?
This depends on the client, its project and its needs. Some languages are ideal for large organizations, while others are better suited for start-ups. We also take into consideration factors such as language popularity & community, its specific capabilities, and its relevance to the project's requirements.
What is the Difference between Angular, React and Vue.js?
The Angular framework was developed by Google, while React is a Facebook-based library. Vue is also a library, and belongs to its own community. Angular is the oldest of the three. It's easier for developers to learn React than Angular, and it's even easier to master Vue.js. That said, they all have similar (and great) capabilities.
Is Node.js better than Python?
The answer is no. They are competing languages, and each have their own advantages and disadvantages. Node.js is agile, while Python is more robust. If you're a front-end developer, you may find it easier to work with Node.js because it is JavaScript-based.
Do you develop mobile apps?
Yes, of course. We mainly use the mobile hybrid method to develop a single app for multiple systems. To perform this task, we use tools such as React Native, Ionic and more. Developing a single application for all platforms saves the client a great deal of money.
Just how complicated is it to develop a new application?
That depends on the application's size, specifications, functionality and number of expected users. Scalability is another important factor. So is system architecture and accessibility. Some applications include a personal area, which is also something that must be taken into consideration during the development process.
What are the main steps involved in app development?
The main steps include planning, design, UX/UI, front-end development and back-end development, QA and delivery.
Why is it so important to outline the app's basic characteristics prior to development?
The app planning stage raises many issues and questions that can impact app development: For example: How will the user behave? What will he/she press, and why? If we don't ask and answer these questions, they will most likely appear during the development stage, and we don't want that. Answering all possible questions in the beginning saves time and money.
How long does it take to develop a new application or system?
Between 2-6 months on average, depending on system/app size and complexity.
What is the added value of working with a company that employs local development teams?
Language. It is very easy to communicate with developers who speak your native tongue. It prevents a lot of confusion. Also, you can drop by the office and meet your developers face-to-face. When you work local, the process is usually faster, more transparent and more effective.
Is outsourcing app development to Europe cheaper?
Not always. Compared to an Israeli developer, the salary of a European developer will be cheaper. But once you consider language barriers, miscommunications and the cost of a development team leader – not to mention overseas flights – outsourcing app development to Europe isn't always more cost-effective.
Do you work with content management systems (CMS) such as WordPress?
Yes, we work with WordPress, but we also recommend more advanced technologies such as Django CMS, which enables you to build a tailor-made CMS system with an existing admin interface. Django CMS uses Python, which is a very popular language and solves WordPress performance issues. In addition, Django CMS usually involves developers that are more skilled and experienced.
Are your developers 100% dedicated to the project they are working on?
Of course. At abra Web & Mobile, each developer is dedicated to a single project and/or client – and nothing else. We believe that exhausted and distracted developers develop code of a lower quality and deliver less-than-optimal results. This isn't what clients should settle for, and therefore, we make sure that our developers are 100% dedicated to one key mission.
What is the difference between a native app and a hybrid app?
The difference is in the programming languages. Hybrid apps are based on one source code that is usually written in JavaScript (or Flutter), which essentially translates C++ based code to Java-based code for Android. What this means is that one developer can develop an app that suits two operating systems, and save a lot of time and money in the process. Native apps, on the other hand, require the development of two parallel apps. This usually requires two developers.
Do you use Agile/Scrum methodology?
Sure! Today, every self-respecting development team does. In fact, this is the most recommended methodology for working in orderly, monitored fashion. abra web & mobile has an ISO-90001 certification, which requires us to adhere to high quality standards.
I employ in-house developers in my company. Do I still need to work with a front-end development company?
Possibly. Here are a few reasons why you should consider integrating one of our developers into your team: Client-side development is an expertise. If a certain developer is not proficient in client-side development, his or her learning curve and mistakes will slow the project down and cost more money. An experienced developer can help you avoid these pitfalls. Regarding short-term projects, most companies won't want to hire a developer for a 6-month period. That's where we can help. At abra Web & Mobile, the client receives all the developers it needs for as long as it needs them. This model is very flexible – the client can start with a team of 2-3 developers and once some of the interim objectives have been achieved, it can continue with one developer until the project's end.
I want to choose a development company to help me with my company’s new product. What should I look out for?
When selecting a development company, this is what you should watch out for: • Company size – bigger usually means more industry experience. • Technology – make sure that the company specializes in your preferred tech platform. • Recommendations – before you make your choice, talk to a former client or two. • Examples – ask to see examples that resemble the app you want to develop.
QA before product release – why is this so important?
QA testing prior to product release is very important. They must be conducted by QA experts who were not involved in the coding process, and not by developers who are not trained for this complex task. We also recommend QA testing throughout the process. This helps to monitor the app's development and ensures real-time response to issues that may arise. Writing code without bugs is impossible. That is why QA experts are so important. In the end, the app's owner – and its end users – deserve the best possible product.
I am a bit worried about the price. How do you price your services?
Before anything else, we conduct a price assessment that allows you to get a sense of the overall project cost. Pending unexpected changes, this assessment is usually very accurate, within a 15%-20% cost range radius. If you want to serve as project managers and need us to supply personnel, the price is determined by the developer's seniority – junior, mid or senior-level – and the project's timeframe.
We keep hearing the term “responsive”. What does it mean?
A responsive website is a flexible product that 'responds' and adapts automatically to all screen sizes, types (PCs, smartphones, tablets) and resolutions. This ensures that if a user enters your website from a specific device – any device – he or she will view it as it should be viewed. In recent years, more and more users surf the web on their mobile devices. These devices change and develop at breakneck speed. Instead of building a website specifically for each device (which is very, very costly) or a website and an app for the same solution (again, very costly), today's developers recommend designing a responsive website that can also support future device screens.
Does our application have to be accessible?
In 2013, The State of Israel legislated the internet website accessibility law, joining many other countries with similar laws. Among many topics, the equal rights law for people with disabilities addresses internet accessibility – including clause 35 that specifically states the actions that website owners must perform in order to adhere to accessibility regulations. According to the law, all businesses and entities that provide 'public services' or provide 'information on certain public services' via the internet, must make sure that their services or information regarding said services are accessible to people with disabilities.
We’ve decided to work together on a new project. Do you commit to anything? Do we?
Once we start working together, you don't have to commit to anything. We want you to enjoy the process. Therefore, you can opt-out anytime you like. We, on the other hand, are committed. We are committed to doing everything we can to make you happy. We commit to conducting code review that will ensure the quality of the code we write for you. We commit to high-level service that will have you raving and recommending us to your friends and colleagues.
What are the central parameters that UX/UI designers take into consideration when designing the application’s UI?
As part of the user experience design process, it is important to first understand the users of the interface. We also need to discover the users, explore them, and define the personas. In addition, it is important to ask questions, and lots! Leading questions to solve. Third, search for inspiration. It is important to learn how similar interfaces behave, and therefore adapt our interface. As we explore and consume more sources of inspiration the solution will come more easily. Creating initial sketches - Wireframes: Laying the foundations of the interface will save us a lot of wasted time and make it easier for us during design. The skeleton construction of the interface is a necessary cornerstone during the design. User Interface - UI: Creating an identity is a significant part of the design process. Basic design principles can help us during the design visibility of the interface typography / colors / balance / composition. Creating the identity is basically the visibility of the interface, for example, what color the button will be, what font we will use, graphic elements, and more. One last thing is the creation of the prototype of the interface - Prototype. Creating a prototype is basically the final step in the design process. Prototype is the creation of an initial interface without information (data) that simulates the behavior of the product.