how to learn developing?
hello!
i wanted to learn how to develop apps, mainly for sailfishos, but i never did this before... where i can start from? is there a sort of list with all layouts and functions needed? |
Re: how to learn developing?
check out some helloworld pro in the warehouse. i learned how to do stuff from existing apps since awesome people put on the source on github
|
Re: how to learn developing?
want to lern too, but hard to find a good tutorial in german lang. Nice will be a tutorial for sailfish os :)
|
Re: how to learn developing?
How are your general programming skills? Are you familar with any programming languages, algorithms, data structures, that kind of thing? If not, then you really need to start from the basics. Otherwise it is just a matter of understanding the UI design. Qt is great since it is easy to acquire and portable, so you can write basic programs to work on the PC with minimal to no work needed to make them work on a mobile device.
If you are past that and are only looking for some tools, have a look at this thread. |
Re: how to learn developing?
you would like to do some Qt + QML stuff on your desktop before to understand basics. and programming is mostly trial and error, so you just reading other application sources, reading articles, and trying to compile with some modifications. and with some experience you will be able to create apps from scratch.
|
Re: how to learn developing?
Quote:
(EDIT: I think I know what you mean. Discovering things, learning how things work etc. Especially with little or no documentation. But the programming process itself is deterministic.) |
Re: how to learn developing?
i need to start form zero: i just made something about algorithms at university (matlab) but nothing else
can yo suggest me a tutorial or a book to study basics? i found something online but i can't choose which is the best to begin by the way, i found this online course if someone else is interested https://eliademy.com/catalog/feature...roduction.html i think it's too advenced for me :( |
Re: how to learn developing?
1.Start by installning jolla SDK.
2.Then copy hello world code in there 3. Execute 4. Add some new lines and strings, variabels to IT and print it on screen. 5. Do something more. If you are interested in programming in general and not sailfish applications.... I would suggest you to look a at Java or Python as intro. |
Re: how to learn developing?
Suggestion :
- install Qt 5.4 (or 5.2) SDK targetting desktop PC (Linux, Windows, etc) and practice QML/Qt Quick 2 programming, without C/C++. The SDK has many examples which you can modify to learn by example. QML/Qt Quick 2 is powerful than Javascript and allows programming many things, not just GUI (Graphical User Interface); - after being at ease with Qt Quick, install Sailfish SDK, which uses Qt 5.2, targetting Sailfish softwares running on emulator or real device. The SDK has some examples which you can modify to learn by example; - if you think Qt Quick is to simple for your needs, learn C++ to develop the backend (software outside GUI) for Qt softwares. An alternative, instead of C++, is to learn Python 3 & PyOtherSide to use as backend for Sailfish softwares. |
Re: how to learn developing?
There's a fair number of general Qt tutorials on http://qt-project.org which are probably a good idea to run through prior to starting with Sailfish.
|
Re: how to learn developing?
There is is tutorial that also explain a bit how to set up the environment (Note: last updates is 1 year old, so current SDK might have changed a bit)
http://hardcodes.de/SailfishOS/Devel...SailfishOS.pdf |
Re: how to learn developing?
I think there are several programming video tutorials also for SailfishOS.
I did one aswell almost two years ago: https://www.youtube.com/watch?v=z3hMGNwObx8 (Maybe I just need to update this video someday) The basics are still the same I guess. But the best is to practice and experiment with the Sailfish SDK and the demo applications there. There is also a nice GUI in the emulator showing all the great UI elements and how you basically use them in SailfishOS. What helps is reading code that other wrote (not like a book, just pick up the things you are interested in like "how did he/she did that ?"). Before writing your own application from the "scratch" you could also try to write little patches for existing applications to add your favorite feature or something like that. I would also suggest you in writing and uploading this patches as suggestion to merge to the official code. Most of the times the developers are friendly to code submissions and will either directly integrate the code or give suggestions on how to improve the code for it to integrate. |
Re: how to learn developing?
thank you all, i took a look at sailfish and qt5 sdk but i think i need something more basic
|
Re: how to learn developing?
Quote:
You could certainly grab a couple of "intro to programming" books and work your way through them. :) But the best way to get a quick start, in my opinion, is to try out a few little examples in a language that doesn't require much effort to set up and get started. I kind of like the idea of starting with "Javascript", because every web browser supports it, and you can see the results of your code instantly. And it does have variables, data types, functions, and most everything else you'll find standard in modern languages. I haven't tried it myself, but there's a website called CodeAcademy that seems to offer an excellent introduction to languages like Javascript. There are lots of other Javascript resources on the net, and you can certainly just try out your own code by writing it to a text file and opening it into pretty much any web browser... Anyway, just an idea. :) |
Re: how to learn developing?
when you start from zero, you shouldn't start with a specific language .
learn what are conditions, loops, arrays, objects, functions etc. in general when you have an abstract understanding of all those basic elements, it's not so hard to transfer it to the language you need. edit: leave ot the objects for some time, concentrate on the basics |
Re: how to learn developing?
Quote:
If you've got a computer sitting in front of you, I see no reason not to use it every step of the way. For each concept taught to a student, have that student put it to practice immediately, and see the results; at the very least, that seems a more enjoyable way to learn a subject. :) |
Re: how to learn developing?
for a beginner, fighting with syntax errors for hours can be even more frustrating than understanding concepts ;)
i don't mean, he should do this for months or weeks without coding, but often you loose overview while fiddling in codelines |
Re: how to learn developing?
Start from the basics. I recommend that you start with some scripting language and move after that to C++, Java or C#.
1. Python has clean and nice syntax for beginners (http://www.codecademy.com/en/tracks/python) 2. After that you could learn basics of JavaScript (http://www.codecademy.com/tracks/javascript) 3. Learn C++ (or Java or C# or some other compiled language) Python + Javascript + C++ is a nice combo in many aspects and especially if you're targeting mainly Sailfish OS (In QML you can use Javascript, Qt is C++ and pyotherside is allowed in Harbour). C++ is not easy but it makes you familiar with memory management, pointers, compiler errors and a lot of other stuff which is very important if you really want to understand programming at lower level without all the abstractions. |
Re: how to learn developing?
I love this question because I was at that point a few months ago. The difference was that I had done some coding in my life, even with Qt/C++, and felt brave enough to try on my own although I had forgotten anything meanwhile. ;)
Not knowing where you come from and what you've already done, my advice to someone without much coding experience would be:
All in all, I think it's right to describe the whole journey as trial and error. While there is good documentation about most everything, for some reason it almost always only covers what you already know. ;) It hardly ever contains the answer why your code doesn't behave the way you expect it. |
Re: how to learn developing?
+1 to Copernicus. Compare every other programming book starting with a lot of theory with K&R, where the very first chapter starts with how to write a "Hello, world" program.
You need the theory and, most importantly, the mindset to begin developing software. But you can pick up most of them by example. |
Re: how to learn developing?
Quote:
Confucius We learn on mistakes :P |
Re: how to learn developing?
Another option for getting into programming is via a book.
Personally, I really liked the Head First design patterns and object oriented design books. The Java book of this series was too simple for my taste but I think it is intended as introductory book anyway. I don't know other books of this series but I really like their approach on communicating knowledge. (Yes, I know, the examples I list above are primarily targeting Java but there are also books in this series that cover other languages and despite the focus on a specific language the concepts like design patterns can be applied more universally.) PS: With books it is also more likely to find a good translation in other languages than English. Nonetheless, imho, most information about programming and computer science in general is in english. Thus, trying to get into the english literature (not only books but also blogs, API docs, etc.) is important as well. PPS: By the way, I don't want to sound like a Head First sales guy. I am sure that there are also many other great books out there. ;) PPPS: And like others said, practicing and having fun is also very important. :) |
Re: how to learn developing?
Quote:
My new year's "resolution" is to make first Sailfish app.. |
Re: how to learn developing?
so i started learning python (mainly because i found a tutorial in italian http://www.arcetri.astro.it/~lfini/AGauld/)
i also installed qt & sfos skd and took a look at https://sailfishos.org/sailfish-sili...ilica-all.html but i have many questions where i can find a sort of dictionary with all available functions already implemented in sailfish? and which properties do support which functions? |
Re: how to learn developing?
|
Re: how to learn developing?
I don't know if it's what you're looking for, but on the left tool bar in both sf-sdk and qt qtcreator , you have a Help button.
In there you can find all functions available for qt and silica (silica only in sf-sdk qtcreator's Help). Look in the content section, there is a brief description of each qt modules and also a list of all QML type for this module. Good luck! ;) |
All times are GMT. The time now is 19:33. |
vBulletin® Version 3.8.8