← Previous · All Episodes
Creating an app - Episode 4 S9E50

Creating an app - Episode 4

· 11:53

|
Peter:

What's up everybody? Welcome to episode 4 in my series on creating applications with some suggested workflows and approaches to sort of getting from the beginning to the end. In the last episode, I discussed creating some very basic, very simple outline views for your application. Right? Basically, drawing down on a piece of paper or on a screen, things like a text box, a button, all of those kind of things so that you could start to get a feel for whether you had captured or the features that you wanna get in there and how you might organize those in different screens and what those screens might look like at a very basic level.

Peter:

Now in this episode, we are gonna switch gears here a little bit, and we are gonna start talking about thinking about platforms. Now I'm gonna try and take 2 different approaches here to cover as many options as I can. Okay? Now let's start with web applications. If you are creating a web application, you pretty much have endless choices as far as how you're gonna build it.

Peter:

And, you know, again, this is gonna be based on your target audience, but it's very popular these days to take some kind of JavaScript type based framework to build your web app, and then you see things like, you know, you're gonna see react, view, all of these things mentioned. Now the important thing here is go with what you know. So if you have previous experience with any kind of web development pools or frameworks or languages, I thoroughly recommend starting there. You do not have to use the latest and greatest just because it's there or just because everyone else is doing it or because some friend told you you should do this. The idea here is, right, you need to get your application done and out in the world.

Peter:

It is crucial to reach that $1 stage, so go with what you know. Now on the flip side, if you don't know anything about web development and web apps and hosting and all of that kind of stuff, okay, then you are in a position to make choices. Now what I'm gonna say here again is, you know, go with what's popular. And what I mean by that is don't necessarily again go with the latest, but there are many options. But there as I just mentioned, there are quite a few that are the regular ones that you see everywhere.

Peter:

The benefit of choosing one of those is number 1, they will be tried and tested. Number 2, they probably have more than a few versions released to deal with any issues or early bugs or anything like that. And number 3, there will be a plethora of information out there from you to learn and draw from and communities you can interact with. This is crucial, especially when you are a beginner and you don't know anything. This is a crucial area to start and get involved with communities and to work through, you know, learning the basics, things like that.

Peter:

Now that is not necessarily web specific, but that covers sort of the web side of things there. It's gonna be probably end up that you're gonna have some kind of presentation or framework of your choice and some kind of JavaScript framework that powers the application because that's the way a lot of things go. Yes. There are other options depending on what your, you know, your app is gonna be. There are, of course, a million different ways that you can use WordPress, a PHP based application, and all of those kind of things.

Peter:

So think about your application. And, again, going back to previous episodes, think about, you know, maybe your competitors or what other folks have done and try and look and see what technologies they have used. Draw from that experience and stop there. Now let's switch to mobile applications. Right?

Peter:

So, yes, first question you ask yourself is, do I wanna release this for Android? Do I wanna release this for iOS? Do I wanna release it for both? Now I'm picking those 2 platforms because of course, those are the primary ones. And realistically, you're probably gonna end up on one of those one day.

Peter:

Right? Now here's the problem. If you have, again, previous experience, draw from what you know. And if you don't, you are gonna be faced with a situation where you have to decide, do I want to go with a cross platform technology to build for an Android and iOS, or do I wanna go with native technologies for those platforms? I'm not going to go in-depth here, but if you're interested, I can certainly dive into some more in-depth, analysis and thoughts on that.

Peter:

I'm going to put it this way, right? I have done it both ways. For me, I feel the best approach, if you've never done this before, any of this kind of development, is to learn and use some kind of native platform language. So very likely, in the case of Android, you're gonna be looking at Java. However, it's more likely gonna be Kotlin these days.

Peter:

On the iOS side, of course, and iPad side, all of those things, basically the Apple platforms, you wanna go to Swift. Right? You really wanna dive in with Swift, and I'm gonna say go with SwiftUI as well. There are gonna be folks out there that are gonna say, don't do that. That's fine.

Peter:

I respect everybody's opinion, but the future, as far as Apple is concerned, at least at this stage is SwiftUI, so that's one you should go with if you're starting learning today. Now the advantages to go into native platform is you will get all the benefits of performance and support and compatibility. The problem with going with native platforms, if you wanna build for both Android and Apple platforms, you're gonna have to build the application twice. Right? Simple as that.

