Active Topics

 


Reply
Thread Tools
Posts: 3,464 | Thanked: 5,107 times | Joined on Feb 2010 @ Gothenburg in Sweden
#191
Originally Posted by MartinK View Post
Ever heard about using the best tool for the job ?
You can never have enough libraries available - library availability is what makes or breaks a platform for developers.

Also the more libraries are are available in the repositories, the less crap developers have to bundle, meaning smaller packages and less security vulnerabilities caused by outdated bundled libs.
Yes but many libs doing the same thing.

But when there are big transitions like now people still want to use old deprecated librarys even if they are not best suited for the job in the longer run...

I still is not convinced PyQt is not the best tool for the job. Because if you access so much of the core Qt this days its probadly because the app is using QtWidgets and that stuff will be less and less used also on Linux desktop whenm QtComponents is more stable (that also means less UI fragmentaion between embedded and desktop hopefully..)
__________________
Keep safe and healthy

Last edited by mikecomputing; 2013-10-13 at 10:56.
 
xerxes2's Avatar
Posts: 513 | Thanked: 651 times | Joined on Feb 2011 @ Sweden
#192
So I did some testing on memory usage for Qt5 ...

This is memory usage for hello world QML:

C++: 14mb
Pyotherside: 15.3mb
Pyqt5: 17mb

The results are calculated by starting the app and run "free", close the app and run free again. So yes Pyotherside takes less memory than Pyqt but not much. The C++ and Pyotherside apps were running of this code:
Code:
#include <QGuiApplication>
#include <QQuickView>


int main(int argc, char* argv[])
{
    QGuiApplication *app = new QGuiApplication(argc, argv);
    QQuickView *view = new QQuickView;
    view->setSource(QUrl::fromLocalFile(argv[1]));
    view->show();

    return app->exec();
}
And smaller than that I don't think is possible.
__________________
But the WM7 "horse" has a blood lineage tracing back to donkeys such as WM6.5, 6.1, 6.0, 5.1 that was fully neglected for too many years and Microsoft did sweet F all to maintain it (still running on Pocket IE4/6!!).
 

The Following User Says Thank You to xerxes2 For This Useful Post:
xerxes2's Avatar
Posts: 513 | Thanked: 651 times | Joined on Feb 2011 @ Sweden
#193
Originally Posted by mikecomputing View Post
Yes but many libs doing the same thing.

But when there are big transitions like now people still want to use old deprecated librarys even if they are not best suited for the job in the longer run...

I still is not convinced PyQt is not the best tool for the job. Because if you access so much of the core Qt this days its probadly because the app is using QtWidgets and that stuff will be less and less used also on Linux desktop whenm QtComponents is more stable (that also means less UI fragmentaion between embedded and desktop hopefully..)
For existing Maemo apps written in Pyside/Pyqt4 it's very easy to port to Sailfish with Pyqt5. You're forced to use the GPL license but other than that it seems to work just fine in the Sailfish emulator. For new apps you might wanna stick to Pyotherside though ... but you will not have the whole Qt C++ API then either.
__________________
But the WM7 "horse" has a blood lineage tracing back to donkeys such as WM6.5, 6.1, 6.0, 5.1 that was fully neglected for too many years and Microsoft did sweet F all to maintain it (still running on Pocket IE4/6!!).
 

The Following User Says Thank You to xerxes2 For This Useful Post:
qwazix's Avatar
Moderator | Posts: 2,622 | Thanked: 5,447 times | Joined on Jan 2010
#194
15Mb for hello world...

I remember when the Nokia n-gage had what, 24mb of ram?
__________________
Proud coding competition 2012 winner: ρcam
My other apps: speedcrunch N9 N900 Jolla –– contactlaunch –– timenow

Nemo UX blog: Grog
My website: qwazix.com
My job: oob
 

The Following User Says Thank You to qwazix For This Useful Post:
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#195
Originally Posted by qwazix View Post
15Mb for hello world...

I remember when the Nokia n-gage had what, 24mb of ram?
I kinda wonder - most of that should library code, should that be shared automatically ? You now, Qt is used as a shared library in this context.

EDIT:
BTW, have you tried to import PyQt from the PyOtherSide Python code ? Might be a nice hack to get fast startup & access to the PyQt non-GUI stuff at the cost of some RAM usage.
__________________
modRana: a flexible GPS navigation system
Mieru: a flexible manga and comic book reader
Universal Components - a solution for native looking yet component set independent QML appliactions (QtQuick Controls 2 & Silica supported as backends)
 

