maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Development (https://talk.maemo.org/forumdisplay.php?f=13)
-   -   What i need to know to start developing apps for N900? (https://talk.maemo.org/showthread.php?t=42390)

SubCore 2010-01-29 10:10

Re: What i need to know to start developing apps for N900?
 
Quote:

Originally Posted by Fargus (Post 500619)
Do you not think it sad that the Computer Science students have had their course dumbed down so far that they only have experience in a scripted language though? I think this is far more a comment on the poor quality of teaching than the tech.

This reminds me of a great blog article by Joel, with which i happen to completely agree.

sorry for going kinda offtopic, but this article fits just perfectly into this discussion IMO :)

dneary 2010-01-29 10:20

Re: What i need to know to start developing apps for N900?
 
Quote:

Originally Posted by white_ranger (Post 497155)
What i need to know to start developing apps for N900 and where can i learn it? I know that all programers went to school to learn it. I'm also going to the programing school. Although i'm 15 and we don't learn programing yet. And we're learning windows, not linux. So guys, if you know where i can learn all that stuff that i need to know to start making apps for N900, please post it.

Hi there!

The absolute best place to start is with this tutorial:

http://www.forum.nokia.com/info/sw.n...h_Maemo_5.html

it'll get you up & running with a Maemo development environment that you can already use to build existing applications and deploy them to a device.

Good luck!
Dave.

johnel 2010-01-29 10:31

Re: What i need to know to start developing apps for N900?
 
Look at it this way.

If you have never programmed before then use Python to get you familiar with the basic concepts - loops, decisions, variables, etc..

When you feel a bit more comfortable and confident then try some simple C - maybe stay away from pointer arithmetic and memory allocation "stuff". Maybe re-write some of the programs you wrote in Python in C instead.

C and Python have different syntaxes - I would say Python is a bit more forgiving and generally easier to read than C.

What some developers do is right the GUI in Python and the "meat" of the program is written in C. You can actualy "connect" both these together to form the application.

E.g. You can write a library that plays an mp3 file and then write the GUI part to allow the user to select which mp3 to play back to the user.

If you are feeling brave learn both languages at the same time!

But remember - learn the fundementals first and start off nice and simple.

Oh, ask questions (even if it sounds daft to you) everyone here will give our support.

white_ranger 2010-01-29 18:50

Re: What i need to know to start developing apps for N900?
 
Thanks for replies, but i don't understand how does the whole programming work. Is it just a bunch of commands that you need to know, or just a couple and you combine them. Like about 20 or more, i don't know. I've started with Python, and i learned the basic commands, but that's all. I tried to make my own app, but don't have a bloody clue how people make real programs in Python. What commands they use? And how do they make the real application? I mean graphic and other stuff.

white_ranger 2010-01-29 18:51

Re: What i need to know to start developing apps for N900?
 
Quote:

Originally Posted by dneary (Post 500657)
Hi there!

The absolute best place to start is with this tutorial:

http://www.forum.nokia.com/info/sw.n...h_Maemo_5.html

it'll get you up & running with a Maemo development environment that you can already use to build existing applications and deploy them to a device.

Good luck!
Dave.

Thanks, but i already have that. And it requires basic C knowledge, which i don't have. :)

SubCore 2010-01-29 22:11

Re: What i need to know to start developing apps for N900?
 
Quote:

Originally Posted by white_ranger (Post 501425)
I tried to make my own app, but don't have a bloody clue how people make real programs in Python. What commands they use? And how do they make the real application? I mean graphic and other stuff.

well, if you want to see a "real" Python program, just look at what others do. hunt down a nice and simple open sourced Python program somewhere on the net, look at what it does and how it does it, then get the source code and try to understand what's happening in the background. step by step.
one that utilizes PyQt would be ideal, since that is the preferred library for GUI development with python under Maemo.

there's no "easy" way, though. you'll have to dig in and read lots of documentation, examples, articles etc. no way 'round it :)

fatalsaint 2010-01-29 22:19

Re: What i need to know to start developing apps for N900?
 
Quote:

Originally Posted by white_ranger (Post 501425)
Thanks for replies, but i don't understand how does the whole programming work. Is it just a bunch of commands that you need to know, or just a couple and you combine them. Like about 20 or more, i don't know. I've started with Python, and i learned the basic commands, but that's all. I tried to make my own app, but don't have a bloody clue how people make real programs in Python. What commands they use? And how do they make the real application? I mean graphic and other stuff.

Go back through my links that I already gave you here. They give you the framework to several basic starting examples of using Python with QT to make "the graphic and other stuff."

Programming is not something you just "start doing"... it takes a lot of time and effort into reading and understanding exactly what everything does. That's why there is high demand for good programmers, and why they make usually a decent amount of money.

Copy and paste one of the "first programs" into your N900 or the SDK and launch it.. you'll get a pretty "hello world" or some other thing for your first program.. then you feel happy and giddy inside... then you go through that app, line by line, and research documentation until you understand *exactly* what you're doing.

Soon, when you look at enough code.. it doesn't particularly matter what language someone codes in.. (short old COBOL or Assembly or something).. you can just "read" it.

ahmadka 2010-01-30 05:35

Re: What i need to know to start developing apps for N900?
 
OK Guys, I need some guidance too, as to which 'route' I should take in developing apps for the N900 ...

The thing is people are suggesting so many different things here:

Some are saying I should use Python, while others are suggesting C and C++, and as far as the tools go, a lot of program tools are being suggested here too, such as: MADDE, Qt Designer, Qt Creater, esbox, GTK+, etc ...

I don't mean to say I want to be spoonfed, but can someone just explain the difference between the above terms, and briefly explain which route we should take .. ? Which language to use, and which tool to use, and why (as in, why not the others) ?

Please note that I'm completely new to the Linux platform (although I have programmed for quite a few years in C/C++/C#/Java through Windows), which is probably why I'm getting confused with the above terms .. :(

Any help here would be greatly appreciated :)

fatalsaint 2010-01-30 05:41

Re: What i need to know to start developing apps for N900?
 
You're going to get a dozen different answers to that question, as has been shown.

Some people like C++, others like python.. thats just the way it is. You'll have to figure out over time which one you prefer.

I would definitely recommend using MADDE if you go the C++ route as it makes things easier for building packages for Maemo than using the scratchbox environment.

GTK+ is the currently GUI (graphical) library that maemo 5 is based on. QT is the future, and what Maemo 6 is based on. Therefore I would recommend to code in QT unless you have a specific need for GTK+ as full QT 4.6 support is expected to come to Maemo 5.

QT Designer is a GUI to build a GUI :D. It gives you buttons and widgets and windows and you "paint" your own gui and then save it to a .ui file which you then will either use in your C++ program, or convert to python with pyuic4 for your python program.

esbox is a C++/Maemo integration for the Eclipse IDE.

This should give you plenty to google for a while :).

