← Back to team overview

ubuntu-touch-coreapps team mailing list archive

Re: [Ubuntu-phone] [RSS - Reader] Performance issue in QtQuick.LocalStorage 2.0

 

No, I'm not kidding... I always told everyone that I would suggest writing 
application logic in Qt/C++ as plugins (which is what the makers of Qt 
intended it for) and keep QML to paint the stuff.

I'm sorry to hear that someone told you to do everything in QML. Note that I 
don't have much saying here. I'm neither the tech lead for the apps nor have 
to do it myself - so you might as well ignore my opinion.

Just saying that if I would do it (and I think I do have my fair share of 
experience with Qt AND QML) I would not try to do serious app logic in QML 
only. As I already expected, not everyone seems to agree with my opinion. 
Especially people that never used Qt before.

Sorry to bring up such a delicate topic here. I did not know anything about 
the history of the RSS app.


On Thursday 13 June 2013 14:03:57 mrqtros@xxxxxxxxx wrote:
> Michael, it seems like you kidding me. Or us. I am like C++ and from the
> first day of my work in RSS team I always speak about xml parsing in C++,
> models and so on. But answer always was "you must use qml where it's
> possible". And what now?! A lot of code already written with xmllistmodel
> and executeSql, even if that way was more complex then c++ realization.
> 
> 
> 13.06.13 15:39 Michael Zanetti написал(а):
> 
> Hi,
> 
> 
> At the risk that some people don't like to hear this, I would highly
> recommend to write the actual feed fetching and database storing part in
> C++/Qt and only expose a well defined model containing the RSS feeds to
> QML. Maybe one model per feed source or something like that.
> 
> 
> Writing all that SQL query stuff in javascript will end up being more
> complex and fail prone than writing a simple QML plugin in Qt.
> 
> 
> Br,
> Michael
> 
> On Thursday 13 June 2013 11:34:59 Joey Chan wrote:
> > Hi Geeks,
> > 
> > I'm a developer of RSS reader, I found a performance issue in qml
> > database,
> > which blocks the main thread for seconds.
> > 
> > *issue description:*
> > <code>
> > dbResult = tx.executeSql('INSERT INTO article (title, link, description,
> > pubdate, guid, feed_id) VALUES(?, ?, ?, ?, ?, ?)',
> > [title , link, description, pubdate, guid,
> > feed_id])
> > </code>
> > I use this code to insert a row of data into database, if just one row
> > needed, ok with that; but if I need many rows of data to be insert, the
> > database engine will execute this code many times and blocks the main
> > thread for seconds.
> > 
> > *solution: *
> > 1. WorkScript. not support .import includes QtQuick.LocalStorage 2.0 >_<
> > 2. binding or batch execute. In Qt C++, a list can be binded to a
> > QSqlQuery, then only execute once to insert them into database, can anyone
> > teach how to do that in qml?
> > 3. U1DB. I haven't tried it, is it stable now?
> > 
> > 
> > Thanks,
> > Joey


References