The Following User Says Thank You to MartinK For This Useful Post:
Posts: 1,269 | Thanked: 3,961 times | Joined on May 2011 @ Brazil
#196
Originally Posted by mikecomputing View Post
There is also other stuff that may involve porting. Going from Python2 => python3.

And btw. We definitively not need too many alternatives librarys IMHO. Especially not on embedded linux.

It only leads to massive package dependies hell that we know of in the Linux on desktop
Many Python modules are not (yet) available to Python 3.x. So it is better to have both Python 2.6/2.7 & 3.x on Sailfish OS.

More programming languages and tools = more software will be written / ported to Sailfish OS.

Package dependencies hell ? Sorry, but hell is Android which doesn't have dependencies at all and the developer has to included everything inside the .apk (Python, Qt, PyQt/PySide/PyOtherSide, NumPy, MatPlotLib, etc). Something that takes 1h developing directly on Nokia N900/N9 (including packaging and sending to repository) can take many hours using full Android SDK on PC.
__________________
Python, C/C++, Qt and CAS developer. For Maemo/MeeGo/Sailfish :
Integral, Derivative, Limit - calculating mathematical integrals, derivatives and limits. SymPy - Computer Algebra System.
MatPlotLib - 2D & 3D plots in Python. IPython - Python interactive shell.
-- My blog about mobile & scientific computing ---
Sailfish : Sony Xperia X, Gemini, Jolla, Jolla C, Jolla Tablet, Nexus 4. Nokia N9, N900, N810.

Last edited by rcolistete; 2013-10-13 at 17:50.
 

The Following 2 Users Say Thank You to rcolistete For This Useful Post:
Posts: 1,269 | Thanked: 3,961 times | Joined on May 2011 @ Brazil
#197
Originally Posted by mikecomputing View Post
Yes but many libs doing the same thing.

But when there are big transitions like now people still want to use old deprecated librarys even if they are not best suited for the job in the longer run...
PyQt/PySide don't do the samething of PyOtherSide. Period.

PyQt is not deprecated, it is being developed, with PyQt 5.1 version released this month, following the huge Qt 5.x developments.

Originally Posted by mikecomputing View Post
I still is not convinced PyQt is not the best tool for the job.
Ok, so let you don't use PyQt. And let others, who think otherwise, use it. Ok ?

I hate programming Fortran, but I think others may need it so I support to have gFortran on Maemo, MeeGo, Sailfish, Ubuntu Touch, etc.

Originally Posted by mikecomputing View Post
Because if you access so much of the core Qt this days its probadly because the app is using QtWidgets and that stuff will be less and less used also on Linux desktop whenm QtComponents is more stable (that also means less UI fragmentaion between embedded and desktop hopefully..)
Please, nobody, nobody here is using or is planning to use QtWidgets on Sailfish !

PyQt allow to use the full Qt API : multimedia, network, SQL, sensors interface, etc. Not only GUI (in Qt Quick or QtWidgets).
__________________
Python, C/C++, Qt and CAS developer. For Maemo/MeeGo/Sailfish :
Integral, Derivative, Limit - calculating mathematical integrals, derivatives and limits. SymPy - Computer Algebra System.
MatPlotLib - 2D & 3D plots in Python. IPython - Python interactive shell.
-- My blog about mobile & scientific computing ---
Sailfish : Sony Xperia X, Gemini, Jolla, Jolla C, Jolla Tablet, Nexus 4. Nokia N9, N900, N810.
 

The Following 2 Users Say Thank You to rcolistete For This Useful Post:
Posts: 3,464 | Thanked: 5,107 times | Joined on Feb 2010 @ Gothenburg in Sweden
#198
Originally Posted by rcolistete View Post
Many Python modules are not (yet) available to Python 3.x. So it is better to have both Python 2.6/2.7 & 3.x on Sailfish OS.

More programming languages and tools = more software will be written / ported to Sailfish OS.

Package dependencies hell ? Sorry, but hell is Android which doesn't have dependencies at all and the developer has to included everything inside de .apk (Python, Qt, PyQt/PySide/PyOtherSide, NumPy, MatPlotLib, etc). Something that takes 1h developing directly on Nokia N900/N9 (including packaging and sending to repository) can take many hours using full Android SDK on PC.
All I am saying is its time to think forward. Depending on old python or old librarys is wrong and leads to maintainer/dependies hell. My guess is that Jolla will have python3 as default.

