0% found this document useful (0 votes)
26 views

Unit 5

The document discusses implementing a user interface for an application. It recommends prototyping user interfaces based on user requirements and testing prototypes with users. When constructing the interface, considerations include the command structure, windows and dialog boxes using standard controls, only developing custom controls if necessary, and supporting standard input devices like keyboard and mouse.

Uploaded by

Dynamic Gamer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Unit 5

The document discusses implementing a user interface for an application. It recommends prototyping user interfaces based on user requirements and testing prototypes with users. When constructing the interface, considerations include the command structure, windows and dialog boxes using standard controls, only developing custom controls if necessary, and supporting standard input devices like keyboard and mouse.

Uploaded by

Dynamic Gamer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Unit-5

Introduction to Objective C - Objective-C is general-purpose language that is developed on top


of C Programming language by adding features of Small Talk programming language making it
an object-oriented language. It is primarily used in developing iOS and Mac OS X operating
systems as well as its applications.

Initially, Objective-C was developed by NeXT for its NeXTSTEP OS from whom it was taken
over by Apple for its iOS and Mac OS X.

Object-Oriented Programming
Objective-C fully supports object-oriented programming, including the four pillars of object-
oriented development −

 Encapsulation
 Data hiding
 Inheritance
 Polymorphism
Foundation Framework
Foundation Framework provides large set of features and they are listed below.

 It includes a list of extended datatypes like NSArray, NSDictionary, NSSet and so on.
 It consists of a rich set of functions manipulating files, strings, etc.
 It provides features for URL handling, utilities like date formatting, data handling, error
handling, etc.

Learning Objective-C
The most important thing to do when learning Objective-C is to focus on concepts and not get
lost in language technical details.

The purpose of learning a programming language is to become a better programmer; that is, to
become more effective at designing and implementing new systems and at maintaining old ones.

Use of Objective-C
Objective-C, as mentioned earlier, is used in iOS and Mac OS X. It has large base of iOS users
and largely increasing Mac OS X users. And since Apple focuses on quality first and its
wonderful for those who started learning Objective-C.

Advantages and Disadvantages of iOS


Developed by Apple Inc., iOS is the hardware specific operating system of the company whose
first version was released in 2007. The operating system is used for iPhones, iPads and iWatches
with names iOS, iPadOS and watchOS respectively. Since smartphones are the most commonly
used handheld devices, after Android, iOS is the second most used mobile operating system.
Most iOS users come from developed countries and those with economic affluence. With more
than 3 million apps in the Apple Store, iOS is a powerful entity and we’ll zero in on iOS and its
advantages and disadvantages in this blog.

Advantages
1. Easy to use with simple interface even after version upgrade

iOS has this tremendous advantage of being very simple and compatible with each subsequent
upgrade. In fact, users of iPhone consider this as the best feature of the platform as its features
and apps continue to perform just as it should on newer devices. This ensures consistency of
performance without much of change in the interface design.

2. Good use of Google maps lacking in other OS

Apple phone users can navigate through Google map using all that it offers over and above other
platforms. Very often other platform users are heard of complaining of not being able to exploit
all features that Google map offers, but not with users of iOS!

3. Document-friendly as Office365 apps allows editing/viewing of docs

iOS enable the working of the company’s Office365 app that is a suite of cloud-based
application and productivity applications that let users create and share data, manage data, site
pages and much more much like one can do by using computers. These apps let iOS users
intelligently manage business work in Excel, Word while carrying out real-time collaboration.
All of this means, that users can easily store important documents on their iPhones/iPads and
view or edit them anytime, anyplace.

4. Multitasking like listening to music & typing docs possible

Letting users multi-task is surely one of the big draws that the iOS has over and above any other
operating system. Those wanting to work on their iPhones or iPads can continue to do so while
listening to music without any interruption. It is pretty much like sitting in the office and
carrying out work in a stimulating environment while using the smartphone but, without
sacrificing anything!

5. Efficient Battery use with less heat generation

Big time fans of iPhones will vouch for the fact that these devices generate less heat even when
in use for long hours. The reason for this is that iPhone batteries are known to be far more
efficient and generate less heat than those that run on other operating systems. A lot of users
prefer the operating system and its proprietary devices only because they can continue to play
games uninterrupted for long hours without heating issues.

