Need advice about which tool to choose?Ask the StackShare community!

Cocoa Touch (iOS)

208
208
+ 1
12
UIkIt

786
413
+ 1
262
Add tool

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

Introduction

Cocoa Touch is a framework in iOS that provides a wide range of tools and libraries for building iOS applications. It includes frameworks for developing user interfaces, handling user inputs, and managing application lifecycle. UIKit is one of the key frameworks in Cocoa Touch, specifically focused on building user interfaces.

  1. Programming Language: One major difference between Cocoa Touch and UIKit is the programming language used. Cocoa Touch primarily uses Objective-C, a general-purpose programming language, while UIKit supports both Objective-C and Swift, a modern and more expressive programming language. This allows developers to choose the language they are more comfortable with when building iOS applications.

  2. Compatibility: Another important distinction is the compatibility with different Apple devices. Cocoa Touch is designed to run exclusively on iOS devices, such as iPhones, iPads, and iPods. On the other hand, UIKit, being a subset of Cocoa Touch, is specifically designed for iOS-based user interface development. It provides a set of pre-defined UI controls and components that are optimized for touch-based interactions on iOS devices.

  3. User Interface Design: UIKit provides a more streamlined and modern user interface design compared to Cocoa Touch. It offers a wide range of pre-built UI controls, such as buttons, labels, text fields, and table views, that are commonly used in iOS applications. These controls are designed with the iOS platform's aesthetics and user experience guidelines in mind, making it easier for developers to create visually appealing and user-friendly interfaces.

  4. App Store Requirements: When it comes to publishing applications on the App Store, there are certain requirements that need to be met. Cocoa Touch provides the necessary tools and frameworks to ensure compliance with these requirements. UIKit, being a part of Cocoa Touch, inherits these features and provides additional facilities for building applications that meet the strict guidelines set by Apple for App Store submission.

  5. Third-party Integration: Cocoa Touch and UIKit both provide support for integrating third-party libraries and frameworks into iOS applications. However, UIKit has a larger and more mature ecosystem of third-party libraries available, which makes it easier for developers to extend the functionality of their applications. This allows developers to leverage existing libraries for tasks like network communication, image processing, data persistence, and more, saving valuable development time.

  6. Platform-specific Features: Cocoa Touch, being a comprehensive iOS development framework, provides access to various platform-specific features and APIs. Although both Cocoa Touch and UIKit offer a wide range of functionalities, there are certain iOS-specific features that are accessible only through Cocoa Touch. These features include capabilities like accessing the address book, using CoreLocation for location-based services, incorporating in-app purchase functionality, and utilizing various iOS system services.

In Summary, Cocoa Touch is the broader framework encompassing a wide range of tools and libraries for iOS development, while UIKit is a subset of Cocoa Touch focused specifically on building user interfaces. Some key differences include the programming language used, compatibility with Apple devices, user interface design, App Store requirements, support for third-party integration, and access to platform-specific features.

Advice on Cocoa Touch (iOS) and UIkIt
Daniel Hernández Alcojor
Frontend Developer at atSistemas · | 8 upvotes · 993.5K views
Needs advice
on
BootstrapBootstrapBulmaBulma
and
UIkItUIkIt

I'm building, from scratch, a webapp. It's going to be a dashboard to check on our apps in New Relic and update the Apdex from the webapp. I have just chosen Next.js as our framework because we use React already, and after going through the tutorial, I just loved the latest changes they have implemented.

But we have to decide on a CSS framework for the UI. I'm partial to Bulma because I love that it's all about CSS (and you can use SCSS from the start), that it's rather lightweight and that it doesn't come with JavaScript clutter. One of the things I hate about Bootstrap is that you depend on jQuery to use the JavaScript part. My boss loves UIkIt, but when I've used it in the past, I didn't like it.

What do you think we should use? Maybe you have another suggestion?

See more
Replies (7)
Recommends
on
UIkItUIkIt

I have used bulma in several projects. We could not customize with the websites very well. Also when we need "quick solutions" Bulma is not suitable (I mean basic animations, to-top buttons, transparent navbar solutions etc. For these solutions, you need extra js codes).

Everybody knows about Bootstrap (heavy but popular).

Now we start a new project with UI kit, I like it. Pros: It is fast and lightweight and imho it has very good UI. Cons: Small community. Documentation.

Check this link for kick-off. https://github.com/zzseba78/Kick-Off

Maybe it is helpful.

See more
Damien Lucchese
Recommends
on
BulmaBulma

Been checking out Bulma, myself, and really dig it. I like that it's a great base level jumping off point. You can get a layout going with it, pretty quickly, and then customize as you want. It definitely sounds like it's the one you're leaning towards but a big factor would be who will be using it most? Your boss, yourself, others? Whichever you like best, you'll prob be most productive with but if in the end your boss says it has to be UIkit, then best to be open-minded and give it another shot. Sometimes you may not jive with new tools in your stack, at first, but then they can become tools you learn to love. Best to you in your decision! Take care & keep safe.

See more
Recommends
on
DiezDiez

I've moved away from the concept of UI kits. Not that many support CSS grid. A lot of the icons are easier to use in SVG. I've had success in the concept of design framework and design tokens. I build my brand identity in Figma, and extract in Diez. Then Diez integrates into React and SASS. Much easier because design is decoupled from software in a central authority, and software updates automatically from design changes.

See more
Recommends
on
BulmaBulma

Honestly - pick whatever you are the most comfortable with. You can achieve almost the same effects with different tools, so why not use something I like using?