And If X/Y/Z lib is not working with Python 3 it really is time to port them. Again stuff changes. Its 2013 not 2010 were the last 2 series was released. There will happen alot in this area on Linux desktop to.

So I dont see why MER or sailfish should add every damn library to an embedded linux platform. I personally will dish those apps/libs for sure. I already doing that on Linux desktop.

I could definitivly understand that MER is avoiding as much as possible to make a cleaner embedded Linux dist. And if they later dish Python 2 I don't blame them. But I guess there is plenty of people at TMO that will disagree. Because they don't want to use never libs and instead prefer triplecore CPU and 8Gb RAM so they can run every damn existing library at the same time. Because thats what will happen if X/YZ library and X/Y/Z intepreters has to be run at the same time.

We need a stable platform not half million apps "because its cool to have all those old apps" even if they will not integrate well on a 4" screen anyway.

I know we can run X/Y/Z desktop application on N9/N900 but how productive is it to run all those apps? Often they also look real crap especially when they use GtkWidgets or QtWidgets instead of modern Tablet/smartphone UI:s.

There is another reason to avoid non platform libs. The endusers they doint want to add every damn repository out there just to get one app working.
__________________
Keep safe and healthy

Last edited by mikecomputing; 2013-10-13 at 18:03.
 

The Following 3 Users Say Thank You to mikecomputing For This Useful Post:
qwazix's Avatar
Moderator | Posts: 2,622 | Thanked: 5,447 times | Joined on Jan 2010
#199
On the other hand it's the multitude of libraries that made the N900 so useful and still has more productivity tools than possibly any other phone. And I prefer gnumeric on the N900 that any of the braindead mobile office suites that barely work except as a viewer because of touch controls.
__________________
Proud coding competition 2012 winner: ρcam
My other apps: speedcrunch N9 N900 Jolla –– contactlaunch –– timenow

Nemo UX blog: Grog
My website: qwazix.com
My job: oob
 

The Following 4 Users Say Thank You to qwazix For This Useful Post:
Posts: 1,269 | Thanked: 3,961 times | Joined on May 2011 @ Brazil
#200
Originally Posted by mikecomputing View Post
All I am saying is its time to think forward. Depending on old python or old librarys is wrong and leads to maintainer/dependies hell. My guess is that Jolla will have python3 as default.
See the 1st post, Python 2.7.3 is default on Sailfish SDK. Python 2.7.5 and 3.3.2 are current Python production versions.

About "old" Python releases :
- 2.5.6 was the last Python 2.5 security fix, released on 05/2011;
- 2.6 has security fixes until 10/2013.

While Python 2.7 :
- was released in 07/2010 and it is expected to have new releases until 2015 at least;
- it is the current Python version in the majority of current Linux distributions;
- is/will be still used in Linux distributions where Python 3.x is/will be the default version.

For example, Ubuntu 14.04 will have Python 3.3 as default version, but Python 2.7.x will still be available in repository as many modules are still in version 2.7. Some of Python modules have hundreds of thousands of source-code lines, the migration task takes more than a year.

From what I see in Mer/Nemo repositories, I bet new Sailfish SDK will have Python 2.7.5 as default and Python 3.3 available to install.

Originally Posted by mikecomputing View Post
There is another reason to avoid non platform libs. The endusers they doint want to add every damn repository out there just to get one app working.
What ? Is it difficult to enable Maemo extras/extras-devel repository on Maemo 5 ? And Mer/Nemo repositories accept contributions from the community, I bet there will be something like Sailfish "extras" repository for community 3rd party softwares.
__________________
Python, C/C++, Qt and CAS developer. For Maemo/MeeGo/Sailfish :
Integral, Derivative, Limit - calculating mathematical integrals, derivatives and limits. SymPy - Computer Algebra System.
MatPlotLib - 2D & 3D plots in Python. IPython - Python interactive shell.
-- My blog about mobile & scientific computing ---
Sailfish : Sony Xperia X, Gemini, Jolla, Jolla C, Jolla Tablet, Nexus 4. Nokia N9, N900, N810.

Last edited by rcolistete; 2013-10-14 at 00:49.
 

The Following 2 Users Say Thank You to rcolistete For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 20:32.