Announcement

Collapse
No announcement yet.

Writing Ubuntu Phone Apps Seem Fairly Easy

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Writing Ubuntu Phone Apps Seem Fairly Easy

    Phoronix: Writing Ubuntu Phone Apps Seem Fairly Easy

    For those that haven't yet dove into writing apps for the Ubuntu Phone, the QML-based apps seem fairly easy to construct as shown by a few new example applications...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    I can vouch for this. Writing Ubuntu apps is incredibly easy. I've written three and published all of them on the Ubuntu Store. The SDK is extremely approachable, despite some issue with clarity in the documentation - which, admittedly, has probably been recitified since I haven't read the docs in several months.

    I've since written and published my first Android app which was an extremely different procedure. More complex, both in terms of code and initial setup (Gradle, a million different SDKs, etc.), but with a lot more community information out there, e.g. Stack Overflow and various Android forums. On the plus side for Ubuntu, all of the stock apps are open source and available on Launchpad, so it's easy to see what design patterns are expected. If you see a feature in one of the default apps and think, "Oh, I'd like to see that in my app", it's easy to just browse the source and replicate it.

    All things considered, I think the Ubuntu SDK is far more fun to write code with, with the added benefit that it's easier and less complicated than the Android SDK.

    Comment


    • #3
      I can vouch for this. Writing Ubuntu apps is incredibly easy. I've written three and published all of them on the Ubuntu Store. The SDK is extremely approachable, despite some issue with clarity in the documentation - which, admittedly, has probably been recitified since I haven't read the docs in several months.

      I've since written and published my first Android app which was an extremely different procedure. More complex, both in terms of code and initial setup (Gradle, a million different SDKs, etc.), but with a lot more community information out there, e.g. Stack Overflow and various Android forums. On the plus side for Ubuntu, all of the stock apps are open source and available on Launchpad, so it's easy to see what design patterns are expected. If you see a feature in one of the default apps and think, "Oh, I'd like to see that in my app", it's easy to just browse the source and replicate it.

      All things considered, I think the Ubuntu SDK is far more fun to write code with, with the added benefit that it's easier and less complicated than the Android SDK.

      Comment


      • #4
        On my wishlist: Harmonized QML framework for Jolla and Ubuntu

        I have not build applications on Ubuntu but I have made QML (combined with C++) apps for both Nokia N9, Jolla and Android. I have a retired Nokia N9 (degraded to MP3 player) and a Jolla-phone where I develop what I need in QML and C++. I think that it would be nice if Jolla and Ubuntu could make an effort to harmonize the QML frameworks so that applications can (easily) be ported between the two. With the current focus on apps I think that a growing community is what both will need.

        Comment


        • #5
          What about pure C apps? Or Java ones? I don't do C++ nor Qt.

          Comment


          • #6
            Originally posted by gnufreex View Post
            What about pure C apps? Or Java ones? I don't do C++ nor Qt.
            Do you do JavaScript? QML is based on JavaScript.

            Comment


            • #7
              it's C++ and QML

              Originally posted by gnufreex View Post
              What about pure C apps? Or Java ones? I don't do C++ nor Qt.
              Ubuntu Phone and Sailfish both needs apps written in QML, Qt and C++. There might be other wrapper for stuff like Java but I wouldn't count on it right now. You might get some C and GTK working but you won't really be able to avoid the C++ API.
              QML is just like JS and you can also do web apps embedded in QT.

              Having just completed a desktop QML app I have to say the tech doesn't really seem that mature to me. It was hard getting things done and there's not even a complete book about QML. It's probably easier to write mobile apps and yes this examples of cute games written in pure QML are nice but when you want to combine QML and C++ you run into more work and it's not that well documented.

              Comment


              • #8
                Originally posted by mcirsta View Post
                Ubuntu Phone and Sailfish both needs apps written in QML, Qt and C++. There might be other wrapper for stuff like Java but I wouldn't count on it right now. You might get some C and GTK working but you won't really be able to avoid the C++ API.
                All the Qt apps I have written so far are 100% ruby or 100% python. There is no need to touch C++, at least for desktop apps.

                I have played a little with Android apps in Qt and what I dislike the most is that even the simplest Android Qt app is a huge multi-megabyte monster. The same app in java for Android would be much smaller, but of course, not cross-platform.

                Comment


                • #9
                  There is also first class support for web-apps where you can use javascript, typescript, dart or other compile-to-js languages.
                  I'm also pretty sure there are bindings for go out there.

                  Comment


                  • #10
                    Originally posted by mcirsta View Post
                    Ubuntu Phone and Sailfish both needs apps written in QML, Qt and C++. There might be other wrapper for stuff like Java but I wouldn't count on it right now. You might get some C and GTK working but you won't really be able to avoid the C++ API.
                    This is inaccurate. Ubuntu Touch supports at least four types of apps: Webapps, HTML5 apps, qmlscene (QML apps with possible C++ extensions) and native binaries. If your programming language and compiler can produce a native binary for the target (e.g. armhf/glibc for the phone/tablet), you can use that programming language and compiler for Ubuntu Tuch development. If your app needs to display something, you need a library which can talk to X11 on the desktop and Mir on the phone/tablet. At the moment the preferred stack for GUI apps is definitely Qt, but we are working on libSDL and friends, and you can always use the libmirclient library to interface directly with Mir. libmirclient offers a clean C and C++ API, so you can probably integrate it with most other programming languages.

                    Comment

                    Working...
                    X