See more
Recommends

I used UIKit and Bootstrap many times. I love Bootstrap for fast, easy layouts to web apps. Clean code, easiest and fastest way to write layouts for front end if you learned something before about Bootstrap. Now in React I use React-Boostrap too. About UIKit I can say its nice idea. It's easier than Bootstrap. This is good option for trainee developer to learn how u should create layout of your website, but for me UIKit have not enough functions. If you need to create something complicated, u have an error in your mind. You must create amazing code combinations for UIKit where in Bootstrap in the same ideas you have easy solutions.

See more
Tomer Fishaimer
Frontend Architect at Aqua Security · | 2 upvotes · 539.1K views
Recommends
on
Tailwind CSSTailwind CSS

Actually it really depends on your needs, there are 3 types of UI frameworks you can use:

  1. A complete set of UI components like: https://react-bulma.dev/en/getting-started.

    Pros:

    Having a lot of pre-built UI components saves a lot of time

    Cons:

    need to learn the react framework and the bulma styles, and it's harder to customize to your needs

  2. A pure css framework, like Bulma, where you write all the components yourself.

    Pros:

    A lot of flexibility to build the components you need

    Cons:

    You are bound to Bulma classes and markup.

    Takes more time since you need to build the components

  3. A utility class framework like: https://tailwindcss.com/.

Pros:

Most flexible, mix and match classes as you like and build your own markup

Very easy to customize to your needs

Cons:

Might take time to get used to and takes more time since you need to build the components

If you choose options one, then it's just a matter of deciding what style you like (material,ant, bulma) and go with the library that implements it If you go with pure css and build your own components, I can't recommend tailwind enough, I've been finding myself building entire pages without writing a single line of css.

And if later on, the designer wants to make a change to some color, or size, I just need to change one value in the config file, and the entire app is updated.

See more
Needs advice
on
BootstrapBootstrapTailwind CSSTailwind CSS
and
UIkItUIkIt

We are re-modifying the existing portal to the new one. Looking out for a CSS framework where over-rides are possible, the performance of page loading, extendable, etc Please suggest between tailwind, UIkit and bootstrap frameworks explaining in detail on different factors. I request your help on the same.

See more
Replies (2)
Collins Ogbuzuru
Front-end dev at Evolve credit · | 3 upvotes · 552.9K views
Recommends
on
Tailwind CSSTailwind CSS

Hey Sai, My thoughts on UIkit - It's beautiful, fast, and it has good animation too. Why would I choose it ? Nothing other than giving the internet a new look .

My thoughts on Bootstrap - it's beautiful, if used well. It's very fast and has clean class naming convention unlike Uikit. Why I would choose it ? It's been tested and trusted, I can find a whole lot of resources and a community around it. Also with the type of project you working on I bet Bootstrap would do the job .

Now, considering Tailwind, it's seen as a classic, simple-to-set-up tool with clean utilities. I wouldn't think of tailwind the way I would to Bootstrap or UIkit. What do I mean ? Tailwind is more like a tool set to create your own design flow. Tailwind allows you to build unique design elements, offering you a level of customization that may be unmatched by the other frameworks.

My final thoughts.

If you have the time , setup and use tailwind it will give you a great chance when it comes to customization and performance.

See more
Brett Stevenson
Recommends
on
BootstrapBootstrap

I'm a big proponent of Tailwind and I personally use it whenever I get the chance, mostly because it's not really a UI-kit, but it sounds like in this case a UI-kit like Bootstrap with pre-defined components is more what you are looking for. Bootstrap is (relatively) extendable and overridable and makes it really simple to make a decent looking UI using a handful of pre-defined classes, whereas with Tailwind you configure the classes and create your own components. My main reason for replacing Bootstrap in my workflow is that it feels like the component creation has become so abstracted from the developer that any meaningful customization becomes a chore, resulting in many websites having the generic "Bootstrap-look". Nonetheless, it is effective for creating a pleasant and responsive UI. Though, I don't have any experience with UIkit.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Cocoa Touch (iOS)
Pros of UIkIt
  • 6
    Backed by Apple
  • 4
    It's just awesome
  • 2
    User Friendly Performance
  • 39
    Complete GUI
  • 29
    Easy modify
  • 27
    Practical
  • 24
    Easy to learn
  • 24
    Functional
  • 22
    Intuitive
  • 21
    Free
  • 16
    Simple
  • 15
    Lightweight
  • 15
    Easy to use
  • 5
    Modular
  • 5
    Because I can create amazing things with little effort
  • 5
    Modern look
  • 4
    Responsiveness
  • 3
    Small but Active Community
  • 2
    Convenient JS Components
  • 2
    Based on Flexbox
  • 2
    No requires jquery
  • 2
    Responsive grid

Sign up to add or upvote prosMake informed product decisions

- No public GitHub repository available -

What is Cocoa Touch (iOS)?

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.

What is UIkIt?

UIkit gives you a comprehensive collection of HTML, CSS, and JS components which is simple to use, easy to customize and extendable.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Cocoa Touch (iOS)?
What companies use UIkIt?
See which teams inside your own company are using Cocoa Touch (iOS) or UIkIt.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Cocoa Touch (iOS)?
What tools integrate with UIkIt?
    No integrations found

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Cocoa Touch (iOS) and UIkIt?
    Node.js
    Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
    Django
    Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
    ASP.NET
    .NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
    Laravel
    It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.
    Android SDK
    Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment.
    See all alternatives