Seeking advices to start mobile app development



  • Hi guys,

    I am what you could call a junior developer, having notions in languages such Java, Python, Perl (also some basic knowledge in web development, with nodeJS and Javascript, php and of course HTML and CSS) but not much experience. I am currently studying natural language processing (nlp) and, although it's not really directly related to my field, I think it would be really interesting to be able to make "mobile apps" (I don't have a fixed idea on the type of app yet, I am more looking for acquiring mobile development skills).

    I am really excited by projects such as the PinePhone and would love to run Ubuntu Touch on it when I get my hands on the phone in a few months (let's hope!). I have read the UBports documentation for app development (https://docs.ubports.com/en/latest/appdev/index.html which seems nicely written, by the way) but I am wondering if someone had some advice on "cross platform" app development. I might be looking for the holy grail of app development, but basically, I would like to be able to develop apps that would work, with as few changes as possible, on Ubuntu Touch, but also on postmarket OS, for instance, or on the Librem5 and even (again with few tricks) on Android (that would be awesome, so that I can start on that platform with the phone I currently have, and then take my apps to the platform I'd really love to develop for when I finally have a true linux phone).

    So, here I am, with currently 0 knowledge in app development, but willing to learn. Do you have good practices and advice for me? Do you think I should go the (what seems to be..) classic way :

    1. learning to develop on Android with Android Studio, in Java (or Kotlin)
    2. After having some experience, learning again app developpment for other platforms (Ubuntu Touch, Postmarket OS, ..).

    (Which is not very motivating since I would love to ditch Android for linux as soon as it is more affordable and stable). Or is there a better road to follow, since I am willing to participate in the linux phone adventure in a near future anyway? What do you think, what would you do if you were in my boots ? 🙂

    (Also, it's heavily implied but not clearly stated, I don't own a phone able to run anything else than Android and cannot afford another one for the moment)

    All the best,
    Narvod



  • @Narvod
    To be able to achieve most of what you aim for, you'll need to dive into some QML.
    Pure QML apps can be more easily ported to another OS even to Android (with some work and patience).

    My advice, if you can join the matrix group UT Bootcamp it's a good start point.
    @wayneoutthere I don't have the link here at work, so if you can help here 😉

    Else I'll update my post once at home.



  • @AppLee said in Seeking advices to start mobile app development:

    Pure QML apps can be more easily ported to another OS even to Android (with some work and patience).

    Not exactly. Though simpler apps which only use QtQuick Controls 2 APIs for QML, and which for any C++ are written as cross-platform code with Qt, can very easily be built on pretty much any platform.



  • Matrix Bootcamp link
    #ut_bootcamp:chat.regionetz.net



  • @Narvod said in Seeking advices to start mobile app development:

    (Also, it's heavily implied but not clearly stated, I don't own a phone able to run anything else than Android and cannot afford another one for the moment)

    You can use clickable like clickable desktop and test nearly all kind of apps in your desktop.

    And you can take a look to this course, even it might be a bit outdated (not sure) it will put show you a couple of tricks.



  • Sorry for the (very) late answer, I have been a bit busy lately 🙂

    @AppLee said in Seeking advices to start mobile app development:

    To be able to achieve most of what you aim for, you'll need to dive into some QML.
    Pure QML apps can be more easily ported to another OS even to Android (with some work and patience).

    @AppLee Thank you for the advice, I will look into QML then 🙂 I think that I will start by learning how to make a very basic app on Android following one of the thousand tutorials available though, so that I (quickly) can familiarize with the basis of app development.

    @Lakotaubp said in Seeking advices to start mobile app development:

    Matrix Bootcamp link
    #ut_bootcamp:chat.regionetz.net

    @Lakotaubp Thank you for the link, but I could not join the room with it. Searching around, I found this link : #ut_bootcamp:matrix.org , I suppose it is the same room ?

    @CiberSheep said in Seeking advices to start mobile app development:

    You can use clickable like clickable desktop and test nearly all kind of apps in your desktop.

    And you can take a look to this course, even it might be a bit outdated (not sure) it will put show you a couple of tricks.

    @CiberSheep Thank you, it's good to know that you don't have to have a phone with Ubuntu Touch to develop an app for it. But, as I am a complete beginner, I think I'd like it better, for now, to test what I do on a "real" device, with a proper tactile screen.



  • If that link works yes use it. The group should be the same.



  • @Narvod
    I think you already know that, but quick warning :
    Android development is far away from UT app dev.
    But if, as I suspect, you're thinking of QT for Android in order to learn about QML then yes it's a way to achieve it.

    Clickable is a very useful tool even if you test your app directly on the phone.
    FWIW that's what I do.


Log in to reply