Swift

Swift

Application and Data / Languages & Frameworks / Languages
AVP - Business at VAYUZ Technologies Pvt. Ltd.·
Needs advice
on
Node.jsNode.jsPythonPython
and
RailsRails

Hi Community! Trust everyone is keeping safe. I am exploring the idea of building a #Neobank (App) with end-to-end banking capabilities. In the process of exploring this space, I have come across multiple Apps (N26, Revolut, Monese, etc) and explored their stacks in detail. The confusion remains to be the Backend Tech to be used?

What would you go with considering all of the languages such as Node.js Java Rails Python are suggested by some person or the other. As a general trend, I have noticed the usage of Node with React on the front or Node with a combination of Kotlin and Swift. Please suggest what would be the right approach!

READ MORE
Neobank - Wikipedia (en.wikipedia.org)
22 upvotes·879.9K views
Replies (9)
Recommends
on
Serverless

Use the language which works well for the developers you have or have available. If you're starting, building a first iteration is far more important than worrying about what language might be best to solve a problem you may never have.

When hiring, look for developers, not "node developers" or "java developers" having people who recognise and are willing to adapt means you can have the flexibility you will need to solve as-yet unforeseen issues. Hire people who are wed to a specific language and you will be bound to that language, regardless of whether it's most appropriate or not.

READ MORE
42 upvotes·1 comment·146.6K views
Shivam Bhargava
Shivam Bhargava
·
March 26th 2020 at 7:43AM

Hey! Thanks for the response. I do agree with this line of thought, currently I do have an established team of Folks who are pretty good at NodeJS and related stacks (MEAN, MERN, Meteor etc.) along with expertise in Flutter, Native Apps along with AWS as well. I think this would constitute the core App and then integrations all across can take place. Would you have any reading material on the Serverless front in relation to Neobanks / Digital Banking platforms? Thank you.

·
Reply
Recommends
on
Rails
in

For online banking, it'll be less computation intensive and more data intensive. So, Rails will be better than Python. I'll not recommend Node.js as it's not as scalable as those. If I had to choose indepently I would took Go.

READ MORE
19 upvotes·5 comments·146.7K views
Mikael Sand
Mikael Sand
·
March 27th 2020 at 9:48PM

What measurements do you base the scalability conclusion / comparison of python, ruby (rails), and nodejs on?

·
Reply
Shaswata Das
Shaswata Das
·
April 1st 2020 at 12:46PM

nodejs maintains concurrency by events, it's common sense that a single thread would never be able to equivalent of multi-thread.

Now, let's talk about Ruby vs Python.

Python requires the developer to be clean about side effects and isolation. With Ruby one can write concurrent programs that operate on multiple cores easily, similar to Python, a developer is responsible for side effects and isolation issues. Python’s concurrency process is more resource-demanding as compared to Ruby. But then again, it boils down to developer coding habits if one has to take the cake offered by both Python and Ruby Performance languages.

·
Reply
Mikael Sand
Mikael Sand
·
April 1st 2020 at 3:55PM

Seems like a banking system would have its scalability depend more on the transactional database in use, rather than the choice of language used for the api layer, which probably just translates from/to http+json or whatever transport and message standards used, to some atomic sql / db query in a transaction and serialising the response. Seem unlikely there would be any need for shared memory multi-threading in the api layer. Node.js could probably be used just fine, e.g. with PostGraphile on top of PostgreSQL. It seems very unlikely to be the bottleneck.

·
Reply
Shaswata Das
Shaswata Das
·
April 2nd 2020 at 8:59AM

In case of online banking, bottleneck may occur. I'd rather prefer isolated hybrid database API, that'll better than PostGraphile. For security issues, I'll not recommend any GraphQL API in online banking application, also it'll not be helpful in this scenario. It's true that "a banking system would have its scalability depend more on the transactional database in use", but when it's about online banking it's not only about transaction, I bet, they've more to offer to their clients. So, scalability on api layer is also important for this case.