6. Impeccable security makes phone free of malicious codes & viruses

Apple phones and other devices offer hassle-free use because of the strict security processes that
the platform offers. Devices running on this platform do not have chances of contracting virus or
other malicious codes as apps and features are tested for the specific platform before being
loaded for use. Both fingerprint and face detection sensors are supported by the platform
ensuring double security checks.

Disadvantages
1. Same icons with same look on home screen even after upgrades

With minimal variation in user interface and design, the platform offers very little to look
forward to in terms of trending designs in upgrades. Home screen continue to look the same even
when users buyer higher versions with the same icons as before. Those looking for exciting new
look have to stay satisfied with the previous look and feel of the platform.

2. Too simple & doesn’t support computer work as in other OS

The platform has its limitations in terms of offering computer like experience when using the
iPhone or iPad. As compared to other platforms, iOS is offers comparatively simpler
performance options.

3. No widget support for iOS apps that are also costly

iOS supports only apps made specifically for the platform and does not support any external
widgets to enhance their features. Moreover, with so many restrictions, apps made for the iOS
have to fulfill several specifications that naturally raise their development costs making them
expensive for the end buyer.

4. Limited device use as platform runs only on Apple devices

The platform runs only on devices made by the company and so there is a limitation when it
comes to using devices running on iOS. As a user, even if you like the additional feature that any
other device outside the company offers, you’re not in a position to use it as iOS runs only on
hardware coming from the Apple factory.

5. Doesn’t provide NFC and radio is not in-built

NFC is the feature that enables communication between devices close by. But the sad part is that
iOS devices do not support NFC. Also, unlike devices running on other platforms, Apple phones
do not come with radio pre-loaded on them. Users wanting to listen to radio on the iPhones have
to do so by downloading radio apps.

6. App sizes are usually too big consuming too much space

With specific features and characteristics made specifically for the iOS, apps made for the
platform become very heavy taking up a lot of storage space of the device. Those wanting to play
games on the device using this platform have to make way for apps that come in several
gigabytes!

Implementing a User Interface

Prototype
User interfaces (UI) should be designed from the list of user scenarios and requirements that
were identified in the user analysis step.

Prototypes can be as simple as pencil sketches or as complex as interactive screen mockups.


Keep all previous work as it can be useful when showing stakeholders the alternatives that were
considered and explaining why they were discarded.

Try to limit this step to two or three prototypes at most. Prototypes do not have to be exhaustive;
they just have to effectively simulate the experience of using the real application.

Demonstrate the prototypes and track user feedback to help identify the general usability trends.
If it is possible, discard the least successful prototypes and incorporate as much useful feedback
as possible into one or more of the remaining prototypes. Repeat this process as time and
resources allow.

There are various prototyping tools available including SketchFlow in Microsoft Expression
Studio 3, the layout editor in Microsoft Visual Studio, and even Microsoft Paint.

Construct
When you implement the user interface for an application, consider the following:

 Command structure

Determine whether to implement a traditional command structure based on menus and


toolbars, or an alternative command structure based on the Windows Ribbon Framework.
For more information, see Menus, Toolbars, and Windows Ribbon Framework.

 Windows and dialog boxes


Based on the UI design and prototyping work, implement the application windows,
including the main window, child windows, dialog boxes, and message boxes. Follow the
UX Guidelines to determine which styles and controls to use in the windows and dialog
boxes. For more information, see Windows, Dialog Boxes, and Windows Controls.

 Custom controls

Create new custom controls only if you cannot get the functionality that you want from
one of the standard Windows controls. New custom controls are very costly to develop
and require additional work to make them accessible. If your application requires custom
controls, make sure that they are adequately exposed to assistive technologies. For more
information, see Custom Controls and Windows Automation API.

 Support for standard user input devices

Most Windows applications need to support user input through the keyboard and mouse.
The ability to navigate and access all application functionality through the keyboard
alone is especially important for users who are vision-impaired or have mobility issues.
For more information, see User Input and the Engineering Software for Accessibility
eBook.

 Visual styles, animations, and visual effects

