<img src="https://img.shields.io/badge/%20-ENTERPRISE-B10031" style="float:left"/><br /> <img src="https://img.shields.io/badge/iOS-V4-009727?logo=apple" style="float:left"/><br />

In iOS SDK 4.0, we made significant improvements to our product offering:

<img src="https://images.prismic.io/jw-v2/e3127c78-c3b1-4a78-b3d4-07eeaf88ebe5_mobile-experience.svg" height="200" style="float:left"/>

<br /> <br />

  • Written entirely in Swift

  • Completely native

  • Decoupled user interface

<br /> <br /> <br /> <hr />

## Written in Swift

By rewriting our SDK entirely in Swift, we have created a flexible, high-performance SDK. We can exploit the latest trends and latest technologies developed by Apple, while maintaining backward compatibility for customer applications using Objective-C.

<br /> <hr />

## Completely Native

Our player and user interface are completely implemented using `UIKit`. This improvement allows you to easily control video presentation and customizations (for example, controls, overlays, styles). Using `UIKit` also removes the constraints imposed by a web view which prevents videos from loading quickly.

<br /> <hr />

## Decoupled User Interface

We have created a distinction between the player and the user interface. This distinction gives you the flexibility to use the player in an application in multiple ways.

When you use `JWPlayerView`, you can embed a player into storyboards or create a player programmatically. The `JWPlayerView` is a basic player that plays content without displaying any player controls. You can build a custom user interface on top of the player by listening for and reacting to player events.

If you prefer to use JWP's default user interface with customizable controls, instantiate `JWPlayerViewController`. Similar to the `JWPlayerView`, this view controller can be embedded into a storyboard. You can also subclass this view controller to listen for and react to behaviors based on user interactions and player events.

<br /> <hr />

## Next Step

Before you begin migrating to v4, review the [iOS Migration Reference](🔗) to see a detailed listing of the differences between the iOS SDK v3 and iOS SDK v4.