ahmadka 2010-01-30 05:49

Re: What i need to know to start developing apps for N900?
 
Quote:

Originally Posted by fatalsaint (Post 502061)
You're going to get a dozen different answers to that question, as has been shown.

Some people like C++, others like python.. thats just the way it is. You'll have to figure out over time which one you prefer.

I would definitely recommend using MADDE if you go the C++ route as it makes things easier for building packages for Maemo than using the scratchbox environment.

GTK+ is the currently GUI (graphical) library that maemo 5 is based on. QT is the future, and what Maemo 6 is based on. Therefore I would recommend to code in QT unless you have a specific need for GTK+ as full QT 4.6 support is expected to come to Maemo 5.

QT Designer is a GUI to build a GUI :D. It gives you buttons and widgets and windows and you "paint" your own gui and then save it to a .ui file which you then will either use in your C++ program, or convert to python with pyuic4 for your python program.

esbox is a C++/Maemo integration for the Eclipse IDE.

This should give you plenty to google for a while :).

Alright thanks for the reply dude :)

And what is the difference between Qt Designer and Qt Creator, because I have seen two of these things ?

Also, I heard somewhere that Qt is also a language thing .. that is, a replacement for c++/python which Nokia has developed for Maemo software development ? Is this true ? And if it is, shouldn't we use Qt for programming as well ?

Also, personally I have experience with C++, but not Python ... So I need to know which of the two is better ... I dont mind learning an entirely new language since I don't know Python, but if you say that both of them are about the same then I would prefer to just use C++ .. So what do you say, which is the better one between Python and C++ ?

Lastly, I was trying to install the Maemo SDK in Ubuntu today but got stuck ... if you could look here and see what the problem is, I would greatly appreciate it :)


All times are GMT. The time now is 18:18.

vBulletin® Version 3.8.8