Windows includes several technologies that you can use to add visual interest and set the
UI apart from that of other applications. These include specifying the visual styles of
controls, adding animations to UI elements, and implementing various visual effects in
the UI. For more information, see Visual Styles, Windows Animation Manager, and
Desktop Window Manager.

Simplify
A successful user experience depends on the approach, perspective, and assumptions of the
developer during the design process. Achieving a basic understanding of how an application may
be used by the target audience requires the ability to think broadly, beyond the constraints of
what suits the needs of the developer. Investing this time, effort, and research at the beginning of
a project will pay dividends at the end.

Reduce, Reuse, Declutter

Features only improve a product if they are actually used. In many cases, the proliferation of
features may introduce complexity with the addition of more icons, menu items, toolbars, and
dialog boxes interfering with efficiency and productivity rather than adding value.

The Best UI Is No UI
UI implies that the user has to interact with the application to make something happen. In the
ideal case, no interaction is necessary. From the user's perspective, it just works. If a feature can
be added that safely removes a user interaction, it makes the user experience significantly better.

Less UI Is Better UI

In many cases, it is not possible to remove UI interaction completely from the user experience.
However, the less user interaction required by an application the better.

Identify the most common and essential activities that users will perform with the application
and make those functions the most prominent in the UI. Relegate other functions and activities to
lesser status either visually, hierarchically, or through optional application settings and user
preferences.

 Replace Rather Than Add

The conservation of UI rule states that you add something only when you can take
something away. This rule forces a developer to think critically about a new feature by
considering the impact that the feature has on the whole user experience.

New features should not be promoted because they are new: do not confuse marketing
with usability. To help users find new features in your product, add an item to the Help
menu that describes the changes that have occurred since the last version of the
application.

 The User is a Limited Resource

The more functionality that is exposed at any one time, the more difficult it is for a user
to find the functionality that they need.

 It's Rude to Interrupt

When an application displays a dialog box, it forces the user to stop whatever it is that
they are doing and pay attention to something else. If it is possible, remove the need for a
dialog box completely by avoiding error cases and other disruptive user experiences. For
more information about message guidelines, see Messages.

 Simple Can Be Powerful

A simple UI does not imply a lack of functionality. Typically, the result of a simpler UI is
a shortened learning curve, increased efficiency, and improved productivity. This
empowers a user to increase their proficiency with the application.

Consistent UI is Good UI
Generally, it is recommended to strive for consistency throughout an application UI. Providing a
consistent UI enables a user to become more proficient with an application in a much shorter
time. They are able to apply their existing knowledge of the application to different situations
and use unfamiliar functionality with confidence.

In rare cases, consistency provides no benefit to the user and can even degrade the user
experience. Do not make the UI consistent if that consistency impairs the ability to accomplish a
task. Consistency in itself does not guarantee usability. It is a mistake to think that consistency in
the interface will lead to good design.

For example, video game UI is typically very specific to the kind of game. Trying to design a
generic UI that works well for two specialized games, one that requires a steering wheel and
another that works best with a joystick and buttons, is likely not going to be successful for either
game. At best a middle ground is likely to be achieved that is not good for either.

Having good data about how things are used is the key to making this decision. Be clear about
the pros and cons of each tradeoff (speed versus reliability, ease of learning versus expert
proficiency, global consistency versus local optimization) and make the best decisions for the
feature in relation to the whole product.

Design is choosing how to fail: optimizing for one thing means failing at another. The key to
good UI design is being able to decide which characteristics of the application are the most
important, and which ones can be cut.

The Cocoa Touch Layer

It is the top layer of a iOS stack and it contains the frameworks that are most commonly used by iPhone
application developers. Cocoa Touch is primarily written in Objective-C.

It provides the following frameworks for iPhone app development.

UIKit Framework

This framework is required for the user interface environment. In the Xcode library file it is represented as
"UIKit.framework" and in the Xcode Objective-C class we import it like #import "<UIKit/UIkit.h>" .

Some of the key features of UIKit are as follows:

 User interface creation and management, for example: text fields, buttons, labels, colors, fonts
