Cocoa Touch (iOS) vs Spring

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

Cocoa Touch (iOS)

204
193
+ 1
12
Spring

3.4K
3.9K
+ 1
1K
Add tool

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

What is Cocoa Touch (iOS)? 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.

What is Spring? Provides a comprehensive programming and configuration model for modern Java-based enterprise applications. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

Cocoa Touch (iOS) and Spring can be primarily classified as "Frameworks (Full Stack)" tools.

"Backed by Apple" is the primary reason why developers consider Cocoa Touch (iOS) over the competitors, whereas "Java" was stated as the key factor in picking Spring.

Spring is an open source tool with 30.6K GitHub stars and 19.6K GitHub forks. Here's a link to Spring's open source repository on GitHub.

According to the StackShare community, Spring has a broader approval, being mentioned in 319 company stacks & 184 developers stacks; compared to Cocoa Touch (iOS), which is listed in 32 company stacks and 19 developer stacks.

Advice on Cocoa Touch (iOS) and Spring
Needs advice
on
SpringSpringRailsRails
and
DjangoDjango
in

Hi everyone! I'm starting a personal project that I've been postponing for a little while and I'm starting with the backend first.

  • It's an app that needs to query open APIs (It could go up to a hundred APIs) and do filtering and other manipulations onto the data and then store it in my own database. So basically, the end result medium/long term is a lot of data!

  • Besides filtering/storing data from other APIs, the API will interact with my client application. I should note that the client app attempts to give real-time information.

Question: I would want to launch the API within 6 months as I'm also planning to make it available for other devs through platforms like RapidAPI. With all being said, my question is twofold:

  1. Which backend framework would allow me to do these operations with the best response time possible?

  2. Which framework would be the easiest to deal with deployment on AWS?

Background:

I have a background in Spring since I'm using it at work, I have none in Rails and Django but I don't mind trying something new as long as the learning curve isn't crazy. I know python but not Ruby. Beginner on AWS and choose that one after some research.

Thank you very much, sorry it was a bit long. Cheers

See more
Replies (1)

