Recently, we were asked by research and ratings company, Clutch, for our expert opinion on app development software. We largely compared Apple’s Xcode and Google’s Android Studio. We were asked about the pros and cons of developing on a native framework compared to developing using a cross-platform tool.
Summaries of our analyses are below but be sure to read the full app software reviews. In addition to our expert reviews, Viteb is also featured on Clutch as a leading App Development Company.
Full Review Below:
Can you please provide a brief description of your company and the role that you play there?
Viteb is a leading web and mobile application development agency with clients across 30 plus countries. I’m Nilay Dhamsania, the Director taking care of Global Alliances and business development. We’ve been in business for over a decade now. As far as mobile applications go, we’ve been developing apps since 2008. We are a custom app development company with diverse industry experience including enterprise applications, startups, complete software product design, and marketing.
I also have other members of my team participating in this interview:
Sr. iOS Developer
Sr. Android Developer
Does your team have experience with cross-platform tools? If so can you tell the difference about developing native vs. developing in one of those cross-platform tools?
Project Manager: We have used the cross-platform tools PhoneGap, Xamarin, Cocos2dX and Appcelerator, however we always prefer native app development compared to cross-platform development. With many of the apps that we have developed for clients using cross-platform tools, the clients come back to us to convert those apps to native platforms because of the limitations with cross-platforms, mostly in performance. In those situations we have had to re-develop the app or perform code migration to the native framework (iOS or Android) using Apple Xcode and Android Studio.
One of the best things about native development compared to other platforms is most apparent when a new upgrade or operating system is released; with native development we are able to receive support immediately. With cross-platform development, users must wait until the cross-platform software is updated for the native upgrades.
Is one of the native tools better than the other?
Project Manager: Apple Xcode and Android Studio are two different platforms. It is difficult to compare the tools. Based on our app development experience with both platforms we preferably go with Apple Xcode because as new releases come with the different versions, they have better support for developers. If you are an iOS developer you have a lot of tools in the Apple Xcode suite which allows developers to quickly develop apps. They have also introduced a new language, Swift, and new frameworks like Watch OS and AppleTV OS. We are really excited about these new development opportunities and plan to continue to be on the leading edge of innovation.
If we compare Android Studio to any other Android platform like Eclipse, we would prefer to go with Android Studio because it has all the features we need to integrate into an Android app like Google Cloud Messaging Services, Google Sharing, Login with Google, Google Wallet and so on. We do not need to utilize any integrations outside of Android Studio.
What was the business challenge your company was facing that initiated the need for this platform?
Project Manager: From the very beginning we have worked on native frameworks, however based on requests from clients, we have worked on cross-platform tools as well. The ultimate challenge with using non-native frameworks is that they are not stable and scalable as may be required by the client. At times, we cannot customize the apps the way a client requests. For most enhancements we typically need to engage the cross-platform’s support resources, which is difficult to find due to the limited developer community for particular cross-platform solutions. Performance was the biggest challenge for our clients, with that being said, cross-platforms tools are more affordable for many clients. In addition, cross-platform tools do not provide immediate support for new OS releases or whenever an update comes from Apple or Android.
How does your company implement this platform or software?
Sr. iOS & Android Developer: We write native code using the MVC [model-view-controller] structure, which helps us to easily achieve our application development goals. We also call it our one-stop-solution where we can handle design, development, testing and debugging of each bit of code. Using Xcode and Android Studio we are able to quickly develop and support an app. On top of that, using Xcode and Android Studio we can submit the apps directly to their respective stores.
Was your company considering other platforms? Why this platform?
Project Manager: No, we never recommend cross-platform tools over native development. We only develop on a cross-platform tool by the request of a client, typically a client working on a specific budget.
On an annual or monthly basis, how much does your company spend to utilize the platform?
Sr. iOS & Android Developer: The best part of the native platforms is that we don’t need to spend any money to code. We do need a developer account in order to submit apps to the respective stores. We need to pay $99 per year for the Apple Store and a $25 one-time fee for the Google Play Store.
Can you share any success, metrics, or overall results of your implementation of this platform?
Project Manager: If you take a look at our portfolio, all the apps were developed using Xcode or Android Studio. We consider all of the apps featured there as success stories from using Xcode and Android Studio.
Were there any software features/tools that you were really impressed by?
iOS Developer: For Xcode there are many features that are useful. If we have developed a project in Swift 1.2 we can easily migrate it to Swift 2.0. Xcode automatically upgrades the Swift 1.2 code to the Swift 2.0 code so code migration is very easy. Xcode has specific simulators for different OS devices like iPhones, iPads & Apple Watch, which helps to understand the differences between screen sizes. Xcode’s Crash Report Management is great. We have a list of crashes encountered on the user’s end associated with the application. Once the application has crashed on the user’s device, Xcode automatically sends the details to the Apple server and Apple provides an API to access that crash report.
Android Developer: There are a lot of great features in Android Studio. It is very easy to create a user interface for custom preview that allows us to preview the app on a specific device with different resolutions. Google Ads & Analytics can easily be managed through Android Studio as well. It comes built-in with Android Studio. Cloud messaging services also be easily managed through Google login. When we create an APK [Android Application Package] file, there is no need to attach a certificate path every time so the development and debugging process is very easy.
Looking back, are there any areas of the software that you feel could be added or improved upon?
Project Manager: For Xcode, the process that is used for signing and provisioning the application can be improved. Our suggestion is to simplify this process by creating only one provisioning profile for an Xcode project instead of creating multiple profiles for each application and different tools like Widgets, Watch OS, and Apple TV.
Another suggestion is to simplify the app submission and approval process for the Apple Store. What we have found is that in the approval process of iOS apps, every re-submitted app is not going to the same reviewer that initially rejected it. The approval process is already long it would be great if the app could go to the same reviewer to speed up the approval process the second time around. It is important to consider approval time when making timeline commitments to clients.
Have you had to interact with the platform’s support team or reference their support resources?
Project Manager: For Android Studio and Xcode we interact with their support teams via their technical blogs. We also use their developer communities and both are very helpful. We have referenced support resources for Apple via their technical support blog where we get responses from the Apple team quickly. This community is open to all developers. We contribute to the forum with technical assistance for any issues that other developers may have faced.
To sum up: We have a few quick questions, and for each question we ask you to rate the software on a scale of 1-5 with 5 being the best.
What would you give the software for functionality of the features available?
What would you give the software for ease of use or ease of implementation into your business?
For support, as in responsiveness of the team or helpfulness of the resources available?
Android: Three and a half.
Overall, satisfaction with the platform?
Xcode: Four. We are very satisfied. In every platform there are some limitations but we can access most things without any hassle.
How likely are you to recommend the software to a colleague or similar business?
We give the native platforms Fives, over any cross-platform app development software.