etc.
 Application lifecycle management
 Application event handling example: touch screen user interaction
 Multitasking
 Wireless Printing
 Data protection using an encryption algorithm
 Cut, copy, and paste functionality on the UI
 Web and text content presentation and management
 Data handling
 Inter-application integration
 Push notification in conjunction with the Push Notification Service
 Local notifications (a mechanism whereby an application running in the background can gain the
user's attention)
 Accessibility
 Accelerometer, battery, proximity sensor, camera and photo library interaction
 Touch screen gesture recognition
 File sharing
 Bluetooth based peer to peer connectivity between devices
 Connection to external displays

Map Kit Framework

This framework is required for representing the map on the UI . In the Xcode library file it is represented
as "MapKit.framework" and in the Xcode Objective-C class we import it like #import "<MapKit/MapKit.h>".

Some of the key features of UIKit are as follows:

 Get a map of a specific area.


 To generate driving directions to get you to your intended destination.
 Provides a programming interface that enables you to build map-based capabilities into your own
applications.
 Display scrollable maps for any location.
 Display the map corresponding to the current geographical location of the device.
 Annotate the map in a variety of ways.

Push Notification Service

It allows applications to notify users of an event even when the application is not currently running on the
device. As an introduction to this service, it has most commonly been used by news-based applications.
Typically when there is breaking news the service will generate a message on the device with the news
headline and provide the user the option to load the corresponding news app to read more details. This
alert is typically accompanied by an audio alert and vibration of the device. In simple words it is a multi
way communication or we can say with this we can send a massage from one object to more than one
object,

Message UI Framework

This framework is required for mailing services. In the Xcode library file it is represented as
"MessageUI.framework" and in the Xcode Objective-C class we import it like:
#import "<MessageUI/MessageUI.h>".

The Message UI framework provides everything you need to allow users to compose and send email
messages from within your application. The user interface elements are how the user enters the email
addressing information and message content. Alternatively, this information may be pre-defined within
your application and then displayed for the user to edit and approve prior to sending.

Address Book UI Framework


A key function of the iPhone is as a communications device and the digital assistant should not be too
much of a surprise or that an entire framework is dedicated to the integration of the address book data
into your own applications. The primary purpose of the framework is to enable you to access, display, edit
and enter contact information from the iPhone address book from within your own application. In the
Xcode library file it is represented as "AddressUI.framework".

Game Kit Framework

The Game Kit framework provides peer-to-peer connectivity and voice communication between multiple
devices and users allow those running the same app to interact. When this feature was first introduced it
was anticipated by Apple that it would primarily be used in multi-player games (hence the choice of name)
but the possible applications for this feature clearly extend far beyond games development.

In the Xcode library file it is represented as "GameKit.framework" and in the Xcode Objective-C class we
import it like:
#import "<GameKit/GameKit.h>"

iAd Framework

It is represented as "iAd.framework".The purpose of the iAd Framework is to allow developers to include


banner advertising within their applications. All advertisements are served by Apple's own ad service.

Event Kit UI Framework

This framework was introduced with iOS 4 and it is provided to allow the calendar events to be accessed
and edited from within an application.

Accounts Framework

In the Xcode library file it is represented as "Accounts.framework". iOS 5 introduces the concept of
system accounts. It provides the account information for other services to be stored on the iOS device
and accessed from within application code.The purpose of the Accounts Framework is to provide an API
allowing applications to access and manage these system accounts.

Twitter Framework

In the Xcode library file it is represented as "Twitter.framework" and in the Xcode Objective-C class we
import it like:
#import "<Twitter/Twitter.h>"

The Twitter Framework allows Twitter integration to be added to applications. The framework operates in
conjunction with the Accounts Framework to gain access to the user's Twitter account information.

Facebook Framework

The Facebook Framework allows Facebook integration to be added to applications. The framework
operates in conjunction with the Accounts Framework to gain access to the user's Facebook account
information.
When building an iOS application, one thing to consider is a concept called “data persistence.” Data
persistence is a method of holding onto data in case the application or device is reset. No one wants to
be playing a game or updating their checkbook and lose everything after a reset because a poorly-
designed app did not store their information. There are many ways to ensure that user data is captured
and preserved, but the two methods that I want to highlight are using SQLite databases and using
Apple’s Core Data framework.

Apple has embedded functionality to use SQLite databases within your application. This method
is exclusively for SQLite databases, and not mySQL databases. Whats the difference? The main
difference between the two is that SQLite databases are embedded in the application, and they’re
one standalone file. MySQL databases take up much more space due to their dependence on
multiple files, and they cannot be embedded within an application. You’ll need a special editor to
view these SQLite databases. I use and recommend SQLVue Lite. There is also a full version
that costs more and offers a few extra features.

Apple’s Core Data framework, unlike SQLite, takes more of an object-oriented approach to
storing user data. With Core Data, you create entities that resemble classes and objects to store
data. These entities are held in a data model, which is used to store various properties for the
data. You can store attributes that resemble instance variables in Objective-C, relationships
between objects and other data, as well as fetched properties, which are very similar to the
aforementioned relationships. The only difference between relationships and fetched properties
is that relationships pull all data preemptively with the object, while fetched properties recognize
the existence of related data, but do not pull it right away.

Introduction to the Core Location framework

Core Location is a framework that’s included in the iOS SDK that can be used to determine
location and heading with a device. Location is found using GPS or assisted GPS on the device.
Assisted GPS helps retrieve your location quicker by using the cellular or Wi-Fi network to
triangulate your location. Heading is determined by the phone’s compass. You also get a
geocoder, which can be used to retrieve placemarks and names of the city and state when given a
pair of coordinates.

Calendar Integration

Calendar integration allows two different applications to sync together and share data from your
calendar, avoiding duplicate calendar entries or overlapping appointments. Calendar integration
is a two-way process; when you book appointments in either application, that data is
automatically synced so that both applications stay current in real time.
Advantages of Calendar Integration

With calendar integration, you can keep your workflow moving smoothly and have confidence
that your calendar is up to date. You can also move between different devices – your work
computer, home computer, or mobile device – and always have your needed scheduling
information at your fingertips.

Calendar integration also saves time and money by minimizing the amount of data you have to
enter in your work systems. Scheduling an appointment with multiple coworkers can be done in
a few mouse clicks and then seamlessly transmitted to all applicable appointment calendars and
integrated applications.

Types of Calendar Integration

Most workforce applications will integrate with the most common calendaring apps, Google
Calendar and Microsoft Outlook. More robust integrations will also sync with iCalendar, which
allows both PC and Mac users to connect efficiently.

Calendar integration can also work with project management apps or even social media
platforms. These types of calendar integration will allow you to organize projects and add
milestone deadlines that will sync to your calendar so you’ll never miss a beat.

Advanced Calendar Integration Features

Some applications offer more advanced features that can improve your efficiency and lighten
your workday. Event tags can help you categorize specific event types and execute rules, such as
color coding or sharing functions, based on those tags.

Some applications also provide scheduling features so that clients and customers can book time
with you automatically based on your designated office hours and existing calendar
appointments. These additional features combine with the default calendar integration to
minimize your time spent managing your daily schedule.

Swift
Swift is a general purpose, multi-paradigm, compiled programming language for developing iOS
and OS X tvOS, watchOS applications. It is developed by Apple Inc. It is powerful and intutive
language which is easy to learn. Swift code is safe, precise and runs very fast.

Swift follows Objective-C runtime library which allows C, Objective-C, C++ and Swift code to
run within one program. Swift is built with open source LLVM compiler and included in Xcode
since version 6.

Swift 4
Swift 4 is the latest version of Swift which inbuilt the features of Swift 3 and also enhance the
robustness and stability of the language. Swift 4 has improved standard library, extended features
like smart key paths and serialization, shortening build times and reducing the size of app
binaries.

Swift4 follows a modern programming pattern to overcome common programming errors:

 In Swift 4, variables are always initialized before use.


 Array indices are checked for out-of-bounds errors.
 Integers are checked for overflow.
 Optionals ensure that nil values are handled explicitly.
 Atomatic memory is management.
 Error handling allows controlled recovery from unexpected failures.

Swift 4 Features
Swift 4 adopts the features of C and Objective-C without having the complexity of C language.

 Swift 4 uses a safe programming approach. It is very easy to laern and precise to use.
 Swift 4 provides a enhanced set of modern programming features.
 Swift 4 follows the Objective-C like syntax.
 Swift 4 provides an easy way to write iOS and OS X apps.
 Swift 4 provides seamless access to existing Cocoa frameworks.
 Swift 4 unifies the procedural and object-oriented portions of the language.
 Swift 4 does not need a separate library import to support functionalities like input/output
or string handling.

Newly added features in Swift 4


 Swift 4 is faster, easier to use Strings that provides Unicode correctness. It also adds
support for creating, using and managing substrings.
 Provide smart key paths for type-safe, efficient, extensible key value coding for Swift
types.
 Enhanced Dictionary and Set types.
 Enforced exclusive access to memory.

What is Swift?
Swift is a multi-paradigm, general-purpose, open-source programming language for iPadOS,
macOS, tvOS, watchOS, and iOS development. It was created by Apple in 2014 to give
developers a powerful language to develop iOS apps. According to swift.org, the language was
designed to be safe, fast, and expressive. It’s intended to be a replacement for C-based
languages. The Swift language is constantly evolving, and the community continues to grow.
Swift source code can be found on GitHub, making it easy for anyone to access the code.

Swift features

 Powerful generics: Generics allow you to write flexible, reusable functions and types that can
work with any type.
 Native error handling: Swift provides support for throwing, catching, propagating, and
manipulating errors at runtime.
 Structs and classes: Swift allows you to define a structure or class in a single file, and the
external interface is made available for other code to use.
 Protocol extensions: Swift allows you to define behavior on protocols themselves, rather than in
global functions or individual conformances.
 Memory safety: Swift automatically manages memory and prevents unsafe behavior from
happening in your code.
 Memory management: With Automatic Reference Counting (ARC), Swift tracks and manages
our app’s memory usage. This means we don’t need to worry about memory management
ourselves.
 Flexible enumerations: Swift enums support pattern matching and can have payloads.

 Package manager: The Swift package manager is a cross-platform tool we can use to build, run,
test, and package Swift libraries and executables.
 Debugging: Swift uses the LLDB debugger, which provides you with a REPL and debugger to
enable integrated debugging, consistent formatting, failure recovery, and expression evaluation.
 Source and binary compatibility: The latest version of Swift has binary compatibility for apps.
Swift libraries are included in every operating system release, so your apps will use the latest
version of the library in the OS, and your code can run without recompiling.
 Tuples: Tuples allow us to create and share value groupings. We can use tuples to return
multiple values as a single value.
 Closure syntax: Swift has a lightweight closure syntax, which has optimizations to enable a
clutter-free syntax and clear style.

Swift pros
 Fast and powerful: Swift uses LLVM compiler technology and its standard library makes writing
code intuitive and efficient.
 Modern: Swift APIs are easy to read and maintain. Inferred types make your code cleaner and
less error-prone. Modules eliminate headers and provide namespaces.
 Easy to learn: Swift was designed with beginner programmers in mind. You can use Swift
Playgrounds for iPad to get started with Swift code, and you can access courses to learn how to
build Xcode apps.
 Safe: Swift has a variety of safety features, such as automatic memory management, value
types, and variable initialization. In Swift, objects can never be nil, and the Swift compiler will
stop you if you try to use a nil object. These features help prevent runtime crashes.
 Cross-platform: Swift supports all Apple platforms, Linux, Windows, and Ubuntu.
 Dynamic libraries: Dynamic libraries exist outside of your code and are uploaded when needed.
Libraries are integrated into every device release.
 Large community: Swift has one of the most active and rich open-source communities. Also,
there are a lot of resources to help you learn the language.

Swift cons

 Relatively new language: Swift is still a young language. This means that some of its capabilities
and resources aren’t as robust as other programming languages.
 Weak cross-platform support: While Swift does support all Apple platforms, Linux, and
Windows, it works best for native iOS development.
 Frequent updates: Swift is a newer language and has frequent updates. This can make it hard to
find the right tools to help with certain tasks.
 IDE support: Xcode, the official Apple IDE, falls short in certain support areas, including syntax
highlighting, autocomplete, refactoring, and compiling.

Swift vs Objective-C
Objective-C is a general-purpose, object-oriented programming language. It was the primary
programming language used for OS X and iOS development before Swift came along in 2014. It
combines features of C and Smalltalk. After the creation of Swift, Objective-C began to
decline in use and popularity, although existing apps written in Objective-C will still need to be
maintained.

So, what makes Swift the better choice?

First, it’s important to note that Swift is not the direct successor to Objective-C. Both languages
have different capabilities and can be used together for mobile app development. Let’s look at a
side-by-side comparison of the two languages.

Swift
 With Swift, you can develop in Xcode, Swift Playgrounds, Cocoa Touch, and more.
 As of now, Swift requires at least iOS 7. This means that iPhones and iPads developed before
2014 won’t be compatible with your apps.
 Swift is a modern, human-friendly language with a simple syntax, which means that the speed of
coding is faster.
 According to Apple, Swift is 2.6 times faster than Objective-C.
 Swift has rich documentation that is constantly updated.
 The demand for Swift developers is increasing.

Objective-C
 With Objective-C, you mainly develop in Xcode.
 Your apps will run on any available version of iOS.
 Using Objective-C typically results in a decreased speed of coding because the language isn’t as
intuitive and human-friendly.
 Objective-C is 2.6 times slower than Swift, and it takes longer to write because of its more
complex syntax.
 Objective-C has rich documentation that isn’t updated frequently.
 The demand for Objective-C developers is decreasing.

What Is SQLite
SQLite is a library that implements a lightweight database engine that is incredibly performant
and, therefore, a great fit for embedded systems, such as mobile devices. Even though SQLite is
advertised as a relational database, it is important to realize that the developer is in charge of
maintaining the relationships between records stored in the database.

Like many other databases, SQLite stores data and that is what it is good at. The SQLite website
claims its the most used database in the world.

What Is Core Data


The most important difference between Core Data and SQLite is that SQLite is a database while
Core Data is not. That is the most important difference because there is very little to compare.
Core Data and SQLite are solutions to different problems.

Core Data can use SQLite as its persistent store, but the framework itself is not a database.

Core Data is not a database.


Core Data is a framework for managing an object graph. An object graph is nothing more than a
collection of interconnected objects. The framework excels at managing complex object graphs.

Core Data manages an object graph.

The framework is responsible for managing the life cycle of the objects in the object graph. It
can optionally persist the object graph to disk and it also offers a powerful interface for searching
the object graph it manages.

But Core Data is much more than that. The framework adds a number of other compelling
features, such as input validation, data model versioning, and change tracking.

Cocoa Touch (iOS) vs Swift: What are the differences?

Developers describe Cocoa Touch (iOS) as "The Cocoa Touch collection of frameworks
includes everything needed to create iOS apps". The Cocoa Touch layer contains key
frameworks for building iOS apps. These frameworks define the appearance of your app. They
also provide the basic app infrastructure and support for key technologies such as multitasking,
touch-based input, push notifications, and many high-level system services. On the other hand,
Swift is detailed as "An innovative new programming language for Cocoa and Cocoa Touch".
Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-
fast. Swift is ready for your next iOS and OS X project — or for addition into your current app
— because Swift code works side-by-side with Objective-C.

Cocoa Touch (iOS) and Swift are primarily classified as "Frameworks (Full Stack)" and
"Languages" tools respectively.

"Backed by Apple" is the top reason why over 5 developers like Cocoa Touch (iOS), while
over 241 developers mention "Ios" as the leading cause for choosing Swift.

Swift is an open source tool with 48.2K GitHub stars and 7.71K GitHub forks. Here's a link to
Swift's open source repository on GitHub.

Slack, Lyft, and Zillow are some of the popular companies that use Swift, whereas Cocoa Touch
(iOS) is used by Snapchat, Third Iron, and Apple. Swift has a broader approval, being
mentioned in 979 company stacks & 526 developers stacks; compared to Cocoa Touch (iOS),
which is listed in 32 company stacks and 18 developer stacks.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy