Android SDK vs Cocoa Touch (iOS) vs Spring

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

Android SDK

22.9K
17.7K
+ 1
795
Cocoa Touch (iOS)

205
197
+ 1
12
Spring

3.6K
4.3K
+ 1
1K
Advice on Android SDK, Cocoa Touch (iOS), and Spring
Needs advice
on
SpringSpring
and
Spring BootSpring Boot

Hello Guys

I am a newbie here and not very well experienced with different stacks. I have primarily programmed in C lang/C++ and am somewhat proficient in it.

I am now considering taking up Spring as a new framework to learn to get into Web dev as I know a little Java. But I have concerns about choosing it and am confused with JavaScript frameworks.

Could you please tell me which stack should I choose from?

See more
Replies (2)
Recommends
QuarkusQuarkus

What is your objective here? It sounds like this is not to solve a particular issue, but is about learning? If so, do you have a preference for things used on the front-end or the backend? That decision would typically lead down a JAVA-oriented path or a JavaScript-oriented path.

If you decide to learn JAVA, then Spring + Spring-boot is a very relevant framework. A competitor is Microprofile + Quarkus. The Quarkus part is newer, but gaining a lot of traction.

See more
Recommends
Spring BootSpring Boot

Javascript is not a framework, it's programming language that can run in browser or as server side application developed with node.js framework.

See more
Needs advice
on
DjangoDjangoRailsRails
and
SpringSpring
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)
Jorge Velasco
Full Stack Developer at Fintual · | 8 upvotes · 49.8K views

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
Node.jsNode.js
and
SpringSpring

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
DjangoDjango
and
SpringSpring

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
DjangoDjangoSpringSpring

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
Needs advice
on
Android SDKAndroid SDKDjangoDjango
and
Spring BootSpring Boot

I've just finished my Masters degree and I am looking at routes into developing my Java knowledge.

The University I studied at requested that all practical Java assignments were done in Java Swing and as such I have a strong understanding in that area of development. Looking at job prospects, many employers are now looking for Java Spring or Android developers.

The plan is to move away from Java SE and skill up in Android development. I was planning on learning Spring Boot to gain exposure in web application development, however looking at StackShare, Django seems to be the more attractive choice for developers.

Does anyone have any advice on which routes/stacks would be the most advisable to adopt. If Spring is not receiving as much exposure or support as Django, is it worth adding to my stack?

See more
Replies (2)
Recommends
Spring BootSpring Boot

Spring is generally more an enterprise solution, while I see Django being more startup oriented. Django is lightweight and fast (development time, not runtime!). Spring seems to have more focus on microservice architecture than django, if that matters to you at all. Starting your project in Django, it automatically creates a backend 'admin panel' for you to use and customize. You will not find this in the more serious Spring Boot.

See more
Jeffrey Dabo
Software Engineer at Jeffrey Dabo · | 7 upvotes · 354.2K views
Recommends
Spring BootSpring Boot

Though Java is a strong language and basically the first language to be used in Mobile Development (Android), the framework Spring Boot is not as modern as the Django framework which is based on one of the most popular languages today - Python. Moreover the Python language is far more simpler in syntax and just as powerful as Java. However, Java has scaled up it's performance and the Spring Boot framework can support dynamic web development as well as android development. Whichever way you choose to go, there will be no regrets - trust me.

See more
Decisions about Android SDK, Cocoa Touch (iOS), and Spring
Omran Jamal
CTO & Co-founder at Bonton Connect · | 7 upvotes · 405.5K views

We actually initially wrote a lot of networking code in Kotlin but the complexities involved prompted us to try and compile NodeJS for Android and port over all the networking logic to Node and communicate with node over the Java Native Interface.

This turned out to be a great decision considering our battery usage fell by 40% and rate of development increased by a factor of 2.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Android SDK
Pros of Cocoa Touch (iOS)
Pros of Spring
  • 286
    Android development
  • 155
    Necessary for android
  • 127
    Android studio
  • 86
    Mobile framework
  • 82
    Backed by google
  • 27
    Platform-tools
  • 21
    Eclipse + adt plugin
  • 5
    Powerful, simple, one stop environment
  • 3
    Free
  • 3
    Больно
  • 6
    Backed by Apple
  • 4
    It's just awesome
  • 2
    User Friendly Performance
  • 224
    Java
  • 155
    Open source
  • 133
    Great community
  • 120
    Very powerful
  • 112
    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 Android SDK
Cons of Cocoa Touch (iOS)
Cons of Spring
    Be the first to leave a con
      Be the first to leave a con
      • 15
        Draws you into its own ecosystem and bloat
      • 3
        Verbose configuration
      • 3
        Poor documentation
      • 3
        Java
      • 2
        Java is more verbose language in compare to python

      Sign up to add or upvote consMake informed product decisions

      - No public GitHub repository available -
      - No public GitHub repository available -

      What is 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.

      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!

      Jobs that mention Android SDK, Cocoa Touch (iOS), and Spring as a desired skillset
      CBRE
      United States of America Texas Richardson
      Pinterest
      San Francisco, CA, US; Palo Alto, CA, US
      Pinterest
      San Francisco, CA, US; New York City, NY, US; Portland, OR, US; Seattle, WA, US
      Pinterest
      San Francisco, CA, US; New York City, NY, US; Portland, OR, US; Seattle, WA, US
      What companies use Android SDK?
      What companies use Cocoa Touch (iOS)?
      What companies use Spring?

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

      What tools integrate with Android SDK?
      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

      Android SDKBugsnagLeakCanary+3
      5
      995
      Jul 16 2019 at 9:19PM

      Bugsnag

      JavaAndroid SDKBugsnag+3
      3
      300
      GitHubPythonNode.js+47
      53
      70779
      What are some alternatives to Android SDK, Cocoa Touch (iOS), and Spring?
      Android Studio
      Android Studio is a new Android development environment based on IntelliJ IDEA. It provides new features and improvements over Eclipse ADT and will be the official Android IDE once it's ready.
      Ionic
      Free and open source, Ionic offers a library of mobile and desktop-optimized HTML, CSS and JS components for building highly interactive apps. Use with Angular, React, Vue, or plain JavaScript.
      React Native
      React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.
      Flutter
      Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
      Xamarin
      Xamarin’s Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry’s most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.
      See all alternatives