·
Reply
Varun Sharma
Varun Sharma
·
April 22nd 2020 at 9:51AM

Brother I have been working in Ruby on rails and nodejs from last 3 years. From my experience it is easy to scale nodejs as compared to Ruby and it even requires less resources for deployment as well. This was one of the reason why linkedin shifted their stack from Ruby on Rails to Nodejs.

·
Reply
View all (9)
Needs advice
on
AngularJSAngularJSFlutterFlutter
and
LaravelLaravel

I'm building a web and mobile application for transferring virtual digital currencies between 3 types of users for real-world applications, not in-game. I've been contacting companies for recommendations and estimates, and two have come back with Laravel and either Flutter or Android Studio/Swift. I've been studying Flutter, and I think that's the way to go, but for the web app and backend, Laravel just doesn't seem right. Maybe, I'm so used to PHP that it looks like a step backward or being stuck in the past or for bloated WordPress sites and text document management. And the components of Laravel, although they look handy, are rather pricey. Looking at similar kinds of apps, I see them being built in AngularJS, TypeScript, Node.js. What do you folks think? Thank You.

READ MORE
6 upvotes·98.6K views
Replies (4)
Recommends
on
Flutter

I would go with Flutter for the front end because it is easy to use once you learn Dart, has components for both Cupertino and Material Design, performs well, and has great documentation. For the backend, I've never used PHP so I don't know how good Laravel works, but I would usually use Node.js because of its large ecosystem, or Aqueduct, because if you use Flutter than you can use Dart on both the front and back end.

READ MORE
8 upvotes·2 comments·13.7K views
Jean-Baptiste Guillois
Jean-Baptiste Guillois
·
June 16th 2020 at 7:52AM

I would also go for Flutter for the front end as it is an easy and productive platform for creating mobile apps. For the backend, I would go either for Java (SpringBoot) or Node (+express) as both are rock solid platforms for creating API based backends. I may be strongly opinionated but I consider PHP being solely targeted at websites, not enterprise applications.

·
Reply
Stephen DeMeulenaere
Stephen DeMeulenaere
·
June 11th 2020 at 3:53AM

Thank you for your recommendation!

·
Reply
Frontend Developer at atSistemas·
Recommends
on
Ionic

You could check out Ionic. Angular won't help in creating a mobile app, but with Ionic you can do it, and it comes from Angular. On the other hand, it isn't clear if you're building a mobile webapp or if you need it to be a native APK.

About Flutter, it is really limited for webapps, it's heavily oriented towards creating native Android and iOS apps using Dart.

READ MORE
5 upvotes·1 comment·13.6K views
Stephen DeMeulenaere
Stephen DeMeulenaere
·
June 11th 2020 at 3:55AM

Thank you, Daniel, yes I'm familiar with Angular and Ionic, that's an approach to this project that I am considering as well.

·
Reply
View all (4)
Needs advice
on
Node.jsNode.jsReactReact
and
React NativeReact Native

I'm researching what Technology Stack I should use to build my product (something like food delivery App) for Web, iOS, and Android Apps. Please advise which technologies you would recommend from a Scalability, Reliability, Cost, and Efficiency standpoint for a start-up. Here are the technologies I came up with, feel free to suggest any new technology even it's not in the list below.

For Mobile Apps -

  1. native languages like Swift for IOS and Java/Kotlin for Android
  2. or cross-platform languages like React Native for both IOS and Android Apps

For UI -

  1. React

For Back-End or APIs -

  1. Node.js
  2. PHP

For Database -

  1. PostgreSQL
  2. MySQL
  3. Cloud Firestore
  4. MariaDB

Thanks!

READ MORE
11 upvotes·395.8K views
Replies (7)
Recommends
on
Flutter

My Recommendations: Front End: Flutter because of developer tooling and powerful declarative widget system Back End: Node.js or Go because Node.js has a large ecosystem and Go has a good built in http setup Database: Cloud Firestore because of ease of use, NoSQL, and the ability to set data from the client

