~sil/component-store/community-components

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
.. Ubuntu Component Store documentation master file, created by
   sphinx-quickstart on Wed Nov  5 19:11:31 2014.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to the Ubuntu Component Store
==================================================

The Ubuntu Component Store (UCS) is intended to be a library hosting a collection of components created by community developers for building Ubuntu SDK apps. 
UCS will enable new developers by providing plug-and-play components/modules and thereby preventing the need to start from scratch.

Purpose
-------

What's the usecase for this? Let's take a look at an example. Assume *App Dev A* creates a component that is intuitive and helps improve the user experience. 
*App Dev B* would like to incorporate a similar component in his own app and either borrows the code from *App Dev A* or creates his own. Both choices have 
serious drawbacks. If he borrows the code, then he has to keep track of any upstream improvements. On the other hand, if he creates his own component, then it is just a waste of 
effort since there is now code duplication throughout the community. This is what the Ubuntu Component Store is aimed at solving.

By hosting a set of components, UCS will enable app developers to share components with their peers and reduce code duplication.

.. image:: _images/concept.png
   :align: center
   :scale: 90 % 

How will this work?
-------------------

A developer who just wants to use these components will be able to grab the components easily and keep them updated by simply running the ucs program. 

You can find the installation guide, to install *ucs* so that you can use it to add components to your Ubuntu SDK apps, at :doc:`install`.

A component developer can create a component and contribute it to the Ubuntu Component Store. There are two types of components: *Curated* and *Community*. A component developer can publish their component to the Community store by themselves, with no oversight. Publishing to the Curated store requires approval that the curated component is well-constructed: it must have good documentation and tests, and the component developer will join the store team and maintail their component. This leads to the Curated components being superior.

If you want to contribute a component, you can find the contribution guide at :doc:`contribute`.

Main Contents
-------------

.. toctree::
   :maxdepth: 1

   install
   contribute
   release
   
Components
----------

.. toctree::
   :maxdepth: 1
   
   _components/circleimage
   _components/emptystate
   _components/fastscroll
   _components/listitemwithactions
   _components/pagewithbottomedge
   _components/radialbottomedge
   _components/welcomewizard