Jump to content

Hey everyone,

 

New to the forum and have a question that I thought you guys would be able to help with.

 

I have an idea for an app (for mobile) and have never programmed in my life so am starting from 0%. What language would be the best to learn, not necessarily the easiest, but bet for possible cross platform if possible. This is more for a personal project and not something I am thinking of throwing up on an app store yet, but if it turns out good, I might as well. Not sure yet.

 

Also, what resources would you suggest (Youtube channels, books, code repositories, etc...) to get started?

 

Thanks in advance for the help everyone!

 

Link to comment
https://linustechtips.com/topic/1573126-best-resources-for-app-programming-newb/
Share on other sites

Link to post
Share on other sites

54 minutes ago, ClayVella said:

I would be more interested in Android to be honest. Is there a way to then transfer that over to an Apple iOS app? Or is this a complete impossibility?

The question was which OS you want to target, not whether you want to use iOS 😉

 

If you develop a native app for Android (Kotlin or Java) then you can't directly transfer that app. You would have to rewrite your code in Swift.

 

On the other hand you can use frameworks like Flutter where you write your code in Dart and it compiles an app for both platforms.

 

The downside is that a lot of things that are platform specific then require you to use plugins, which provide the necessary native code. And Flutter apps also tend to be a lot larger than native apps written for one particular platform.

Remember to either quote or @mention others, so they are notified of your reply

Link to post
Share on other sites

3 hours ago, Eigenvektor said:

The question was which OS you want to target, not whether you want to use iOS 😉

 

If you develop a native app for Android (Kotlin or Java) then you can't directly transfer that app. You would have to rewrite your code in Swift.

 

On the other hand you can use frameworks like Flutter where you write your code in Dart and it compiles an app for both platforms.

 

The downside is that a lot of things that are platform specific then require you to use plugins, which provide the necessary native code. And Flutter apps also tend to be a lot larger than native apps written for one particular platform.

Thanks for the insight! So if I'm understanding this, Swift would be completely different from Kotlin then? 

It seems like there are quite a few downsides to using something like Flutter so I might be better off sticking with Kotlin and then seeing if I want to learn Swift later if I decide that route.

Link to post
Share on other sites

1 hour ago, ClayVella said:

Thanks for the insight! So if I'm understanding this, Swift would be completely different from Kotlin then? 

It seems like there are quite a few downsides to using something like Flutter so I might be better off sticking with Kotlin and then seeing if I want to learn Swift later if I decide that route.

Yes, Kotlin and Swift are fairly different, as is a lot of the underlying framework for Android and iOS. You can certainly manually port between these languages, but you'll need sufficient fluency in both languages(1).

 

You'll also need to be familiar with both platforms, which things are the same under a different name, which things work differently.

 

Flutter will make that a lot easier, but it's good to be aware of its downsides. If the app you're writing doesn't need anything platform specific (say GPS tracking) you might not need to find or write plugins at all.

 

And unless you're writing a utility that is supposed to be as unobtrusive as possible, it might not matter whether the app is 10 MB or 40 MB.

 

~edit:

1) If you're fluent in Kotlin then porting to another language isn't an insurmountable problem. An algorithm that works in one language generally works exactly the same in another language. But rewriting it in another language you're not overly familiar with can be quite tedious. The more difficult porting work, however, is likely translating between concepts that work different in Android and iOS, such as how the UI layout is defined or how different parts of the app communicate with one another etc.

Remember to either quote or @mention others, so they are notified of your reply

Link to post
Share on other sites

Flutter has peaked my interest to be honest. Just one last question though as I can't find anything on their site. It seems to be free to develop on it, but what are the costs of using it (either hidden or in your face upfront) if I decide to publish an app that I build using their software?

 

Sorry for all the questions but just want to make sure I invest my time into something that I can use and not have to scrap everything and learn something completely different halfway through the project.

 

Thanks for all the help and suggestions so far everyone!

Link to post
Share on other sites

8 minutes ago, ClayVella said:

Flutter has peaked my interest to be honest. Just one last question though as I can't find anything on their site. It seems to be free to develop on it, but what are the costs of using it (either hidden or in your face upfront) if I decide to publish an app that I build using their software?

You don't need to pay any licensing fees for using either Java or Kotlin as a programming language. Likewise you don't pay anything for developing an iOS app in Swift. Likewise Flutter is also free (open source, supported/developed by Google)

 

The developers of the Kotlin language (JetBrains) make money by selling their IDE (e.g. IntelliJ), though there is a free community edition. The development environment for Android (Android Studio) is based on IntelliJ. That one is maintained by Google and also free of charge. Flutter plugin is by Google. Google makes money if you sell your app (they get 30%)

 

(~edit: my inner grammar N… also wants to point out its Piqued my interest, not peaked)

Remember to either quote or @mention others, so they are notified of your reply

Link to post
Share on other sites

Cross-platform is basically down to either flutter/dart or react native/javascript. There are other ones out there like xamarine and ect but they have no where the popularity as the above two so I wouldn't recommend it because online help/answer would be lacking. 

 

I am personally biased towards flutter and dart is like better version of javascript but react native is good if you like javascript better, do it in typescript tho which is also like better version of javascript lol. 

Sudo make me a sandwich 

Link to post
Share on other sites

iOS and Android:

kodeco.com

 

iOS: 

hackingwithswift.com (100 days of Swift would be a good starting point) 

Stanford course https://cs193p.sites.stanford.edu/2023

Apple https://developer.apple.com/tutorials/app-dev-training/

Swift playgrounds app

wwdc sessions (don't start here) https://developer.apple.com/videos/topics/

Link to post
Share on other sites

Thanks everyone for the help! I am in the process of starting learning Kotlin from the ground up, but in the meantime, I am also playing around with MIT APP Inventor to get a feel for how the app will look and work.

 

Really appreciate the help and will definitely be back to pick your brains if I have any other questions!

 

P.S. @Eigenvektor maybe my interest reached it's peak when I was writing that statement and that was what I meant! 😛 Lol! No worries at all bud 🙂 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×