READ MORE
14 upvotes·2 comments·12.4K views
anandarao493
anandarao493
·
July 27th 2020 at 4:46PM

Thanks, since Google cloud Firestore is a NoSql database, I'm wondering how does it work for an app where it does daily transactions in a user checkout flow, etc.. ?

·
Reply
awesomebanana2018
awesomebanana2018
·
July 27th 2020 at 5:50PM

I'm not entirely sure what the question is about, as I don't see any problem using Cloud Firestore for transactions, but here is a use case for using Firestore with stripe: https://firebase.google.com/docs/use-cases/payments

·
Reply
FullStack Dev ·
Recommends
on
Node.js

If you go with react / react native I advice you to go with node. Why ? I first didn't believe coding in javaScript everywhere (back, front and db queries) was making life SO much more easy. I still followed the advice, in the end this is a huge relief. For a small startup project with 1/2/3 devs, using only one langage increases efficiency a lot. You can switch very fast from a topic to another.

READ MORE
8 upvotes·10.7K views
View all (7)
Fullstack Web Developer ·

I am a React developer who is bootstrapping a tech startup that will be heavy on multi-platform apps. I am torn between deciding what platform(s) to stick with for the company. I have read a lot about these frameworks/languages, and opinions seem to be on the extremes. Can people who currently work with Swift React Native or Android SDK (individually, or a combination of them) share their realtime perspectives and experiences working with them?

READ MORE
5 upvotes·44.6K views
Replies (1)
Recommends
on
React Native

Hi, I worked on a lot of Android applications that needed native components and fine-tuned communications protocols, so multi-platform apps was impossible or way too expensive. There are a lot of examples over the years of companies beginning with multi-platform framework and finally switching to native e.g. https://medium.com/airbnb-engineering/react-native-at-airbnb-f95aa460be1c

My advice would be, as you are at the beginning of your startup and know React well: Develop your first app in React to showcase your product, add features, remove ones and find your product-market fit. Switch to native only if you have really bad performances issues or features that you cannot implement in React. It will save you a lot of times ! There is very few developers who are experts in Android & iOS !

READ MORE
11 upvotes·1 comment·6.6K views
Chinomnso Awazie
Chinomnso Awazie
·
July 31st 2020 at 6:10PM

Thanks for your meaningful and helpful contribution.

·
Reply
Founder & CEO at Macombey·

Supernova is a great tool when exporting designs and using the front-end UI code for Swift. The process is quick and easy.

READ MORE
1 upvote·26.9K views
Needs advice
on
JavaScriptJavaScriptReactReact
and
SwiftSwift

Hey guys, I learned the basics (OOP, data structures & some algorithms) with Python, but now I want to learn iOS development. I am considering to learn Swift, but I am afraid how the native mobile development will die out because of the cross-platform frameworks and reviews. My idea is to learn web development first and then learn React Native, and after all of that, finally Swift. What do you think about this roadmap? Should I just learn Swift first due to the pros of the native apps?

READ MORE
7 upvotes·120.8K views
Replies (7)
Recommends
on
Swift

Native apps are not going to die. Especially not Swift because now Swift can be used to develop cross platform macOS and iOS apps due to the new macs having M1 chips.

READ MORE
9 upvotes·109.5K views
Recommends
on
Swift

If asking about employment opportunities, native will never die out. There will always be opportunity for work in native mobile applications. There are also many advantages of using native over cross platform such as always having access to the latest APIs and developer libraries that may not be available to cross-platform without some native development involved or can wait until someone develops a bridge for you.

If you are asking about what you should develop with first? It really depends. React-Native is great for building proto-types or basic MVP application that doesn't require any of the latest and greatest features Apple has to offer at the moment. But if you're asking what to learn? I would say native will always give you a larger advantage as it will give you a good foundation in mobile development and provide you access to the latest native libraries. It is also a useful skill that can give you an edge in cross-platform mobile like react-native because you will most definitely encounter a situation where you will have to go down to the to native side to extend functionality or utilize APIs that are not yet out of the box.