Peter:

Now let's talk about cross platform technologies. Again, there are different options. By far, the most popular at this point is React Native. You can write one code base and deploy it to both Android and Apple platforms. That is a win right there.

Peter:

Right? So build one application, deploy it twice. However, it is worth noting that React Native is still not a 1 dot o product, not to say that it's gonna go away tomorrow. But I have found in my experience of working with it with for a few years now, very often breaking changes come along and you will hit problems that that frankly will drive you crazy. And yeah.

Peter:

Okay. Yes. You will get that on Android and Apple native platforms, but you will have to do things, especially if you're gonna take advantage of Apple or Android specific hardware features where you are gonna have to work around situations where you're gonna have to write code for 1 platform and then a different set of code for another platform and manage that. And then on top of that, there's lots of dependencies and things like that. I'm not looking to put you off here.

Peter:

I'm just giving you the the realistic scenario. So, yes, everybody says, oh, it's great. Use a cross platform technology. Write your application once and deploy it across platforms. That is true, but it is not as fantastically easy as everyone wants you to think this, right?

Peter:

There are hidden gotchas. There are problems. So again, if you've never done this and that's the route you want to go, fantastic. I would say, go take a look at react native. By all means, go look at all the others, but react native is is a very popular one, and it is the one that I've chosen for cross platform applications.

Peter:

And you will find, again, there's a fantastic community out there and lots of resources. So that's your options there. Now let's talk about you being new to all of this. Right? Regardless of what platform it is, you may be tempted to go and buy a course to teach you.

Peter:

Or you may be thinking if I buy a course that's like, hey. You know, how to make an application for mobile or for web, right, from the ground up. Yes. That is absolutely an option. There are fantastic courses out there.

Peter:

Personally, I would say, and I have you know, let me be upfront here. I have bought a mountain of courses over the years. Most of them are to do with game development, which is an entirely different thing in many ways. And I'm gonna say, don't jump in and buy anything because there is plenty of free resources out there that for someone getting started with their first application who doesn't even know, like, if I can do this or do I wanna continue doing this? Maybe it's not gonna be my thing.

Peter:

Try not to spend too much money, if at all, you know, you don't have to spend any money, to get started, to discover whether this is for you or not. You may find it's not working for you and you need to go find someone else to build your application. In which case, you're never gonna use those courses. I can't tell you how many courses and books and videos and everything else over the years I have purchased and never got around to watching or needing. And by the time I get to it, they're out of date.

Peter:

So consider that as well. Right? There's plenty of free resources out there that will probably answer any questions you have and certainly get you started enough to make your first applications, right? Because hopefully you've not, like I said in the earlier episodes, set the goal so high that you're never going to achieve it on your first go around in your first app. So that's some things to think about, take all of this away, really truly consider it.

Peter:

And if you've got time on your side, do your homework, do your research, right? Maybe try some of these tools. All of the tools are free, right? You can go get Android studio for free. You can get Xcode from the app store and try that.

Peter:

There are some extra gotchas on those as far as being able to publish and run on devices, but don't worry about that at this stage. And, of course, you know, along with web development tools, there's plenty of free tools out there. Right? There's an endless series of code editors and things like that. So, you know, you're gonna have to do your homework a bit.

Peter:

But that's what I've got you in this one. Right? We are starting to really think about how we're gonna build this application and make some decisions as to the next steps going forward. Hope this one has been helpful. We're really sort of getting to more of the technical side here, but don't worry.

Peter:

Again, I'm not gonna dive into code or anything like that. I'm just trying to cover all the options for different platforms and different approaches. This has been helpful. You know what to do. Leave a review.

Peter:

Go tell someone about it. And, hey, if you wanna go the extra step and, you know, say thank you for doing this and, you know, to sort of help motivate me going forward, hey, go to peterwitham.com/bmc and buy me a coffee. I would greatly appreciate that. And again, to all of you who continue to provide me feedback on this series, thank you so much for your support and your enthusiasm. It really does mean the world to me, and I will speak to you in the next episode.

View episode details


Subscribe

Listen to PW Podcast using one of many popular podcasting apps or directories.

Apple Podcasts Spotify Overcast Pocket Casts Amazon Music YouTube
← Previous · All Episodes