maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Development (https://talk.maemo.org/forumdisplay.php?f=13)
-   -   What platform technology is usefull to learn to develop in the future ? (https://talk.maemo.org/showthread.php?t=48949)

nab 2010-04-01 11:35

What platform technology is usefull to learn to develop in the future ?
 
Hi,

I got my N900 a month ago and toyed with it as a user for a while, and am now interested to do some coding on it. I know linux, C++ and Python coding and developped a couple of Qt applications in python (and in C++ a couple of years ago).

Now, starting to code on a new platform takes time: it takes time to install the SDK, have a working compilation suite, learn the tools. It also takes time to learn about coding in the new environement, what libraries are used and all.

As I don't have an infinite amount of time, I'd like to invest my time in usefull technologies. The platform that interests me (N900/Maemo and then MeeGo) is going through some sort of transition: the platform is changing, the API is evolving the packaging system changes...

So do you have some advice for a begginer trying to learn how to develop on his N900? In what technologies should I invest my time ?

My current idea is to start developping with Python/QT, because I think this will last and is not dependent on the base platform. This gives me all the basic knowledge to build an application that will also be usable on MeeGo.

And when the MeeGo platform is better defined, invest time to build a good developpement environment and start learning the lower level stuff and native programming in C++.

In this scheme, what's missing is the specificities for the phone (how to use SMS, Geolocation, camera, etc). That's the library level. Do I need to learn the hildon way to do that, or is there a layer that I can learn that will be available in the future platforms ?

The basic idea is that I'm not fond in learning an awfull lot of technologies, read a lot of docs et al on something that I either can't use now, or that I can use now but will be obsoleted in a near future.

Any thoughts on this?

Thanks,

nab

krk969 2010-04-01 12:16

Re: What platform technology is usefull to learn to develop in the future ?
 
you will most certainly not find a "one page" documentation to start building apps :D

but here are some useful places and pointers in my opinion.

general guide about architecture, sdk etc
http://wiki.maemo.org/Documentation/...eveloper_Guide

Python/QT
http://pyqt.garage.maemo.org/

And QT is the right way to go definitely, since its cross platform and also the way to Meego.
I use C++ just as easy as python if you know C++, but if you have been out of programming and would like to have the added advantage to develop easily on the device itself, PyQt4 flts the bill.

I think thats a good start and has most of what you asked.

*EDIT*
oh yes ! how could I forget, mikec has gone the extra mile and created a one page documentation , there is sticky that you may/may not have noticed on this development forum :)

attila77 2010-04-01 13:38

Re: What platform technology is usefull to learn to develop in the future ?
 
If you already have basic Python and Qt experience, PyQt and/or PySide are a no-brainer, especially after PR1.2 lands. From there on, you can jump to C++ if you feel up to it, but that's a really significant jump in complexity (=time), at least until MADDE matures.

nab 2010-04-02 13:44

Re: What platform technology is usefull to learn to develop in the future ?
 
Hi guys, thanks for the reply.

I'll start with python. I'm pretty confortable with C++, but installing and learning to use a whole C++ cross-compilation environment for Maemo is quite some work (ScratchBox2 is available for Debian Unstable, but Maemo uses version 1, so it needs some work with out of repository packages. I got it to work, thought). And then MADDE seems to be on the way to replace it, so learning all the details for one just before switching to the next doesn't seem worth it.

(but scratchbox will still be needed for python developpement on my desktop if I wan't to use specific N900 functionnalities, right ?).

So with Python and QT, I have a good knowledge that I can use for other tasks also and for the future platform. (by the way, do you use PyQT or PySide? PySide is Nokia supported and on the way to be the standard, right ? And available on Debian SId too!)

My basic concern is what I should invest my time in learning for the N900 specific functionnalities (libs, packaging, community tools like garage) that will be usefull for MeeGo.

I guess I should go with PyMaemo (http://wiki.maemo.org/PyMaemo) and hope that not all the bindings will get obsoleted by MeeGo once I get confortable with them.

Cheers,

nab, trying to get an oversight of the tools to learn for Maemo and MeeGo!

attila77 2010-04-02 17:31

Re: What platform technology is usefull to learn to develop in the future ?
 
Quote:

Originally Posted by nab (Post 592635)
(but scratchbox will still be needed for python developpement on my desktop if I wan't to use specific N900 functionnalities, right ?).

Correct. Many just have their editors/IDEs on the desktop and run actual stuff on the N900 (via VNC, for example).

Quote:

So with Python and QT, I have a good knowledge that I can use for other tasks also and for the future platform. (by the way, do you use PyQT or PySide? PySide is Nokia supported and on the way to be the standard, right ? And available on Debian SId too!)
Errm, see my sig :D In my (obviously very biased ;) ) opinion PySide (currently in tech preview phase) still has a quite a lot of ground to cover until it reaches PyQt's level of maturity. Luckily, as the two are practically API compatible, it matters little which one you choose, as it's pretty easy to switch form one to the other. I say try both and go with the one that works better for you.

This toolkit selection guide might help

Quote:

My basic concern is what I should invest my time in learning for the N900 specific functionnalities (libs, packaging, community tools like garage) that will be usefull for MeeGo.
That's a difficult choice as MeeGo itself is a moving target. :)

dana.s 2010-04-28 06:53

Re: What platform technology is usefull to learn to develop in the future ?
 
Hi everyone, i didn't want to start a new thread because i think what i ask is somehow mentioned here.
I'd like to involve in programming more, i have some C++ background (very basic :) ) and i want to learn Qt with C++ and if possible Python.
I'm interested in Maemo, MeeGo platforms.
Also i have experience with Linux.

What are the right steps to start my path?
I'll appreciate if someone with experience could tell me my next steps.

thanks

nath 2010-04-28 06:59

Re: What platform technology is usefull to learn to develop in the future ?
 
Download and install the Nokia Qt SDK, play around with Qt using the simulator and when PR 1.2 comes, deploy your great apps to the device.

dana.s 2010-04-28 12:07

Re: What platform technology is usefull to learn to develop in the future ?
 
thanks nath, i just downloaded and installed it, i'm looking forward to work on it...


All times are GMT. The time now is 05:00.

vBulletin® Version 3.8.8