READ MORE
4 upvotes·99.8K views
View all (7)
Needs advice
on
SwiftSwiftSwiftUISwiftUI
and
XcodeXcode
in

Greetings everyone. I ran a design studio for 8 years in which we designed mobile and web apps. I also lead development teams when our client asked us to carry out the development of the projects. I always had an interest in learning to code to help me understand what is going on on the dev side and also build small apps as a hobby. I tried several times to get on a learning path, but challenges always put me down, so I quit after a couple of weeks. I tried JavaScript, Python, PHP, and Objective-C.

Now I am retrying to teach myself Swift and especially SwiftUI for more than a month, and It's been going well so far. I want to build my own small apps, and I'm not focused on getting hired as a developer. I want to ask if it's the right language to start learning to program or should I learn something else first as a foundation. I'm currently taking a 100 days of code challenge and reading the Swift 5.3 PDF if I want to get more information on a specific topic. It feels like none of the stuff is sticking, but I'm not sure if it's the way it goes or my approach is wrong.

I would appreciate any kind of guidance. Thanks

READ MORE
9 upvotes·69.5K views
Replies (1)
Director at Realityworks·

Mastering SwiftUI by Big Mountain Studio is a great reference manual.

A good way to practice is to spend a few days or weeks working on reading/learning. Then, try to build your own thing.

There’s so much in Swift and SwiftUI, it will a dozen apps before you become really good at it and even then, you’ll be often referring to Stack Overflow for help.

Also check out raywenderlich.com, that site is filled with relevant tutorials and books.

READ MORE
5 upvotes·1 comment·16.3K views
Karem Ortiz
Karem Ortiz
·
January 6th 2021 at 4:11PM

Wow great tips Peter! I want to master react native for mobile development, im a junior looking for my first job after having done a 12 weeks bootcamp. It is very hard but I try to keep going:)

Karem

·
Reply
Founder at Stardust·
Needs advice
on
RustRust
and
SwiftSwift

Hey there, we are looking to develop our own layer 1 blockchain. We're splitting the responsibilities for origination, clearing, and settlement across three independent but cooperating node networks. We've gotten our Proof of Concept up using Ruby on Rails for the nodes, you can see it as the attached link. So far, so good. Now we are looking to convert it into a distributable and are trying to figure out which language is the best for this.

Essentially our needs from the language are: solid networking tools and speed, very fast execution of basic actions, some parallel execution, and able to compile the end product into an easy to distribute and use package for end users.

I was learning Rust, but I have a healthy amount of experience with Swift and right now, it's only me coding. I've only done iOS coding, but have built a fintech app from scratch that's now in the app store so I'm pretty familiar with the language and its benefits. Haven't experimented with Vapor or any of the application development tools, and I wanted to know if it is a crazy idea to develop a blockchain node in Swift instead.

READ MORE
Stardust Block Chain Explorer (explorer.stardust.finance)
8 upvotes·122.4K views
Replies (2)
Recommends
on
Rust

Pick Rust. Rust can provide all what you need and has been a major language in blockchain/cryptocurrency industry. Swift is slower than Rust and does not have such support in the networking and domain field. Swift tooling is great only on macOS, therefore you are likely to have troubles on other platforms.

READ MORE
8 upvotes·1 comment·120.2K views
Cassius Zulu
Cassius Zulu
·
March 15th 2022 at 8:56AM

Cool

·
Reply
Director at Realityworks·
Recommends
on
C++
Golang
Swift

You can use swift of course. It’s more of a question of being performant.

You really want to try some basic operations and find what’s most performant for you.

Rust is wonderful for cloud applications requiring heavy concurrency, it has compile time checking for such things.

Go and C++ could be more performant in your case. Swift is really quite an obtuse language, with a lot of features, some which may complicate your implementation.

