Difference between revisions of "Getting Started"

From WebOS-Ports
Jump to navigation Jump to search
(More info on installing Qt 5.5.)
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== How to get started as a developer? ==
 
== How to get started as a developer? ==
  
=== QML Apps ===
+
=== Communications ===
 +
First of all, [[Communications|start talking with us]].  Hop on IRC and see who's around.  This is a very active project.  We're friendly and can help get you started.
  
We have various apps and components written in QML. By using stub data you'll be able to use most of them on a desktop for agile development :)
+
=== Try out LuneOS ===
 +
Next up, you might want to become more familiar with how LuneOS currently works by downloading a VM image that you can run on your computer in a program called VirtualBox. You can find this image on the left side of the site under [[Qemux86 Info|Devices->Show All Devices->WebOS Ports LuneOS VirtualBox Emulator]].  If you're going to help us develop, you should download the latest nightly build.  Try it out, poke around, and look through the bug tracker to see what we're working on (you can find the bug tracker link under the [[Communications]] page).
  
What you will need:
+
=== Browse around ===
 +
Once you're comfortable with how LuneOS works, you might want to poke around our GitHub account at [https://github.com/webOS-ports https://github.com/webOS-ports]  This contains the code repos for the projects we're actively working on.  Development works on a clone/change/pull request style, which means that when you're ready to change something, you will need to:
 +
# Set up a GitHub account.
 +
# Clone the repo you want to change into your own account.
 +
# Change things and commit your changes.
 +
# Push your changes back to GitHub.
 +
# Issue a Pull Request back to the main project describing the changes you made.
 +
More detailed instructions can be found on our [[Submitting Contributions]] page.
  
* Qt 5.5 or up and Qt Creator (included with Qt which can be downloaded from http://www.qt.io/download-open-source/) or installed on Linux using one of these commands:
+
=== What can I work on? ===
*; Ubuntu <16.04 (Xenial Xerus)/Debian < Stretch
+
Check out our page on [[Issue Tracking]] or go straight to the bug tracker at [http://issues.webos-ports.org/ http://issues.webos-ports.org/]
*: You will need to download the version direct from Qt at http://www.qt.io/download-open-source/  The versions included in the system repositories are too old.  The default Qt packages it selects should be all you need, and you can install this version of Qt in a directory within your home directory if you don't want to install it system-wide or replace the system packages.  You will also need to run: <pre>sudo apt-get install g++</pre>
 
*; Ubuntu &gt;=16.04 (Xenial Xerus)/Debian &gt;= Stretch (untested and may need to be changed a bit)
 
*: <pre>sudo apt-get install qtcreator qtdeclarative5-private-dev qtbase5-private-dev qtdeclarative5-qtmultimedia-plugin # Due to the way Qt is packaged, we also need to install some dependencies.</pre>
 
*; Fedora (this one is also untested and may be too old)
 
*: <pre>yum install qt-creator</pre>
 
*; Gentoo (untested)
 
*: Unmask a version of Qt &gt;= 5.5 (needed at the time of writing), then run: <pre>emerge dev-qt/qt-creator</pre>
 
  
* luna-next-cardshell (This acts as both the system shell and a library of components)
+
Here are a few preset filter links that may help you get started:
*# <pre>git clone https://github.com/webOS-ports/luna-next-cardshell.git</pre>
 
  
* luneos-components (This is our shared library of components used across various QML apps and can be found at https://github.com/webOS-ports/luneos-components)
+
* [http://issues.webos-ports.org/projects/ports/issues?set_filter=1&tracker_id=1 Core LuneOS bugs]
*# <pre>git clone https://github.com/webOS-ports/luneos-components.git</pre>
+
* [http://issues.webos-ports.org/projects/ports/issues?set_filter=1&tracker_id=3 Core LuneOS feature requests]
*# Open the luneos-components.pro file in Qt Creator.
+
* [http://issues.webos-ports.org/projects/apps/issues?set_filter=1&tracker_id=1 App bugs]
*# Under Projects (on the left side), go to the Build tab (should be the default) and change the following settings:
+
* [http://issues.webos-ports.org/projects/apps/issues?set_filter=1&tracker_id=3 App feature requests]
*## Deactivate Shadow Build.
 
*## For the qmake build steps, click on Details to expand the edit area.
 
*## Set Additional Arguments to: <pre>CONFIG+=desktop</pre>
 
*# Now, under the Run tab at the top:
 
*## Set Executable to <pre>qmlscene</pre>
 
*## Set Additional Arguments to <pre>-l modules -l test/imports examples/gallery/main.qml</pre>
 
*## Under Run Environment, click Details to expand the settings.
 
*## Add a setting called <pre>QT_QUICK_CONTROLS_STYLE</pre> and give it a value of <pre>LuneOS</pre>
 
  
* One of the QML apps:
+
=== Start developing ===
 +
We have multiple different development models depending on the area you want to help with.  Please choose an area to help with below, and we'll show you how to set up your development environment:
  
:* luna-next-cardshell itself
+
==== Enyo Apps ====
:* FirstUse
+
* [[Getting Started - Enyo Apps|Calendar]]
:* Browser
+
* [[Getting Started - Enyo Apps|Contacts]]
:* Phone
+
* [[Getting Started - Enyo Apps|File Manager]]
:* webos-keyboard
+
* [[Getting Started - Enyo Apps|Maps]]
 +
* [[Getting Started - Enyo Apps|Memos]]
 +
* [[Getting Started - Enyo Apps|Messaging]]
 +
* [[Getting Started - Enyo Apps|PDF Viewer]]
 +
* [[Getting Started - Enyo Apps|Photos and Videos]]
 +
* [[Getting Started - Enyo Apps|Settings]]
 +
* [[Getting Started - Enyo Apps|Testr]]
 +
 
 +
==== QML Apps ====
 +
* [[Getting Started - QML Apps|Luna-Next (System launcher)]]
 +
* [[Getting Started - QML Apps|First Use app]]
 +
* [[Getting Started - QML Apps|Browser App]]
 +
* [[Getting Started - QML Apps|Phone App]]
 +
* [[Getting Started - QML Apps|On-Screen Keyboard]]

Latest revision as of 19:40, 3 February 2016

How to get started as a developer?

Communications

First of all, start talking with us. Hop on IRC and see who's around. This is a very active project. We're friendly and can help get you started.

Try out LuneOS

Next up, you might want to become more familiar with how LuneOS currently works by downloading a VM image that you can run on your computer in a program called VirtualBox. You can find this image on the left side of the site under Devices->Show All Devices->WebOS Ports LuneOS VirtualBox Emulator. If you're going to help us develop, you should download the latest nightly build. Try it out, poke around, and look through the bug tracker to see what we're working on (you can find the bug tracker link under the Communications page).

Browse around

Once you're comfortable with how LuneOS works, you might want to poke around our GitHub account at https://github.com/webOS-ports This contains the code repos for the projects we're actively working on. Development works on a clone/change/pull request style, which means that when you're ready to change something, you will need to:

  1. Set up a GitHub account.
  2. Clone the repo you want to change into your own account.
  3. Change things and commit your changes.
  4. Push your changes back to GitHub.
  5. Issue a Pull Request back to the main project describing the changes you made.

More detailed instructions can be found on our Submitting Contributions page.

What can I work on?

Check out our page on Issue Tracking or go straight to the bug tracker at http://issues.webos-ports.org/

Here are a few preset filter links that may help you get started:

Start developing

We have multiple different development models depending on the area you want to help with. Please choose an area to help with below, and we'll show you how to set up your development environment:

Enyo Apps

QML Apps