IDEs for ubuntu touch development



  • I don't know if anybody else has the same feeling, but for my impression we are lacking a good IDE for application development.

    My understanding for a good IDE is quite simple:

    1. having a handsome editor
    2. having selectable programming environments
    3. having sufficient feedback from the building process to the error locations
    4. having a test environment (not only running tests on the program code but also run the program)
    5. having a state of the art debugging tool

    These are only a few qualities which I expect, but for my experience there is actually no IDE which can fulfil them. And according to my experience programming can be a nightmare without this complete set of capabilites. So if more programmers shall be encouraged to support ubports, for my impression this is a main topic to resolve

    In the past I was using Eclipse and QtCreator for my different projects. Both could fulfil the above topics so far, but for Ubuntu touch this is different.

    I haven't checked if there is any plugin in eclipse for Ubuntu touch development. At lease within the community discussion nothing was mentioned.

    For QtCreator there is an old development kit referred in the ubports documentation, which is outdated and no longer supported. So programming could be fine, but the issue 2) is outdated. This makes the finalization of the projects hard. The preferred building tool "clickable" is not supported. The framework reference is ending with 14.10! The ubport community is switching to cmake base projects, which is supported formally by the CtCreator, but at a first glance I found major differences in project setup which makes it hard for me to transfer projects from qmake to cmake tool.
    I have seen some new repositories in the UBports area with new source files for the QtCreator. If there are some activities running to set up a proper up to date IDE for ubuntu touch with this tool, I will support these activities as much as I can. CtCreator is for me still one of the best IDEs for Qt based applications.

    I started to use the ATOM editor and did some trials for app development. After the first trials it looks like a concept similar to Eclipse: based on a highly configurable editor the functionality can be expanded by plugins. I installed several plugins in order to program my application. In the configuration I achieved up to now I could write the code and run clickable for compiling and installing. However, I found several issues which makes coding hard:

    • capability 2) is missing. Build-in clickable is preset for 15.05 environment. For the development of apps for 16.04 I have to run the build process outside the editor. Therefore application testing has to be done outside the IDE too.
    • There is no feedback from the build error code to the source code (at lease for the QML application I didn't notices anything).
    • Finally there is no debug environment. The debug plugin I found is a template which has to be filled in properly. Since the setup of a debugger is always a little bit tricky, this tasks should be done for a standard programming environment to unburden any programmer to do it for himself.

    These are my observations and impressions so far, which makes me really sad. So I would like to get some feedback on actual trends and (for me yet ) unknown activities to install a proper IDE for ubuntu touch. If there is actually a mainstream, I would like share it. Otherwise I would like to start the discussion how to establish one. The actual situation is , at lest for me, unsatisfactory.



  • @hoh61 in the meanwhile any developer can answer in deep your question, I can tell you the recommended way now is to use Clickable + Atom, but you can use any other editor.

    There are some developers testing CI on Gitlab too.

    http://clickable.bhdouglass.com/en/latest/



  • So let me follow up with atom and clickable. Maybe you misunderstood me. It is clear, for code hacking I can use even vi. I need a running ide (integrated development environment), where the emphasis is put on integrated!

    So to overcome the "weakness" of the IDE, who can tell me

    • how to set up atom to run different frameworks (like clickable -k 16.04 , including the option --desktop for testing) using the build menu entry.

    • how to set up atom for debugging the applications.

    Furthermore, since I have to provide additional libraries, how must I extend the cmake setting in order to provide additional libraries not provided in the standard image?

    Furthermore the docker images have no Qt support for serial devices. The relevant libraries are missing.

    So who can clean up these weknesses or help me to do it by myself?



  • @hoh61 yes, I understand you perfectly. Did you see the PM (aka Chat) I sent you yesterday?



  • @hoh61 said in IDEs for ubuntu touch development:

    • how to set up atom to run different frameworks (like clickable -k 16.04 , including the option --desktop for testing) using the build menu entry.

    this would be nice if when can add -k 16.04 as a option to compile in atom



  • I launched an issue to the provider of the package for this enhancement yesterday, but there is still no feedback.

    In the meantime I checked other packages and found the package "terminal tab". This is providing you a terminal within the atom surface, where you can launch clickable like in a desktop shell. So you need not to change between windows/applications. This may help in the meantime.

    Any other supporter is welcome too (and required for my impression). It would be great if we can find a specialist for atom extension packages who is willing to prepare some improved tools for development.

    @advocatux : Yes I have seen it, and there are some interesting options still to evaluate. I already tested the log command, which is quite helpful and a first step to see roughly what is going on. It still cannot replace a good debugger.


Log in to reply
 

Looks like your connection to UBports Forum was lost, please wait while we try to reconnect.