← Back to team overview

ubuntu-phone team mailing list archive

Re: [Core Apps] Template Update

 

Well, every time I use QML I end up needing C++. But the C++ isn't all that
much. There's just not a lot to QML yet. I would advise that anyone writing
a C++ extension to publicize and publish it so we don't get the wheel
reinvented 30 times. Also knowing what;s out there in terms of C++
extensions would give insight on what official coverage is needed. A C++
extension wiki would be a good idea, if there isn't already one.





On Wed, Feb 13, 2013 at 11:30 AM, Zoltán Balogh <zoltan.balogh@xxxxxxxxxxxxx
> wrote:

>  I assume, that your experience comes from QtQuick1 and not from QtQuick2.
>
> QtQuick2 with the v8 JS engine is much better.
>
> What you describe was the right rule with Qt 4.8 and QtQuick1. I remember
> the struggling with QML when the N9's applications were developed. By then,
> on that hardware using pure QML was wrong idea. Time has passed.
>
> I can promise that choosing C++/QML hybrid model as start will not be
> impossible or complicated. It is your choice. All I say that using C++ from
> the start will be slower, more expensive than starting with pure QML.
>
> The problems of cross compilation is just one of the issues. If you stick
> to QML/JS then you can test your code on your Ubuntu desktop and the same
> code will just work the same way on Ubuntu phone. I think it is a
> significant benefit.
>
> Zoltan
>
>
>
>
> On 02/13/2013 05:46 PM, ajalkane wrote:
>
> My experience is that pure QML/JS solution is suitable to only quite
> simple applications. I have myself found the best practice to be to do the
> UI part in QML/JS, and have the "business logic" and models in C++. In
> fact, for portability between platforms I think doing as little as possible
> in QML is preferrable. Ie. it should contain only the UI code.
>
>  Your mileage may vary, and I'm certainly looking forward how this
> approach works... but I do hope implementing a C++ backend is still
> possible and not something that's overly complicated or impossible. C++
> plugins are perhaps more (coding) overhead in many cases than should be
> necessary.
>
>
> On Wed, Feb 13, 2013 at 5:27 PM, Zoltán Balogh <
> zoltan.balogh@xxxxxxxxxxxxx> wrote:
>
>> Hello Frank,
>>
>> Please bother the SDK team :) the best what you and any Ubuntu Phone
>> application developer can do is to bother us with questions and suggestions.
>>
>> Actually the QML/JS does not rule out the finely crafted C++ plugins.
>> Just the opposite!
>>
>> We expect finely  crafted C++ plugins designed in a generic way so they
>> could be reused by other applications and they could be contributed to the
>> SDK. What we do not suggest is to use C++ where pure QML offers a viable
>> solution.
>>
>> The shift from a procedura to a declarative programming mind is not
>> necessarily trivial for a coder who have been doing C++ apps for years.
>> That is why I would suggest to all Ubuntu Phone app developers to start
>> with small and easy applications and discover the strength of the
>> declarative programming.
>>
>> Just translating a Qt/C++ code to QML/JS might not lead to the best
>> results.
>>
>> cheers,
>>
>> Zoltán
>>
>>
>>
>>
>>
>> On 02/13/2013 03:30 PM, Frank Mertens wrote:
>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> Hi David,
>>>
>>> thanks for the quick answer. I guess I'm trying to rewrite my C++ models
>>> in JS then.
>>> Let's see how much we can get out of QML/V8 when the first phone image
>>> is released.
>>> Thereafter we can then have a flame war on if we go purely QML/JS or
>>> have lots
>>> of finely crafted C++ plugins;) Until then don't bother the SDK team to
>>> much! I really appreciate
>>> the progress with the ubuntu-components -- gives me sleepless nights,
>>> when I think what I could
>>> do with these.
>>>
>>> Greetings,
>>> Frank
>>>
>>> - -- gplus.to/frankencode
>>> frankencode@freenode
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG v1.4.12 (GNU/Linux)
>>> Comment: Using GnuPG with undefined - http://www.enigmail.net/
>>>
>>> iQEcBAEBAgAGBQJRG5VZAAoJEMYU5+LCaHFcG8gIAKV7LddXISjrW647DyqadgdC
>>> g3rd7A3ovUE4oZ/4xzcqQDxUcExgxVNZXwbqycWzMJK2RrvavmR0BXyHisxedDMK
>>> cD/+ge9NdlYnuNc6wL6wvdBFJpF27/hOyKh4SWv/H4BEYNiHJ8PasS/fjRLE+2sM
>>> CQtbTfmPVC4Yq17xjyb6ZJa6OJvsUElnadSCK32ouKJSuCLKCRdepybGl6YCcZnr
>>> rrZNOVC86IaYQP1veisJPPdfxCT5baHET0JqWfoO6Bl52kMYif6Vbr0++eEYQnq0
>>> bQCDH38R1PXXTXQp3D15pDZ1Lg6UYyed3Ejfha//vYSFrLMNFTPioUDkpqw/t5s=
>>> =mJ1+
>>> -----END PGP SIGNATURE-----
>>>
>>>
>>
>> --
>> Mailing list: https://launchpad.net/~ubuntu-phone
>> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~ubuntu-phone
>> More help   : https://help.launchpad.net/ListHelp
>>
>
>
>
>
>
> --
> Mailing list: https://launchpad.net/~ubuntu-phone
> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ubuntu-phone
> More help   : https://help.launchpad.net/ListHelp
>
>

References