Author: Framnk

  • Embarking on an App Development Journey(Introduction)

    Regaining my builder’s mindset

    It’s difficult getting back into the “build” mindset again… after years of adhering to a 9-to-5 schedule, I now find myself with the freedom to explore personal projects that always seemed to remain on the back burner.

    Now that I have the time and opportunity I’m going to try and break that cycle by building something, to keep my mind active and to brush up on some of my lesser used skills. It also occurred to me that writing is one of these lesser used skills that I need to practice so my plan is to blog about this journey as I go!

    Coding Without a Map: Embracing chaos

    Real Programmers

    George R.R. Martin has described two types of writers: “Architects vs. Gardeners”. Architects are writers who meticulously outline and plan everything ahead of time, gardeners write by the seat of their pants, they plant a seed and discover their story as they write.

    I think to some degree this can be said about builders as well. There’s always some degree of planning involved in code but you can definitely build as a ‘gardener’ and see where the code and tech stack takes you.

    I’ve always been more of a gardener, especially when it comes to coding, which is sometimes useful (and frequently very much not so). However in this case I’m going to plant the seed and see where it takes me on this journey. (Plus is anyone really that interested in a blog series where I meticulously plan out an App???)

    From a shower thought to an App idea

    I’ve dabbled in mobile apps in the past but many of them have not gotten much further than the concept stage (aka my brain). I’ve spent time learning Objective-C, Swift, Java, etc and dug in deep only to have life or lack of motivation get in the way.

    I’m also not looking to disrupt or turn the industry on its head. I want to work on something fun that I’d actually be interested in using myself. When I think about my interests one that immediately comes to mind is travel. There are *many* travel apps out there but none of them have ever stuck with me due to lack of specific features I’d want, or because they are over saturated with advertisements or promoted content.

    So that’s what I will attempt to build in this blog series. What this blog will be is an attempt to document interesting things I find along the way or stumbling blocks I come across.

    What this blog will *not* be is an in-depth tutorial on building an App. If there are certain aspects that readers (if I have any) want a deep dive on, I’d be willing to dig into them as a side quest or in comments but the main series will just be focused on the progress I make and what I run into along the way.

    As far as feature set, we’re going to find out together! I know at a minimum I will want some kind of user preferences, so there will need to be Authentication, User Profiles, etc. Since it’s a travel app, most likely some kind of Map view as well. I have a few other ideas that are percolating in my brain as well but we’ll get to those in a later post…

    Flipping a coin: picking the perfect tech stack

    App development has come a long way since I last attempted something like this. There are plenty of Apps created by firing up XCode or Android Studio and plugging away, however more and more it seems that’s sort of a old-school way of creating Apps and we now have other options.

    Cross-platform app development isn’t new. But execution? That’s where things get messy.. Adobe AIR, PhoneGap and Xamarin were the first wave of these kind of platforms but limitations always cropped up pretty early and slamming into an insurmountable roadblock was a huge risk with many of these platforms.

    Now it seems like we’re in a new wave of cross platform App development toolkits, we have React Native, Flutter, .NET MAUI, Tauri and probably others that I haven’t even heard of.

    Choosing a tech stack is sometimes stressful for me. I hem and haw, Google different pros and cons and there are so many (too many!) opinions out there on why each one is the best or worst thing ever. I’m looking for something that is cross platform, compiles to native code and is easy to work with across my various dev devices.

    In keeping with my “seat of the pants” philosophy described earlier, I’m going to just pick one and see where it takes me. I’ve heard a few people say positive things about Flutter. Flutter is a cross platform App development platform created by Google and incorporates the Material UI design philosophy. Flutter is backed by the Dart programming language and encourages cross platform App building by using composable widgets. It also seems to have a decent open source community behind it and some commercially successful Apps have been released with it.

    However I’m not here to do a sales pitch for Flutter (does Flutter even make money?). I have no clue if it will work for my use cases and I very well may ditch it along the way if it doesn’t work out.

    So here we go—Flutter is the starting point. Will it work? No clue! But let’s find out together.

    (Stay tuned for more updates here!)