Tuesday, March 17, 2015

iOS ThirdParty frameworks:Why it is bad and disliked by many ?

The biggest reasons apple doesn’t like third party frameworks is because of they are slow and defame apple’s reputation. Apple want to see high quality and high performance apps on their store.

you might wonderding why they are slow?

well, if you have some kind of knowledge on multithreading and concurrent programming. You will get to the answers right away.

in real life, you go to grocery store and you often see lots of people wait in line for their turn. in a busy day, you have to wait much longer if there is only one line opened.

Same things to the iOS applications. if you use any third party’s framework. you load everything onto the main thread. if this is a large application and has many functions, images or pages to load, the wait time is much longer. 
if network access is required. it is even worse.Apple give you maximum 10 seconds to load your applications or terminate your app otherwise.

Apple provide cool features multithreading for developers to overcome this type of problems. main thread is really mean for UI. It is not suppose to be blocked in any way. all other contents should be loaded concurrently or under the backgrounds.  there is no ways you can achieve this without taking advantage of native iOS SDK by using Objective-C or Swift

I have tried a couple of most popular framework in the past. here are some of major problems I experienced.
  • very limited functionalities, way far from what apple has offered. for instance, won’t be able to access to the hardware.
  • very low performance compare to native apps. be realistic, javascript always few seconds delay for the touch event.
  • Too many bugs that beyond developers control. okay, you work on an exciting project, later on you found out there are some tough bugs either crash your app or provide very bad user experiences. you talk to their tech support, bug is confirmed but the cure won’t be available until another 3 months.
  • third party frameworks always 3-6 months late than current iOS SDK from Apple, sometime even longer. well, you know iOS 8 is cool, you want to make a cool app for that. you land on one of there third party framework, you find out they don’t support it until another 6 months. by the time, you finally see they have started offering iOS 8 support. however, there are already tons of similar apps fill the shelf of app store.

No comments:

Post a Comment