Today some of the most popular solutions to build mobile apps are native or cross-platform approaches using React Native or Flutter. While native development is positioned as AAA technical solution, it has some disadvantages that create market space for cross-platform apps to come in. In general, native development requires more effort from the development team to accomplish the project but it gives full control over tricky technical stuff under the hood. On the other hand, if you choose cross-platform, it can significantly speed up the development process due to a common code base, make project support easier and reduce expenses for development.
One more advantage of native over cross-platform development is performance. In the technical world, you can encounter “cross-platform apps are slow” stereotypes. We decided to test if it’s true and to what extend cross-platform apps are slower than native.
There are different types of performance, some of them are:
- Interacting with phone API (accessing photos, file system, getting GPS location and so on).
- Rendering speed (animation smoothness, frames per second while UI is changed or some UI effects that take place in time).
- Business logic (the speed of mathematical calculations and memory manipulations. This type of performance is most important for the apps with complex business logic).
In this article, we share the results of performance tests showing mathematical calculations of number Pi implemented in native and cross-platform approaches.
Memory-intensive test (Gauss–Legendre algorithm) for iOS
- Objective-C is the best programming language for iOS development. Swift is 1.7 times slower compared to Objective C.
- Surprise: Flutter is a bit faster than Swift (on 15%).
- React Native is 20 times slower than Objective C.
CPU-intensive test (Borwein algorithm) for iOS
- Objective C is the best option for iOS app development. Swift is 1.9 times slower compared to Objective-C.
- Flutter is 5 times slower than Swift.
- React Native version is more than 15 times slower than the Swift version.
Memory-intensive test (Gauss–Legendre algorithm) for Android
- Java and Kotlin have similar performance indications and are the best options for Android development.
- Flutter is approximately 20% slower than native.
- React Native is around 15 times slower than native.
CPU-intensive test (Borwein algorithm) for Android
- Java and Kotlin have similar performance indications and are the best options for Android development.
- Native is 2 times faster then Flutter.
- React native is around 6 times slower than native.
- All tests have been done on real physical devices (iPhone 6s IOS 13.2.3 and Xiaomi Redmi Note 5 running under Android 9.0);
- We measured performance on release builds. In some cases, debug builds can be significantly slower than the release builds.
- All tests were run several times and the average result was calculated.
- Gauss–Legendre & Borwein algorithms of calculating Pi numbers were used. The Pi number has been calculated 100 times with 10 million digits precision.
- Gauss–Legendre is a more memory-intensive algorithm in comparison with Borwein, but Borwein is more CPU-intensive.
- Source code
- In summary, not all cross-platform apps are slow. What’s more than that, Flutter apps have higher performance than Swift apps.
- Objective C and Flutter will be a wise choice if you want to develop a super-fast iOS app.
- For the apps with high load calculations Flutter is a good option for both, Android and iOS app development.
Please let inVerita know if you struggle with picking a mobile tool for development, always happy to help.
The 10nm Intel Ice Lake CPUs found in the new 13-inch MacBook Pro are currently exclusive to Apple
The new 10th-generation quad-core CPUs found in the new MacBook Pro 13-inch appear to be exclusive to Apple, at least at this point in time. A search of the Intel Ark does not reveal any Ice Lake parts that match up with the silicon Apple is offering in its latest laptop which are much more powerful.
Apple has been known to get custom parts from Intel in the past as well as early access and it looks like that might also be the case for the new 13-inch MacBook Pro models too. Although Apple continues to offer 8th-generation parts at lower price points in the new Magic Keyboard-based line up, the latest 10th-generation parts it is also offering are still not listed on Intel’s Ark of Ice Lake parts despite Apple’s recent product launch. It would seem then, at least for the time being, Apple has exclusive access to this silicon from Intel although it has previously revealed these parts will be hitting the market around this time.
The current top of the line Ice Lake part listed on Intel’s website is a Core i7-1065G7 quad-core 15 W part (configurable up to 25 W) chip with a base frequency of just 1.3 GHz with boost to 3.9 GHz. Even the Core i5-1038G7 (28 W) part available for the new 13-inch MacBook Pro has a base clock of 2.0 GHz and can boost to 3.8 GHz. The new Core i7-1068G7 (28 W) part has a base clock of 2.3 GHz and can boost to 4.1 GHz making both chips the highest performing Ice Lake parts currently found in any notebook by some margin.
Apple’s exclusivity on the two parts could be relatively lengthy given Intel’s well-documented woes with its 10nm node. Given that mass quantities of the 10th-generation parts available to other OEMs are currently capped at a based clock speed of just 1.3 GHz, it suggests that Intel may not yet have sufficient yields of the higher-performing chips to offer more widely. However, now that Apple has shipped the 13-inch MacBook Pro with the new Ice Lake parts, it will be interesting to see how long it takes for other makers to release notebooks with the new parts as well.
Here Is How Apple and Google’s COVID-19 Contact Tracing Framework Will Work
Ever since Apple and Google announced their collaboration for a COVID-19 contact tracing framework which will work between both iOS and Android devices, people have been raising questions regarding privacy and security concerns. Does this new framework open a can of worms towards an Orwellian future where Big Brother tracks everyone you come across? No, it doesn’t. Read on to find out more details.
What is contact tracing?
Contact tracing is the process in which people who an infected person in touch with are tracked down and diagnosed to find out if they have also been infected by the virus. This process was initially made popular in Singapore through a government-backed app called TraceTogether, which was later open-sourced, to help with community-driven contact tracing. The app relies on Bluetooth to keep a log of other TraceTogether users that it comes in close contact with. If the user is tested positive for COVID-19, the app log is provided to relevant government authorities, which includes interaction data with other TraceTogether users. One limitation of the app on iOS is that it has to be kept in the foreground at all times to function properly, due to the operating system’s restrictive nature.
This same idea was also implemented in various other places around the world, and is now being implemented at a system level by Apple and Google.
How is Apple and Google’s framework different?
The simple basis for Apple and Google’s COVID-19 framework is to ensure that system-level APIs, that work between iOS and Android devices, allow app developers to create solutions that can be used to perform contact tracing. If a user of an app that relies on the COVID-19 contact tracing framework is tested positive for the virus, select healthcare providers will mark it in a system which will send notifications to all other users who had come in contact with the infected person. The framework will only maintain data from the last 14 days. Anyone a user had come in contact with, before the last 14 days, would not be in the database.
The aim is to make this possible without sacrificing privacy and security of the users. Nobody wants such a tool to be used by governments or people with malicious intent, to find out who anyone has been in touch with.
What are the security precautions in place?
The framework proposal makes it clear that there are three different keys being used:
- Tracing Key, which stays on the device
- Daily Tracing Key, which is a unique key generated every day from the tracing key
- Rolling Proximity Identifier, generated by the daily tracing key
Instead of any personally identifiable data, the framework will keep the proximity identifiers in the list to maintain the contact tracing log. None of this data will be linked to the user’s Apple or Google accounts, or Apple Maps or Google Maps location data.
Apple vs YouTube vs Deezer vs BoomPlay; What you Should Know Before Choosing your Music Streaming Service
A few years ago, everyone had to buy audio CDs to access music content. As the application of technology and the internet got more sophisticated, Nigerians began to shift towards sideloading free pirated MP3s from sites. But this was painstaking. Not only did you have to search the different songs and download, but you also had to bear the taglines placed on the music by these sites.
Although that era is not fully behind us in Nigeria, the space is gradually shifting towards music streaming. These days, streaming services offer music fans limitless access to music globally and across history just at a tap. For this service, users are charged a small monthly fee for the entire package or they could opt for the freemium service – which comes with intermittent adverts after few songs.
There are various streaming services out there, and trying to figure out which to subscribe to can be a difficult task since the market is boxed up. For the purpose of our review, we looked at music streaming services available in Nigeria, widely used and have a large catalogue of music on the platform.
Based on the first criteria Spotify didn’t make the list since it’s not available in Nigeria – although many use VPN tools to still access the platform.
Nobody likes stress. So if the process of getting on a platform is too tedious, it can put off many users. In the case of these platforms, getting on board is pretty easy for most.
If you are an Android user, getting onboard YouTube Music is the easiest. Since you already you signed in your Google details during the set up of your phone, once you download the app you are signed in immediately.
For Deezer, you have the option to sign up using your Facebook Account, Google Account or you could do the manual sign up if you wish.
For Boomplay you have the option of signing up with your phone number, social media accounts (Facebook or Twitter) or a Google account. However, Boomplay could take as much as 20 to 30 minutes to send an OTP code. In my case, the OTP for the phone number came 30 mins later after I had resorted to using a Google Account.
For Apple Music, if you are an iPhone user, it’s seamless. You only need your Apple ID. However, on an Android device, you need to set up your Apple ID, which could take 5-10mins.
Subscription and Perks
One of the reasons why many Nigerians shy away from using these streaming platforms is the subscription involved. But they are really not as high as perceived. For YouTube Music, the monthly subscription costs N900 while a family plan of N1400. First-time users get one month free as a perk.
For Deezer, subscribers can get the premium plan for N1,800 and family plan for N2,700. Boomplay on the other hand, is pretty unique. Users can subscribe with N499 or 499 Boomcoins which is purchased in-app. Users can also do daily and weekly subscriptions or buy coins to download music.
You also get reward points you can exchange for mobile data plans and or in app subscription bundles when you complete basic tasks like stream songs.
For Apple Music, it costs just N900 monthly, and for first-timers, you get 3 months free – kind of makes up for the stress of registration for me.
All platforms except Apple Music have free models. But these free modes come with cons. For one, features such as offline listening, downloading tracks etc are absent. Also, track skipping and music recommendations are limited. Users could also have adverts plastered in their faces after few songs.
User Experience and Features
All platforms as we have established basically allow you to stream music. To ensure that you are provided with well-tailored songs, Apple Music, Deezer, and YouTube allow you to select your favourite Artistes and Genres – it is not so on Boomplay.
While selecting your fav artistes on YouTube Music, you can notice a duplication in artiste names – fret not, its just a glitch.
On all the platforms, users can customize their theme – Light or Dark Mode. Boomplay even allows you to use a wide range of colours.
These platforms allow you to create your own playlist or use the recommended playlist based on your favourite artiste, genres and location. On the premium plan, users can download their favourite song/album for offline listening up to a 100GB storage space – just like downloading on your phone from the mp3 sites.
Users can also follow songs with lyrics which are provided as well as create their own profiles and upload their own songs. On Apple Music, users can listen to live radio sessions and search for songs even with lyrics, same as YouTube Music. Subscribers on Boomplay, Apple Music and YouTube Music can also watch videos of some songs.
On YouTube Music, users get served with long-lost musical gems and oldies through its catalogue.
Personally, I feel all the platforms are very easy to use without breaking a sweat, save Boomplay. This is probably because it does more than just let users stream music. It also has the Buzz news section and video streaming feature. The app looks cluttered and users may feel choked up at first but of course, will get used to it after a while.
This is no excuse though. YouTube Music and Apple Music which also allows you to watch videos of music and live performances still has a clean UI.
We all have that wide and vast taste for music and as such we want a platform where we can get all our music needs, all in one place. Interestingly, all four platforms have a vast library of licenced tracks.
Deezer has over 56 million licensed tracks. Apple music has over 50 million songs. Boomplay has a catalogue of over 5 million songs mainly from African artistes. There are also songs from international artists.
I was amazed to see playlists from the various Nigerian producer battles that have been going on on Instagram in the last 1 week on the platform.
YouTube music, on the other hand, doesn’t give hard figures to represent the amount of songs in its catalogue. But with the number of songs available on its video streaming platform, one can guess it will be in the ranks of Deezer and Apple Music.
All platforms also have their fair share of global subscribers. There are 60 million subscribers on Apple Music, owing to the fact that it comes pre-installed in its devices. Deezer has 14 million total subscribers and 9 million are paid, subscribers.
Boomplay also has 44 million users majorly in Africa. Its popularity in Africa is largely due to the fact that it comes preloaded in Transsion smartphones – Infinix, Tecno, Itel, etc, which are the most used smartphone brands on the continent. So, if you are one to follow the majority, you know which to go for.
There are a number of good reasons to choose streaming platforms for your music dealings instead of downloading from pirated sites. Access to an almost endless music stream, both new and old is seamless and safe for your device. You also get access to music videos and live performances, beyond just the audio and the lyrics.
So whichever platform you eventually decide to use based on the pricing, perks or offerings, you are in a for a treat in the world of music.