Apple’s next iPhone event will be on September 12th

 

Apple sent invites today for its annual fall iPhone event where it’s expected to announce multiple new iPhones and possibly a new Apple Watch and an updated iPad Pro. It’ll take place on September 12th in Cupertino, California. The invite features a bronze circle, not unlike the new Apple Park campus that opened last year, without providing much in the way of further hints.

So far, we’ve heard there might be three new iPhones, including an upgraded iPhone X with a 5.8-inch OLED screen. There could also be a cheaper version of the iPhone X with a 6.1-inch LCD screen and another high-end device with a 6.5-inch OLED.

Other rumors indicate that the cheapest new iPhone might come in a variety of unconventional colors that’ll pop. (I hope that’s true!) All the phones could also include gesture controls and Apple’s Face ID unlocking system. Meanwhile, 3D Touch might be removed from at least one of the devices, which would represent an incredible about-face after the company made a huge deal about the feature during its debut in 2015.

Apple is also reportedly planning major redesigns for the MacBook Air and Mac mini this fall, but it’s unclear whether those will debut at the iPhone event. The new MacBook Air would be cheaper and feature slimmer bezels and a Retina display. The Mac mini could include a much-needed spec boost. We could also see a new iPad Pro with Face ID and an Apple Watch with a bigger display. If all these hardware rumors come to fruition, this would be one of Apple’s biggest events in a while, though the company tends to save Mac announcements for later in the fall.

Native vs Cross-platform: How to Choose

It’s the choice every app creator must face: Native or cross-platform? Which is the better option? Read on to find out more.

The apparent increase in the number of mobile users invariably leads to rapid development of the global mobile applications market. No matter what your business is, it is impossible today not to take into account the time that people spend in front of mobile devices each day. According to a recent study, Americans spend an average of 2 hours and 57 minutes a day on a mobile device. No wonder business owners also tend to become “mobile”.

This article aims to describe two approaches in mobile application development – native and cross-platform, as well as the ability to combine both.

Each approach is different and leads to different results. And in order to facilitate mutual understanding between the customer and the developer, we want to talk about what constitutes both approaches, to analyze their strengths and weaknesses.

Native Approach

Native applications are the ones which you encounter from the first day of using your device – installed by default alarm clock, mail client, browser or music player. They are built using platform-specific programming languages (Java for Android or Objective-C/C++ for iOS) and development environments (Android Studio for Android or XCode for iOS).

These applications can easily access all the features and services offered by the device and its operating system, such as local DB, geolocation or camera. And at the same time they consume phone’s resources (battery, memory, CPU) more efficiently. Such applications are usually downloaded directly from app stores (App Store, Google Play).

Cross-Platform Approach

As the name itself suggests, it’s an application that is developed only once and works on different platforms. The user interface is created using standard web technologies such as HTML and CSS, and the application logic is driven by JavaScript. It is in fact a website that has been optimized for display on mobile devices. The ability to work on all devices without further adaptation for each platform is due to the fact that it uses the browser’s engine to work. But it cannot access most of the device functionality.

The structure and logic of a cross-platform application is created with the help of such tools as PhoneGap, NativeScript or Xamarin. These tools essentially wrap applications created using HTML, CSS, and JavaScript into native applications.

Hybrid Approach

Hybrid apps combine some features of native and cross-platform applications. Essentially they are cross-platform applications but inside a native app shell. They render the UI by using an embedded web browser just like cross-platform apps do, and at the same time elements that require responsiveness and high performance can be developed using native capabilities.

A user is unlikely to notice the difference between a native and hybrid application. These applications can be downloaded through app stores.

Now that we’ve had a general introduction, let us now carefully analyze and summarize the pros and cons to each approach and determine which one is best to use in a given situation. To help a client make the right choice and to not get frustrated when the technology does not live up to the inflated expectations.

Benefits of Developing a Native Mobile App

  • Performance and speed Because applications are created using platform-specific IDEs (XCode, Android Studio), the resulting compiled high-performance code will be tuned to the given platform and will run at its best. The application has full support for multithreading and hardware accelerations.
  • User experience The Human interface guidelines (HIG) and other UX conventions change from one platform to another and users get accustomed to one specific platform. Android users feel lost when using iOS devices and vice versa. Designing a native app you can be sure that UI elements will have usual “look and feel” and will be located in accordance with the guidelines for the specific platform.
  • No limitationsA native app has full access to the device’s services and features.
  • Fast integration of new features of the platform Mobile operating systems are evolving at a very rapid pace and more and more new features being added every year. New software and hardware features provided by the device manufacturers and operating systems are available for implementation in native apps immediately after the release and easily integrated.
  • Ease of testing Developers and testers have a range of technologies at their disposal. Application performance is automatically monitored. If the application is consuming more memory than expected or more CPU resources – it will not pass unnoticed. Secondly, wide applicability of unit testing allows to automatically test virtually every method in the application.
  • Full support of the App Store and Google Play Store Both companies, Apple and Google, are interested in providing a positive user experience. This means that an application should look decently and run at a decent speed. If any of these two requirements are not met, the application will be rejected.

Cons of Developing a Native App

  • Development speed Supporting multiple devices requires more time to build an application (two or more completely separate apps need to be developed). Testing time is also affected.
  • Development costs Separate development for each individual platform requires more employees to be involved thus leading to more expenses.
  • Maintenance and support Maintaining a native application for both platforms (finding and fixing bugs, updating and any cosmetic change) takes on average twice as much time and resources.

Benefits of Cross-Platform Mobile App Development

  • Development speed and cost reductionCross-platform app development is cheaper in terms of cost and takes less time to implement an app on all platforms.
  • Maintenance and supportCross-platform development introduces a much simpler development lifecycle. If you need to add or correct something, it is done for all platforms at once. If a bug is found it needs to be fixed only once.
  • Single business logicWell-written and debugged single business logic reduces the number of potential errors and inconsistencies across platforms.

Cons of Developing a Cross-Platform App

  • The main disadvantage of cross-platform apps is their poor performance. The most notable issues or sometimes even show-stoppers that impact performance happen with animation, clicks, and scrolling.
  • Limited access to phone’s native APIs.
  • User experiences for different platforms need to be combined into one which could be quite difficult. Otherwise, an application built following the iOS Human Interface Guidelines will make Android users uncomfortable and vice versa.

Conclusion

In this article, we’ve looked at two different ways to build a mobile app and their features. And now we can easily make a choice in favor of one or another depending on the situation, or even combine both approaches. Remember, what kind of goal you plan to achieve when creating a mobile application depends on what functionalities it should be empowered with.

From a technical point of view and in terms of high-quality user experience, native development has far more advantages. However, there are areas in which cross-platform development is justified: for example mobile games.

The vast majority of modern mobile games are written using cross-platform technologies, it greatly speeds up development without sacrificing quality. In this case, special graphics frameworks are being used (the most popular – Unity 3D).

Cross-platform implementation can be also an optimal solution for B2B and business process automation apps where deployment time is more vital than good look and feel. When you need to quickly enter the market to conduct some tests for your business idea, or when you have a website that you want to be turned into an app for a minimal price.

In all other cases, if you project is not a game and aimed at long-term development, requires smooth performance and needs to be as responsive as possible – native development is the best choice!

news1

Do you see any Teletubbies in here? Do you see a slender plastic tag clipped to my shirt with my name printed on it? Do you see a little Asian child with a blank expression on his face sitting outside on a mechanical helicopter that shakes when you put quarters in it? No? Well, that’s what you see at a toy store. And you must think you’re in a toy store, because you’re here shopping for an infant named Jeb.