The most relevant part is the central architecture more than the specific backend. For me, it makes sense to go for an event-driven solution. In this case, an event is emitted on every new data, and one or more listeners react to it. In AWS, you can easily get this by storing your data in DynamoDB, which is pretty fast, and have as many lambdas working on the received data (here you can find more details). This way, you keep your worker(s) busy fetching data while others consolidate it. I wouldn't get too crazy on the lambdas, and I'd start with one as there will be only one client by your description. My only concern is how similar the APIs you're consuming are. Depending on that, it may be easier to have different lambdas by target API. My only note on the backend language is that if you want low latency, I'd discard Python and Ruby and choose Go (I know that is not in the list, but given that you're open to learning a new language, you could give it a try). It is easy to learn, has excellent performance, and is the only Lamdba runtime with an X (1.X) in the supported language, making it a great choice.

See more

Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.

Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.

See more
Replies (1)

Java in general, in my opinion, is somewhat outdated in 2021. C# is a better language, and therefore, I think ASP.NET (Core/.NET 5) should be used over it. Node.js isn't bad if you are getting started, or if you need to prototype an app. I use Node in production because of TypeScript, but .NET is a really good framework that has excellent performance.

See more
Needs advice
on
SpringSpring
and
Node.jsNode.js

I am provided with the opportunity to learn one of these technologies during my training. I have prior experience with Spring and found it tough and still haven't figured out when to use what annotations among the thousands of annotations provided. On the other hand, I am very proficient in Java data structures and algorithms (custom comparators, etc.)

I have used Node.js and found it interesting, but I am wondering If I am taking the risk of choosing a framework that has a comparatively lesser scope in the future. One advantage I see with the node.js is the number of tutorials available and the ease with which I can code.

Please recommend which path to take. Is Spring learnable, or should I spend my energy on learning Node.js instead?

See more
Replies (2)

I do not know Spring or your company/specialty. Of course it must be learnable and I won't tell you to give up on anything. Java is and will remain valuable.

Regardless, I don't think "lesser scope" is a valid strike against Node.js here. Node.js fulfills JavaScript's original vision of an everywhere language and can run anywhere that Java can. It serves webpages, communicates with hardware, powers command line tools, and builds desktop applications. A huge complexity-saver for teams running many environments (my biggest regret is that it cannot run a microcontroller).

Node.js' biggest practical weakness is that JavaScript is less structured than Java. Luckily, the large influx of Java developers has been helping with this: gaps like constants and private properties are gradually filling in, and TypeScript firms up the types to the point where JavaScript looks a lot like Java.

Probably more potential competition from the larger pool of JS developers, but the compensation is allegedly similar so I guess there is a similar supply/demand situation.

See more
Recommends

hi this depends where you want to advance . If you want to work for an big aged company with a lot of legacy go the spring way (banks, insurances netflix etc ) if you want to go the new agile fast cloud way learn node js it is much more suited for cloud and micro service even spring cloud can do that as well but it is much more heavier

See more
Needs advice
on
SpringSpring
and
DjangoDjango

I am a graduate student working as a software engineer in a company. For my personal development, I want to learn web development. I have some experience in Springboot while I was in university. So I want to continue with spring-boot, but I heard about Django. I'm reaching out to the experts here to help me choose a future proof framework. Django or Spring Boot?

Thanks in Advance

See more
Replies (5)
Recommends
SpringSpring

Kamrul Hasan, Don't choose dying technologies with small communities. How many startups do you think use Spring and Django? Use Google Trends to compare technologies. Study the StackOverflow developer survey and job websites to see what technologies are wanted. Few teams can afford to train you to get up to their level so be a life-long learner. Embrace the dawn of a new industry and become an expert.

See more
Sulaiman Sanusi
Recommends
SpringSpring

I recommend you stick to Java Spring as you already have experience with the technology, i suggest you master this technology and then if Django seam to be very interesting to you, django is a framework you can easily pickup as python is also easy, you have to probably be able to manage the context switching between a static typed language like Java to dynamic language like python

See more
Gonzalo Fernández
Recommends

Hi Kamrul,

It really depends on the kind of project and whether you feel more comfortable with Java or Python. Both are excellent frameworks, with a huge community and learning material. I've been working with Spring Boot since I started coding almost and I can assure you it's the perfect combination for Java. The learning curve may be harder that Django, but once you know the basics you're good to go. I can't tell you much about Django but you must now by now that it has a great reputation with Python users. In any case I don't think you can go wrong with any of these two. My advice is, if you are already familiar with the Spring framework, give Spring Boot a try, because you're going to find out that it just makes the whole Spring experience so much easier. Let us know what you chose!

See more
Christoph Becker
Recommends
SpringSpringDjangoDjango

It depends on what you want. Spring is Java-based whereas Django is Python-based. The question rather is Java vs Python. I personally recommend Python as it's shorter and easy to learn. But Java has advantages in really big systems.

See more
Recommends
DjangoDjango

Both are in active development and had huge community support. It really depends on you what you are comfortable with. Both are married to their respective languages. I choose Python over Java because of its simplicity and readability. To develop in java you need to write a lot of code. That's how java is. The best part I love with Django is its synchronization with Databases.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Cocoa Touch (iOS)
Pros of Spring
  • 6
    Backed by Apple
  • 4
    It's just awesome
  • 2
    User Friendly Performance
  • 221
    Java
  • 155
    Open source
  • 133
    Great community
  • 120
    Very powerful
  • 111
    Enterprise
  • 63
    Lot of great subprojects
  • 59
    Easy setup
  • 44
    Convention , configuration, done
  • 38
    Standard
  • 29
    Love the logic
  • 12
    Good documentation
  • 10
    Stability
  • 10
    Dependency injection
  • 7
    MVC
  • 6
    Easy
  • 3
    Strong typing
  • 3
    Makes the hard stuff fun & the easy stuff automatic
  • 2
    Maven
  • 2
    Code maintenance
  • 2
    Best practices
  • 2
    Great Desgin
  • 2
    Easy Integration with Spring Security
  • 2
    Integrations with most other Java frameworks
  • 1
    Java has more support and more libraries
  • 1
    Supports vast databases
  • 1
    Large ecosystem with seamless integration
  • 1
    OracleDb integration
  • 1
    Live project

Sign up to add or upvote prosMake informed product decisions

Cons of Cocoa Touch (iOS)
Cons of Spring
    Be the first to leave a con
    • 15
      Draws you into its own ecosystem and bloat
    • 3
      Verbose configuration
    • 3
      Poor documentation
    • 3
      Java
    • 1
      Java is more verbose language in compare to python

    Sign up to add or upvote consMake 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 Spring?

    A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

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

    What companies use Cocoa Touch (iOS)?
    What companies use Spring?
    See which teams inside your own company are using Cocoa Touch (iOS) or Spring.
    Sign up for Private StackShareLearn 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 Spring?

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

    Blog Posts

    What are some alternatives to Cocoa Touch (iOS) and Spring?
    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