Also, you want to consider the market of developers who could help build it. If you use Go or C++ there is a larger collection of people who know the languages than there is with swift.

READ MORE
6 upvotes·1 comment·121.8K views
Jean Casteaux
Jean Casteaux
·
September 11th 2022 at 12:39PM

How is Go more performant than Swift? Features are to be used wisely, like any engineer can do. Go actually lacks useful features, you'll find the language very "poor" compared to Swift. The latter is a joy to use, not Go.

·
Reply
Needs advice
on
FlutterFlutterPythonPython
and
SwiftSwift

Hello, I am still a student and would like to ask a question. Currently, I am developing in mobile development with Flutter in the frontend and Python in the backend part. Right now I have to make a choice about developing a mobile app or developing a backend to progress more professionally. My questions are as follows:

1) If I prefer the mobile application area, will I only work with the Ui/Ux developer with the front-end and code the designs in Swift Kotlin languages, am I responsible for the back-end software?

2) I have a product that generates new ideas so I like to control the development and work there because the backend is the brain, but are they independent from each other in the backend mobile application? Is the mobile app developer responsible for the backend software?

3) I don't like graphic design because I don't like it if it's not perfect and I get stressed. Am I responsible for the graphic design in the mobile app?

4) Is a mobile app developer also a backend developer?

I know these are very simple questions, but they are very important to me. Thanks for your answers.

READ MORE
11 upvotes·126.7K views
Replies (3)
Software Developer at Empirica Consultores·

Hi Hüseyin! 1-2) In my experience If you are a Mobile Applications Developer you will have the following responsabilities: - Develop (not designing) both functionality and screens of the app you are working - Consume (not develop) third party or self company owned APIs or Backend services - Distribution tasks. - Mantainance tasks. Now, there will always be companies wishing you know the whole thing (ui/ux, backend, frontend, mobile, cd/ci, data science, etc.). And of course it will be helpful for you to know a little bit of the stuff around mobile development, but it's not very common since it's not part of the responsabilities of a mobile app dev.

3) No, you are not responsable for the designs of your application, that's why companies have Product designers, ux designers, ui designers for preparing the screens, logos, color palettes, etc for products. As a developer your job is to see and examine the designs and take them from Figma, InVision, Zeplin, etc to the Code editor.

4) This is the thing, if you are working as a Mobile Developer you might know about Mobile development, not backend, not frontend, not ui ux. BUT if you know a little about backend that might be helpful although backend should not be your responsability.

I hope this makes sense to you. Cheers!

READ MORE
5 upvotes·125.5K views
Senior iOS Developer at Grailed·
Recommends
on
Swift
Xcode

As a mobile developer, I'm usually a member of a larger team and it's usually another person's responsibility to develop the backend/API, and another person's to do the UX/design. Very very few teams use cross-platform tools like Flutter or React Native, because tools like those tend to make mediocre apps that scale poorly and are impossible to debug, so make sure to get familiar with Swift/iOS or Kotlin/Android (or both).

READ MORE
4 upvotes·2 comments·121.4K views
Christopher Wray
Christopher Wray
·
February 8th 2022 at 6:56PM

Hey Jake, I would love to know your opinion on Ionic. Around 15% of apps in the app store are built with Ionic and love to know your thoughts on it?

·
Reply
Jake Hawken
Jake Hawken
·
February 9th 2022 at 7:11PM

I'm highly skeptical of even the intentions of any framework that tries to replace mobile devs with web devs. That sounds like it serves the desires of myopic project managers at the expense of the sanity of any engineer that has to maintain the app longer than a month.

Plus, everything that I said above is gonna be true of every cross-platform tool. If your code is so abstract that you're writing web code to generate an iOS app, a web app, and an android app, your code is too abstract to be meaningful in solving problems, debugging issues, scaling solutions, or making an app that follows the interface guidelines of all platforms in a natively idiomatic way.

·
Reply
View all (3)