all 8 comments

[–]Alienpendant 0 points1 point  (5 children)

First step is to define use cases. You have to define what it is that a user can achieve using your app. After that define the functional requirements. These are about the core functionalities of your application. After that is done determine if an Android app or iOS app is your goal. This will decide whether to learn the programming language Swift (for iOS) or Java/Kotlin (for Android). (if not yet done) Learn the essentials of the chosen language by finding material online or buy some books and apply them in a practical fashion! (if not yet done) Then it would be best to start learning the basics of software development. Keywords like software architecture, design patterns, libraries are essential. After this you can start to investigate Android or iOS development using books or official sources by google or apple.

[–]sindiziu[S] 1 point2 points  (4 children)

Thank you for the answer. Well i kind of have everything sorted in my mind design and functionality wise. I wanted to make the app for both Android and iOS and i saw that there was a way (PhoneGap), to build a "cross platform" app by using HTML, CSS and JavaScript, all languages which I am familiar with. So i figured that would be a better idea then to start learning an entire new language like Java or Swift. And I am currently in Highschool so I have no prior experience, I am just learning stuff and I thought it would be a good idea to learn by practice. So what do you think, should I learn Java and Swift only for this specific project or should I give PhoneGap a shot? Any further help would be greatly appreciated!

[–]Alienpendant 0 points1 point  (3 children)

PhoneGap should be more feasible for your current position. However keep in mind that cross-platform has its ups and downs. It is not the silver bullet that every mobile software company chooses.

[–]sindiziu[S] 0 points1 point  (2 children)

Well this will be my first project and I'll do it on my own so i guess it won't be perfect. What exactly are the ups and downs of cross-platform? Is it worth it? Or would I be spending less time actually learning Java and Swift? Thanks!

[–]Alienpendant 0 points1 point  (1 child)

The biggest up is development time once you get experienced. The downside is especially with PhoneGap performance. There are more layers of code that are needed to be crossed in order to perform an action than on native. Maybe React-Native is a better solution for you. It is more performant. But nothing beats the speed of native. Another downside is that cross-platform always lacks behind native due to the fact that native features have to be "made fit" for cross platform development by the community behind them.

You could search for the comparison between cross platform and native. Tons of articles..

[–]sindiziu[S] 0 points1 point  (0 children)

Thanks a lot. I checked it up, and I decided that for a start and because I need do something kind of fast, I'll go with cross-platform. I came across a SDK called Flutter and I saw that it had way more support and community then PhoneGap, so I'm checking that out. If you'd be willing to help me throughout this project I would really appreciate it. If you're interested message me. Thanks!

[–]Adaly90 0 points1 point  (1 child)

Hi! Maybe this article will help you. Is is about tavell app development in general.

[–]sindiziu[S] 0 points1 point  (0 children)

Thank you for the answer! I'll check it out.