SlideShare a Scribd company logo
1 of 48
Download to read offline
Escola d'aplicacions Ubuntu – David Planella

MOB, Barcelona, Març 2014
els fonaments
> la platforma
Guia UX

>
>

El contingut és fonamental, més espai pel més important
Simplicitat amb gestos intuïtius,
les 4 vores són per navegar

>

La vora dreta per desblocar
i commutar entre aplicacions actives

>

La vora esquerra revela el llançador
amb les aplicacions preferides

>

La vora superior per als indicadors
del sistema i missatgeria

>

La vora inferior per a controls
contextuals de l'aplicació

>

Nota: lliscament complet per veure
les aplicacions iniciades
(c) 2013 Canonical
Unity

>
>

El Unity és la interfície gràfica de l'Ubuntu
Per als usuaris, proporciona una interfície simple que permet que
el contingut emergeixi de manera natural i intuïtiva

>

Per als desenvolupadors, proporciona un conjunt de tecnologies i
punts d'integració per adaptar les aplicacions al sistema

>

L'SDK de l'Ubuntu fa la
integració fàcil amb una
col·lecció d'APIs clarament
definides

(c) 2013 Canonical
Unity

>
>
>

The Launcher is revealed with a left swipe
Contains quick access to favourite apps
Shows currently active apps and can
switch between them

>

Apps can be rearranged or pinned to the
Launcher with a long press

>
>

The above integration comes for free
Additional integration points

>
>
>

Count indication
Progress indication
Urgency indication

(c) 2013 Canonical
Unity

>

Indicators provide quick and consistent
access to frequent system functions

>

Notifications from various sources
are unified in the messaging menu

>

Tap once on an app indicator to scrub
left and right through the other ones

>

Notify OSD provides unintrusive,
dismissable or actionable notifications
with snap decisions

>

Integration points

>
>

Message counts
Activity notification

(c) 2013 Canonical
Unity

>

El Heads-Up Display (HUD) permet expressar
les intencions de l'usuari perquè l'aplicació
hi respongui apropiadament

>

Va més enllà deI les IU tradicionals per
convertir-se en una interfície d'intenció

>

El HUD es pot controlar per tocs
o per veu

>

Les lents (scopes) cerquen contingut, el HUD
en permet l'edició o personalització

>

Punts d'integració

>

Accions

(c) 2013 Canonical
Unity

>
>

Les lents porten contingut rellevant als usuaris amb connectors de cerca
Les lents organitzen el contingut poden actuar com a contenidors
de múltiples lents relacionades

>

Altament modulars, les lents permeten la personalització de l'entorn
sense haver de modificar la plataforma

>
>

Les lents poden executar-se localment o des d'un servidor remot
Nota: a la lent d'aplicacions es poden habilitar o inhabilitar altres lents
de manera individual

(c) 2013 Canonical
Unity

>

L'escenari lateral (sidestage) és un concepte innovador per facilitar la
utilització multitasca

>
>
>

A l'escenari principal s'executen les aplicacions dissenyades per tauletes
A l'escenari lateral s'executen les aplicacions dissenyades per telèfon
Les vores mantenen les funcions, i l'escenari lateral es pot ocultar quan no
sigui necessari
(c) 2013 Canonical
La platforma Ubuntu

>

Sistema Ubuntu (Linux) complet, amb una fina capa Android per accedir
a alguns dispositius

>
>

El mateix sistema compartit per servidor, escriptori i mòbils
L'SDK de l'Ubuntu proporciona accés API a serveis i dispositius
(c) 2013 Canonical
La plataforma Ubuntu

>
>
>

L'Ubuntu s'allibera cada 6 mesos
La primera versió mòbil fou la 13.10
Les versions normals es mantenen
9 mesos

>

Les versions de llarga durada (LTS)
es mantenen 5 anys

>

L'Ubuntu 14.04 serà una versió
de llarga durada

>

Les versions estables utilitzen la
nomenclatura any.mes (p.ex. 14.04)

>

Les versions de desenvolupament utilitzen la nomenclatura Adjectiu Animal
(p.ex. Trusty Tahr)

(c) 2013 Canonical
La plataforma Ubuntu
Definició del full de ruta

>
>

L'Ubuntu es planeja i desenvolupa obertament
Cada 3 mesos, a l'Ubuntu Developer
Summit (UDS) es discuteix i es planeja
el cicle següent

>

La comunitat participa en definir
l'Ubuntu durant la planificació
i implementació

>

Cada tema a l'UDS es prepara com
a una sessió d'1h, que en finalitzar
defineix una especificació amb accions
i assignacions

>

L'estat de la implementació es segueix
en un gràfic a status.ubuntu.com
(c) 2013 Canonical
Convergència

L'Ubuntu és a tot arreu

>

Els dispositius mòbils
són el futurs PCs

>

Avui dia els telèfons mòbils i tauletes
ja tenen el mateix rendiment que
els portàtils ultralleugers

>

L'Ubuntu s'ha dissenyat des de la base
per funcionar en tots els dispositius
i factors de forma

>
>

Els conceptes d'UI i UX s'adapten naturalment a diferents mides de pantalla
L'Ubuntu lidera la ruta cap a una categoria nova de supertelèfons

>

Simplement caldrà connectar-los a un monitor i teclat
(c) 2013 Canonical
Convergència

El camí cap a la convergència

>

La tecnologia escollida (QML)
fa la tasca fàcil

>

Però no es tracta només d'adaptar
la mida dels ginys – també el seu comportament i disseny

>
>

Els indicators des de l'Ubuntu 13.10 ja comparteixen el mateix codi
Però l'objectiu final de convergència continuarà almenys 2 cicles fins
la versió 15.04

>

Una altra fita significativa serà la fusió de les interfícies mòbils
i d'escriptori

>

El Unity 8, en funcionament en mòbils, reemplaçarà el Unity 7
a l'escriptori
(c) 2013 Canonical
Aplicacions essencials

L'Ubuntu porta les piles incloses

>

Des del Navegador fins la Càmera i tot el
que hi hagi pel mig

>

Hi ha al voltant de 20 aplicacions essencials
instal·lades per defecte

>

Proporcionen les funcions bàsiques per al
dia a dia

>

Desenvolupades per la comunitat,
juntament amb l'equip de
Disseny de Canonical

>

L'ecosistema d'aplicacions de l'Ubuntu
creix amb aplicacions de tercers per
cobrir qualsevol altre requeriment
(c) 2013 Canonical
Instal·lació de l'Ubuntu a l'escriptori

>

Per instal·lar l'Ubuntu en un telèfon, cal instal·lar-lo abans
a l'escriptori

>

La manera més fàcil és instal·lar-lo com a SO principal o bé en una
partició separada

>
>

No tothom vol fer el salt encara
Per qui hi estigui interessat, es pot instal·lar l'Ubuntu en una
màquina virtual

>

La màquina virtual permet executar l'Ubuntu de manera segura
sense modificar els sistemes existents

>

Només cal instal·lar el programa VirtualBox (disponible per a les
plataformes més populars)

>

El rendiment a la màquina virtual serà molt més baix que en una instal·lació
completa de l'Ubuntu
(c) 2013 Canonical
Instal·lació de l'Ubuntu al mòbil

>

La instal·lació inicial es duu a terme amb les eines phablet-tools,
un conjunt d'ordres de terminal que realitzen la preparació del
dispositiu

>

Un cop instal·lat per primer cop, totes les actualitzacions es
faran des de la interfície d'usuari del dispositiu, segons el mètode
OTA (Over-The-Air, actualitzacions sense fil)

>

Només caldrà utilitzar phablet-tools de nou en cas que quelcom falli
o bé si és que es volen utilitzar altres imatges no oficials o no estables

>

L'Ubuntu es genera com a una imatge del sistema única i amb diverses
imatges específiques, una per a cada model de dispositiu disponible

>

Tipus d'imatges: només lectura (predeterminada)
lectura i escriptura (només per tipus de desenvolupament específics)

>

Canals d'imatge: estable i desenvolupament
(c) 2013 Canonical
Instal·lació de l'Ubuntu al mòbil

Abans de començar, llegiu-me
L'Ubuntu per a mòbils està pensat per ésser utilitzat per a avaluar-lo i per desenvolupament. És una versió
inicial per a desenvolupadors que potencialment pot inutilitzar el vostre dispositiu mòbil. Encara no
proporciona els mateixos serveis que un telèfon comercial i no és a punt per reemplaçar el vostre dispositiu
diari. Aquesta és la primera versió de l'Ubuntu per a mòbils i evoluciona molt ràpidament. Aquest procediment
suprimirà totes les dades del dispositiu. A no ser que s'hagi fet una còpia de seguretat, no es restauraran les
dades si es torna a instal·lar l'Android.

Què cal esperar després d'instal·lar
> Interfície gràfica funcional, aplicacions predeterminades, més aplicacions instal·lables
> Connexió a la xarxa GSM en el Nexus 4
> Trucades telefòniques i SMS en el Nexus 4
> Xarxa a través de la Wifi
> Càmera (frontal i posterior) i so
> GPS, però no AGPS
> Dispositiu accessible a través de l'eina Android Developer Bridge tool (adb)

(c) 2013 Canonical
Instal·lació de l'Ubuntu al mòbil
Dispositius de referència
Dispositiu

Codi

Imatge de fàbrica Google

Nexus 4

mako

occam

Nexus 7 (razor)

flo

flo

Nexus 10

manta

mantaray

Mètodes d'instal·lació
> Sistema Ubuntu
https://wiki.ubuntu.com/Touch/Install
> Arrencada dual amb Android
https://wiki.ubuntu.com/Touch/DualBootInstallation

(c) 2013 Canonical
L'Ubuntu en altres dispositius

>

Les imatges de l'Ubuntu es creen per als 3 dispositius
de referència

>

Com és tradició, la comunitat desenvolupa addicionalment altres ports
per fer que altres dispositius funcionin amb l'Ubuntu

>
>

La llista de ports comunitaris inclou al voltant de 50 dispositius
La premisa és que si un dispositiu funciona amb CyanogenMod, es pot
portar a l'Ubuntu

>

Crear un port implica compilar la capa de compatibilitat Android i crear
una imatge específica per al dispositiu

>

La guia de ports descriu detalladament com crear ports per a dispositius
https://wiki.ubuntu.com/Touch/Porting

(c) 2013 Canonical
els fonaments
> l'sdk
L'SDK de l'Ubuntu

L'Ubuntu proporciona un SDK (Software Development Kit) complet

>

L'SDK dóna l'habilitat als desenvolupadors de crear i
mantenir aplicacions durant tot el seu cicle de vida

>

Enfocament holístic: un potent IDE amb connexió
a dispositius, un joc d'eines gràfiques i una extensa
documentació de les API – tot inclòs

>

Basat en el el popular entorn de treball Qt i les seves
eines de desenvolupament

>

Els llenguatges de programació natius són QML, JavaScript i
opcionalment C++

>

La web és també al mateix nivell, amb diverses opcions
d'integració: aplicacions web, HTML5 bàsic i HTML5 amb
accés a la plataforma
(c) 2013 Canonical
L'SDK de l'Ubuntu
Amb totes les funcions anticipades en un SDK modern

>

Disposicions – un motor de disposicions flexible
per crear interfícies d'usuari adaptatives

>

Independència de resolució – eines per gestionar
la mida i el comportament dels elements de l'UI
coherentment independentment del factor de forma

>

Internationalització – execució de les aplicacions
en qualsevol llengua, gestió dels paràmetres i formats locals

>

Habilitat per al núvol – integració amb l'U1DB per emmagatzemar
documents i paràmetres de les aplicacions en el núvol computacional
de l'Ubuntu

>

Desament automatic de l'estat – desament de l'estat de qualsevol
component per a lògiques que depenen en execucions anteriors

>

Serveis (Alarmes), anàlisi de paràmetres CLI i més!
(c) 2013 Canonical
L'SDK de l'Ubuntu

El Qt Creator és l'entorn de desenvolupament integrat (IDE) de l'SDK

>
>
>
>
>

In IDE modern, ple de funcions per a l'edició avançada de codi
Depurador visual
Connectivitat: execució i desenvolupament d'aplicacions en dispositius
Empaquetador .click gràfic
Documentació API integrada
(c) 2013 Canonical
L'SDK de l'Ubuntu

Utilitzeu la connectivitat del Qt Creator per connectar amb dispositius

>

Interfície gràfica: connexió
automàtica en endollar
un dispositiu

>

Connexió segura:
utilitza el protocol SSH (Secure SHell)

>

Requeriment: tant l'escriptori com el dispositiu estan connectats a
la mateixa WLAN

>
>
>

Habilita l'execució remota d'aplicacions durant el desenvolupament
Permet la instal·lació remota de paquets
Funció experimental: compilació nativa de projectes C++
en el dispositiu

(c) 2013 Canonical
L'SDK de l'Ubuntu
Consells: com utilitzar el terminal des de l'escriptori

>

No és part de l'SDK,
però pot ser molt útil per desenvolupar

>
>

Premeu Ctrl+Alt+t per iniciar un terminal
Premeu Ctrl+N per obrir una
pestanya nova en un terminal actiu

>

Premeu la fletxa cap amunt
per utilitzar ordres de l'historial

>
>
>

Premeu el tabulador per la compleció automàtica
Executeu adb shell per entrar en un dispositiu a través de l'USB
Un cop entrat, executeu sudo -i -H -U phablet per no utilitzar el
superusuari

>

Executeu qmlscene nomaplicació.qml per iniciar una aplicació
(c) 2013 Canonical
L'SDK de l'Ubuntu
Consells: com utilitzar el terminal dins del dispositiu

>

Curiosament, una de les aplicacions
que ha generat més interès

>

Les mateixes funcions que el germà gran,
amb interfície tàctil

>

Premeu i manteniu per mostrar la roda
d'ordres

>
>

Doble toc per compleció automàtica
Molt útil quan no es disposa d'un
ordinador o cable

>

Mode apaïsat per ordres llargues

(c) 2013 Canonical
L'SDK de l'Ubuntu

El joc de components proporciona ginys per a l'aparença distintiva Ubuntu

>

Una col·lecció dels components
essencials per crear aplicacions

>

Projectat per dissenyadors i
implementat per desenvolupadors

>

Els ginys proporcionen integració
visual i de comportament

>

No és un requeriment utilitzar-lo,
però s'aconsella fer-ho per una
millor integració i consistència
en l'experiència d'usuari

>
>

Disponible tant per a aplicacions QML com HTML5
Utilitzeu l'aplicació de galeria per veure el joc de components en acció
(c) 2013 Canonical
L'SDK de l'Ubuntu

Les quies de disseny ajuden a crear “aplicacions Ubuntu”

>
>
>

Un recurs en línia que va creixent juntament amb l'SDK
Descriu els patrons de comportament i els components essencials
http://design.ubuntu.com/apps

(c) 2013 Canonical
L'SDK de l'Ubuntu

Utilitzeu les referències API per aprendre a fer servir els components de l'SDK

>

Com a part de l'SDK, cada giny i component
documenta la seva utilització,
propietats, mètodes i senyals

>

La documentació API és en línia a:
developer.ubuntu.com/api

>

La documentació API és també en local a:
file:///usr/share/ubuntu-ui-toolkit/doc/html/overview-ubuntu-sdk.html

> El Qt creator també integra la documentació local
> Els components de l'SDK són una capa per sobre de l'entorn Qt
– la documentació del projecte original Qt també és aplicable:
http://qt-project.org

(c) 2013 Canonical
L'SDK de l'Ubuntu

El lloc web del desenvolupador és el centre per crear contingut per a l'Ubuntu

>

El recurs central per a guies i material d'aprenentatge
per crear aplicacions, lents, aplicacions web i encanteris per al núvol

>

Cada àrea inclou sumaris de les tecnologies, programes d'aprenentatge
preguntes més freqüents i referències API

>

El blog dels desenvolupadors publica notícies i actualitzacions interessants
per a desenvolupar per a l'Ubuntu

>
>

Accés a la botiga de programari per publicar i mantenir les aplicacions
També un portal per al suport comunitary a askubuntu.com:
un lloc web de preguntes i respostes sobre l'Ubuntu i desenvolupament

(c) 2013 Canonical
L'SDK de l'Ubuntu
Els desenvolupadors es
beneficïen d'una immensa
comunitat

>

La comunitat proporciona
una sòlida xarxa de suport
per a preguntes sobre
desenvolupament

>

Feu preguntes a Ask Ubuntu, a les llistes de correu
o en temps real al xat IRC

>

Compartiu coneixements, promogueu les vostres aplicacions i assabenteuvos de què fan altres desenvolupadors al les xarxes socials

>

Parleu directament amb altres desenvolupadors, i d'aquells qui creen
l'Ubuntu

>
>

Participeu a l'UDS per determinar i influenciar la direcció de l'Ubuntu
Trobareu tota la informació a http://developer.ubuntu.com/community/
(c) 2013 Canonical
L'SDK de l'Ubuntu

1

Instal·lació de l'SDK de l'Ubuntu
●

Obriu un terminal prement la combinació de tecles Ctrl+Alt+T

●

Introduïu l'ordre següent, prement la tecla de retorn:

Per a usuaris de l'Ubuntu 12.04 LTS, 12.10, 13.04 i 13.10:
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo apt-get update && sudo apt-get distupgrade && sudo apt-get install ubuntu-sdk
Alternativament, per aquells que utilitzin la versió de desenvolupament:
sudo apt-get update && sudo apt-get install ubuntu-sdk

(c) 2013 Canonical
taller
d'aplicacions
> model d'aplicació
> aplicacions natives
El model d'aplicació

>

El model d'aplicació
i el cicle de vida s'han
dissenyat per ésser simples,
segurs i per gestionar l'energia
de manera efectiva

>

La primera iteració simplementà en
l'Ubuntu 13.10

>

Una aplicació és un element autònom
de programari visible per l'usuari

>

Les aplicacions s'aturen temporalment
quan no són a l'escenari principal

>

Especificació disponible a:
https://blueprints.launchpad.net/ubuntu/+spec/client-1303-add-app-model-and-lifecycle-to-platform-api

(c) 2013 Canonical
Confinament d'aplicacions

>

Totes les aplicacions estan confinades utilitzant AppArmor
per restringir el que poden fer a la sessió de l'usuari

>

L'AppArmor és un mòdul de seguretat del nucli que habilita el control
d'accés obligatori (MAC)

>
>

L'AppArmor és molt similar a l'XNU Sandbox utilitzat per Apple
Cada aplicació té un perfil individual de l'AppArmor que es genera
a partir d'una llista de permisos definida en un fitxer manifest

>
>
>

El manifest es crea de manera gràfica des del Qt Creator
Les aplicacions poden escriure només en el seu propi directori
La compartició de continguts entre aplicacions es duu a terme a través
del Servei de contingut

>

L'especificació és disponible a:
https://blueprints.launchpad.net/ubuntu/+spec/topic-security-application-isolation
(c) 2013 Canonical
Gestió del procés de l'aplicació

>

La gestió dels processos es centra en
el model d'aplicació

>
>
>

Les aplications s'inicïen amb tasques Upstart
L'Upstart és un servei d'inici basat en esdeveniments
L'Upstart determina com iniciar les aplicacions i les tanca al final
de la sessió

>

L'Upstart consulta el manifest de l'aplicació i prepara els paràmetres
de confinament i les variables d'entorn, entre altres coses

>

S'assegura que s'inicïin les aplicacions consistentment i que hi hagi
només una instància d'una aplicació en execució a la vegada

>

Exemple d'inici manual d'una aplicació
start application APP_ID=com.ubuntu.developer.dgalg.wordchain_wordchain_0.3

>

El registre de les aplicacions: ~/.cache/upstart/application-click*
(c) 2013 Canonical
Aplicacions natives i web

Nativa o web, la vostra decisió

>

Suport complet per les dues vies:
aplicacions natives o HTML5

>

Aplicacions natives per la millor integració
o quan el rendiment sigui crític

>

Aplicacions web per utilitzar les tecnologies
de la xarxa o fer ports de codi existent

>
>
>

Hostatjades – integració de llocs web
Local – HTML5 bàsic per la majoria dels casos
Local – HTML5 amb accés a la platforma
per integració amb dispositius (càmera,
sensors…)

(c) 2013 Canonical
Aplicacions natives

>

Creeu aplicacions natives per aprofitar
al màxim el rendiment del dispositiu

>

Les aplicacions natives es basen en QML,
un llenguatge RAD per descriure
interfícies d'usuari i les seves transicions

>

El JavaScript s'hi pot incorporar de manera natural i obrela porta a
implementar lògica més complexa

>

Utilitzeu el C++ quan calgui exprimir el rendiment o bé quan el
funcionament en temps real sigui crític

>

Els desenvolupadors de C++ diuen que l'entorn Qt i les classes associades
fan la programació molt més fàcil

>

Si feu servir C++ és recomanable escriure un connector QML:
el C++ farà la feina del rerefons, i el QML definirà la interfície gràfica
(c) 2013 Canonical
Exemple: aplicació nativa

Apreneu a crear una aplicació nativa amb un exemple pràctic:

>
>

El convertidor de divises
Disponible a http://developer.ubuntu.com/apps/qml/tutorial

(c) 2013 Canonical
taller
d'aplicacions
> aplicacions web
> publicació d'aplicacions
Aplicacions HTML5

>

Creeu aplicacions HTML5 per utilitzar els
llenguatges de la web

>
>
>
>

Multiplataforma i interfície adaptativa sense esforç
La via més fàcil per portar aplicacions existents
Dos nivells d'integració depenent dels requeriments
Hostatjades – anomenades aplicacions web, proporcionen integració
de llocs web remots dins del Unity, com a aplicació local

>

Locals – el codi de l'aplicació s'instal·la i executa localment

>
>

HTML5 – una aplicació HTML5 tradicional (HTML, CSS, JavaScript)
HTML5 amb accés a la plataforma – una aplicació HTML5 que
requereix accés a dispositius com la càmera, sensors, etc. La tecnologia
Apache Cordova proporciona el rerefons d'accés
(c) 2013 Canonical
HTML5 amb accés a la plataforma

Tecnologies web com a centre

>

Parleu la llengua de la web: HTML5,
JavaScript, CSS3 i les APIs del W3C

>

Creeu aplicacions convergents i adaptives
que funcionaran independentment de l'arquitectura i factor de forma

Augmentades amb el mòdul d'execució Apache Cordova

>
>
>

Afegeix accés a dispositius natius a les aplicacions HTML5
Obre les portes a 400K desenvolupadors web deCordova
Ubuntu és una plataforma oficial Apache Cordova des de
la versió 3.3

(c) 2013 Canonical
Paquets click

>

Les aplicacions de l'Ubuntu s'empaqueten,
distribueixen i instal·len en format .click

>

Basat en el format .deb, similar

click

en concepte amb els paquets .apk d'Android

>
>
>

Simples, ràpids i segurs amb integració amb l'AppArmor
Creació fàcil des del Qt Creator, a punt per publicar
Instal·lació i empaquetament simplificats
l'aplicació conté totes les seves dependències
en desinstal·lar-la, aquestes es desinstal·len també

>

Els paquets click permeten aïllar les actualitzacions d'aplicacions de
les del sistema

>
>

Actualitzacions del sistema en format .deb per OTA incremental
Actualitzacions d'aplicacions en format .click amb el gestor
d'actualitzacions
(c) 2013 Canonical
La botiga de programari de l'Ubuntu
Utilitzeu la botiga per publicar i distribuir aplicacions

>
>

En beta pública des del setembre de 2013
Obert per a desenvolupadors amb les funcions essencials: enviament,
instal·lació remota i actualitzacions

>

Procés d'enviament sense esforç: empaquetament amb GUI,
registre i subscripció gratuïts a developer.ubuntu.com

>

Integració transparent: el programari instal·lable
apareix a la lent d'aplicacions

>

El gestor d'actualitzacions instal·la
les darreres versions de
les aplicacions

(c) 2013 Canonical
Exemple: creació d'aplicacions HTML5
Learn how to write an HTML5 app with a hands-on tutorial

>

HTML5 bàsic: el diccionari
http://developer.ubuntu.com/apps/html-5/tutorials/meanings-app-html5-tutorial/

>

HTML5 amb accés a la plataforma: la càmera
http://developer.ubuntu.com/apps/html-5/tutorials/cordova-camera-app-tutorial/

>

Documentació API a developer.ubuntu.com/apps/html-5/api

(c) 2013 Canonical
Pràctica: creeu una aplicació

Intenteu crear una aplicació simple amb els recursos i eines que heu après

>
>
>
>
>
>

El Qt Creator i les plantilles d'aplicació
El lloc web del desenvolupador a developer.ubuntu.com
Documentació API
Programes d'aprenentatge a developer.ubuntu.com
Les guies de disseny
askubuntu.com

(c) 2013 Canonical
Moltes
gràcies!
> david.planella@ubuntu.com · +DavidPlanella · @dplanella
> davidplanella.org
> developer.ubuntu.com
> @ubuntuappdev
> gplus.to/ubuntuappdev
> facebook.com/ubuntuappdev

More Related Content

Viewers also liked

Zingly - Single app for all banks
Zingly - Single app for all banksZingly - Single app for all banks
Zingly - Single app for all banksPetr Dvorak
 
Kontrak bisnis
Kontrak bisnisKontrak bisnis
Kontrak bisnisrizkysays
 
Generalsekretærfrokost 23.05.16
Generalsekretærfrokost 23.05.16Generalsekretærfrokost 23.05.16
Generalsekretærfrokost 23.05.16Frivillighet Norge
 
Chapter One Asia_Group Corporate Profile 2015
Chapter One Asia_Group Corporate Profile 2015Chapter One Asia_Group Corporate Profile 2015
Chapter One Asia_Group Corporate Profile 2015Muhammad Hafizuddin Anif
 
Greenwood Vs California
Greenwood Vs CaliforniaGreenwood Vs California
Greenwood Vs Californiakeegankrantz
 
Πολιτιστικά προγράμματα . Νησίδες μαθησιακού ήθους
Πολιτιστικά προγράμματα . Νησίδες μαθησιακού ήθουςΠολιτιστικά προγράμματα . Νησίδες μαθησιακού ήθους
Πολιτιστικά προγράμματα . Νησίδες μαθησιακού ήθουςTheresa Giakoumatou
 
Le duc vintage & luxury beachwear
Le duc vintage & luxury beachwearLe duc vintage & luxury beachwear
Le duc vintage & luxury beachwearMaria Bocina
 
01_Ivadas_SOLIDWORKS-2015
01_Ivadas_SOLIDWORKS-201501_Ivadas_SOLIDWORKS-2015
01_Ivadas_SOLIDWORKS-2015IN RE UAB
 
מגמות בפיתוח מקורות גיוס - כנס אנשים ומחשבים
מגמות בפיתוח מקורות גיוס - כנס אנשים ומחשביםמגמות בפיתוח מקורות גיוס - כנס אנשים ומחשבים
מגמות בפיתוח מקורות גיוס - כנס אנשים ומחשביםYakov Rozen ★ יעקב רוזן
 
Inbound marketing
Inbound marketingInbound marketing
Inbound marketingH1.cz
 

Viewers also liked (15)

Zingly - Single app for all banks
Zingly - Single app for all banksZingly - Single app for all banks
Zingly - Single app for all banks
 
Kontrak bisnis
Kontrak bisnisKontrak bisnis
Kontrak bisnis
 
Hva vet vi om verdens flyktninger?
Hva vet vi om verdens flyktninger?Hva vet vi om verdens flyktninger?
Hva vet vi om verdens flyktninger?
 
Fp
FpFp
Fp
 
Internet, you ain't seen nothing yet
Internet, you ain't seen nothing yetInternet, you ain't seen nothing yet
Internet, you ain't seen nothing yet
 
Generalsekretærfrokost 23.05.16
Generalsekretærfrokost 23.05.16Generalsekretærfrokost 23.05.16
Generalsekretærfrokost 23.05.16
 
Chapter One Asia_Group Corporate Profile 2015
Chapter One Asia_Group Corporate Profile 2015Chapter One Asia_Group Corporate Profile 2015
Chapter One Asia_Group Corporate Profile 2015
 
Greenwood Vs California
Greenwood Vs CaliforniaGreenwood Vs California
Greenwood Vs California
 
Saory,An.(by Averio)
Saory,An.(by Averio)Saory,An.(by Averio)
Saory,An.(by Averio)
 
Πολιτιστικά προγράμματα . Νησίδες μαθησιακού ήθους
Πολιτιστικά προγράμματα . Νησίδες μαθησιακού ήθουςΠολιτιστικά προγράμματα . Νησίδες μαθησιακού ήθους
Πολιτιστικά προγράμματα . Νησίδες μαθησιακού ήθους
 
Le duc vintage & luxury beachwear
Le duc vintage & luxury beachwearLe duc vintage & luxury beachwear
Le duc vintage & luxury beachwear
 
01_Ivadas_SOLIDWORKS-2015
01_Ivadas_SOLIDWORKS-201501_Ivadas_SOLIDWORKS-2015
01_Ivadas_SOLIDWORKS-2015
 
Borbely_Oct30TW EN
Borbely_Oct30TW ENBorbely_Oct30TW EN
Borbely_Oct30TW EN
 
מגמות בפיתוח מקורות גיוס - כנס אנשים ומחשבים
מגמות בפיתוח מקורות גיוס - כנס אנשים ומחשביםמגמות בפיתוח מקורות גיוס - כנס אנשים ומחשבים
מגמות בפיתוח מקורות גיוס - כנס אנשים ומחשבים
 
Inbound marketing
Inbound marketingInbound marketing
Inbound marketing
 

Similar to Escola d'aplicacions Ubuntu

Sistema operatiu
Sistema operatiuSistema operatiu
Sistema operatiuGalvez96
 
Aplicacions pràctiques amb SO Alternatius
Aplicacions pràctiques amb SO AlternatiusAplicacions pràctiques amb SO Alternatius
Aplicacions pràctiques amb SO Alternatiusguest41b58b
 
presentacio de Ubuntu 2015
presentacio de Ubuntu 2015presentacio de Ubuntu 2015
presentacio de Ubuntu 2015Josep Gallart
 
Algunes "prèvies" i quelcom més sobre la "Linkat 2"
Algunes "prèvies" i quelcom més sobre la "Linkat 2"Algunes "prèvies" i quelcom més sobre la "Linkat 2"
Algunes "prèvies" i quelcom més sobre la "Linkat 2"guest0ea05
 
Linkat. eric caballe
Linkat. eric caballeLinkat. eric caballe
Linkat. eric caballeeric_11
 
Bordas marti programari
Bordas marti programariBordas marti programari
Bordas marti programarimartix14
 
Algunes "prèvies" i quelcom més sobre la "Linkat 2"
Algunes "prèvies" i quelcom més sobre la "Linkat 2"Algunes "prèvies" i quelcom més sobre la "Linkat 2"
Algunes "prèvies" i quelcom més sobre la "Linkat 2"Vicente Ruiz
 
La gran castaña
La gran castañaLa gran castaña
La gran castañavegabox
 
PRESENTACIÓ EXEMPLE
PRESENTACIÓ  EXEMPLEPRESENTACIÓ  EXEMPLE
PRESENTACIÓ EXEMPLEMACASA
 
Instal·lació d’Ubuntu i introducció a l’OpenOffice.org
 Instal·lació d’Ubuntu i introducció a l’OpenOffice.org Instal·lació d’Ubuntu i introducció a l’OpenOffice.org
Instal·lació d’Ubuntu i introducció a l’OpenOffice.orgAlbert Sansano Estradera
 
no tengo ni idea
no tengo ni ideano tengo ni idea
no tengo ni ideamamefle
 
treball amb linux
treball amb linuxtreball amb linux
treball amb linuxatzavarres
 
Introducción a linux
Introducción a linuxIntroducción a linux
Introducción a linuxalorenzo101
 
Nokia6210 vs imac
Nokia6210 vs imacNokia6210 vs imac
Nokia6210 vs imacLukoworld
 

Similar to Escola d'aplicacions Ubuntu (20)

Sistema operatiu
Sistema operatiuSistema operatiu
Sistema operatiu
 
Aplicacions pràctiques amb SO Alternatius
Aplicacions pràctiques amb SO AlternatiusAplicacions pràctiques amb SO Alternatius
Aplicacions pràctiques amb SO Alternatius
 
Aplicacions pràctiques amb SO alternatius
Aplicacions pràctiques amb SO alternatiusAplicacions pràctiques amb SO alternatius
Aplicacions pràctiques amb SO alternatius
 
presentacio de Ubuntu 2015
presentacio de Ubuntu 2015presentacio de Ubuntu 2015
presentacio de Ubuntu 2015
 
Algunes "prèvies" i quelcom més sobre la "Linkat 2"
Algunes "prèvies" i quelcom més sobre la "Linkat 2"Algunes "prèvies" i quelcom més sobre la "Linkat 2"
Algunes "prèvies" i quelcom més sobre la "Linkat 2"
 
Presentacio Ubuntu 10.04
Presentacio Ubuntu 10.04Presentacio Ubuntu 10.04
Presentacio Ubuntu 10.04
 
Programari
Programari Programari
Programari
 
Linkat. eric caballe
Linkat. eric caballeLinkat. eric caballe
Linkat. eric caballe
 
Bordas marti programari
Bordas marti programariBordas marti programari
Bordas marti programari
 
Programari
ProgramariProgramari
Programari
 
Algunes "prèvies" i quelcom més sobre la "Linkat 2"
Algunes "prèvies" i quelcom més sobre la "Linkat 2"Algunes "prèvies" i quelcom més sobre la "Linkat 2"
Algunes "prèvies" i quelcom més sobre la "Linkat 2"
 
La gran castaña
La gran castañaLa gran castaña
La gran castaña
 
PRESENTACIÓ EXEMPLE
PRESENTACIÓ  EXEMPLEPRESENTACIÓ  EXEMPLE
PRESENTACIÓ EXEMPLE
 
Instal·lació d’Ubuntu i introducció a l’OpenOffice.org
 Instal·lació d’Ubuntu i introducció a l’OpenOffice.org Instal·lació d’Ubuntu i introducció a l’OpenOffice.org
Instal·lació d’Ubuntu i introducció a l’OpenOffice.org
 
no tengo ni idea
no tengo ni ideano tengo ni idea
no tengo ni idea
 
treball amb linux
treball amb linuxtreball amb linux
treball amb linux
 
Introducción a linux
Introducción a linuxIntroducción a linux
Introducción a linux
 
bien
bienbien
bien
 
Linkat
LinkatLinkat
Linkat
 
Nokia6210 vs imac
Nokia6210 vs imacNokia6210 vs imac
Nokia6210 vs imac
 

Escola d'aplicacions Ubuntu

  • 1. Escola d'aplicacions Ubuntu – David Planella MOB, Barcelona, Març 2014
  • 2. els fonaments > la platforma
  • 3. Guia UX > > El contingut és fonamental, més espai pel més important Simplicitat amb gestos intuïtius, les 4 vores són per navegar > La vora dreta per desblocar i commutar entre aplicacions actives > La vora esquerra revela el llançador amb les aplicacions preferides > La vora superior per als indicadors del sistema i missatgeria > La vora inferior per a controls contextuals de l'aplicació > Nota: lliscament complet per veure les aplicacions iniciades (c) 2013 Canonical
  • 4. Unity > > El Unity és la interfície gràfica de l'Ubuntu Per als usuaris, proporciona una interfície simple que permet que el contingut emergeixi de manera natural i intuïtiva > Per als desenvolupadors, proporciona un conjunt de tecnologies i punts d'integració per adaptar les aplicacions al sistema > L'SDK de l'Ubuntu fa la integració fàcil amb una col·lecció d'APIs clarament definides (c) 2013 Canonical
  • 5. Unity > > > The Launcher is revealed with a left swipe Contains quick access to favourite apps Shows currently active apps and can switch between them > Apps can be rearranged or pinned to the Launcher with a long press > > The above integration comes for free Additional integration points > > > Count indication Progress indication Urgency indication (c) 2013 Canonical
  • 6. Unity > Indicators provide quick and consistent access to frequent system functions > Notifications from various sources are unified in the messaging menu > Tap once on an app indicator to scrub left and right through the other ones > Notify OSD provides unintrusive, dismissable or actionable notifications with snap decisions > Integration points > > Message counts Activity notification (c) 2013 Canonical
  • 7. Unity > El Heads-Up Display (HUD) permet expressar les intencions de l'usuari perquè l'aplicació hi respongui apropiadament > Va més enllà deI les IU tradicionals per convertir-se en una interfície d'intenció > El HUD es pot controlar per tocs o per veu > Les lents (scopes) cerquen contingut, el HUD en permet l'edició o personalització > Punts d'integració > Accions (c) 2013 Canonical
  • 8. Unity > > Les lents porten contingut rellevant als usuaris amb connectors de cerca Les lents organitzen el contingut poden actuar com a contenidors de múltiples lents relacionades > Altament modulars, les lents permeten la personalització de l'entorn sense haver de modificar la plataforma > > Les lents poden executar-se localment o des d'un servidor remot Nota: a la lent d'aplicacions es poden habilitar o inhabilitar altres lents de manera individual (c) 2013 Canonical
  • 9. Unity > L'escenari lateral (sidestage) és un concepte innovador per facilitar la utilització multitasca > > > A l'escenari principal s'executen les aplicacions dissenyades per tauletes A l'escenari lateral s'executen les aplicacions dissenyades per telèfon Les vores mantenen les funcions, i l'escenari lateral es pot ocultar quan no sigui necessari (c) 2013 Canonical
  • 10. La platforma Ubuntu > Sistema Ubuntu (Linux) complet, amb una fina capa Android per accedir a alguns dispositius > > El mateix sistema compartit per servidor, escriptori i mòbils L'SDK de l'Ubuntu proporciona accés API a serveis i dispositius (c) 2013 Canonical
  • 11. La plataforma Ubuntu > > > L'Ubuntu s'allibera cada 6 mesos La primera versió mòbil fou la 13.10 Les versions normals es mantenen 9 mesos > Les versions de llarga durada (LTS) es mantenen 5 anys > L'Ubuntu 14.04 serà una versió de llarga durada > Les versions estables utilitzen la nomenclatura any.mes (p.ex. 14.04) > Les versions de desenvolupament utilitzen la nomenclatura Adjectiu Animal (p.ex. Trusty Tahr) (c) 2013 Canonical
  • 12. La plataforma Ubuntu Definició del full de ruta > > L'Ubuntu es planeja i desenvolupa obertament Cada 3 mesos, a l'Ubuntu Developer Summit (UDS) es discuteix i es planeja el cicle següent > La comunitat participa en definir l'Ubuntu durant la planificació i implementació > Cada tema a l'UDS es prepara com a una sessió d'1h, que en finalitzar defineix una especificació amb accions i assignacions > L'estat de la implementació es segueix en un gràfic a status.ubuntu.com (c) 2013 Canonical
  • 13. Convergència L'Ubuntu és a tot arreu > Els dispositius mòbils són el futurs PCs > Avui dia els telèfons mòbils i tauletes ja tenen el mateix rendiment que els portàtils ultralleugers > L'Ubuntu s'ha dissenyat des de la base per funcionar en tots els dispositius i factors de forma > > Els conceptes d'UI i UX s'adapten naturalment a diferents mides de pantalla L'Ubuntu lidera la ruta cap a una categoria nova de supertelèfons > Simplement caldrà connectar-los a un monitor i teclat (c) 2013 Canonical
  • 14. Convergència El camí cap a la convergència > La tecnologia escollida (QML) fa la tasca fàcil > Però no es tracta només d'adaptar la mida dels ginys – també el seu comportament i disseny > > Els indicators des de l'Ubuntu 13.10 ja comparteixen el mateix codi Però l'objectiu final de convergència continuarà almenys 2 cicles fins la versió 15.04 > Una altra fita significativa serà la fusió de les interfícies mòbils i d'escriptori > El Unity 8, en funcionament en mòbils, reemplaçarà el Unity 7 a l'escriptori (c) 2013 Canonical
  • 15. Aplicacions essencials L'Ubuntu porta les piles incloses > Des del Navegador fins la Càmera i tot el que hi hagi pel mig > Hi ha al voltant de 20 aplicacions essencials instal·lades per defecte > Proporcionen les funcions bàsiques per al dia a dia > Desenvolupades per la comunitat, juntament amb l'equip de Disseny de Canonical > L'ecosistema d'aplicacions de l'Ubuntu creix amb aplicacions de tercers per cobrir qualsevol altre requeriment (c) 2013 Canonical
  • 16. Instal·lació de l'Ubuntu a l'escriptori > Per instal·lar l'Ubuntu en un telèfon, cal instal·lar-lo abans a l'escriptori > La manera més fàcil és instal·lar-lo com a SO principal o bé en una partició separada > > No tothom vol fer el salt encara Per qui hi estigui interessat, es pot instal·lar l'Ubuntu en una màquina virtual > La màquina virtual permet executar l'Ubuntu de manera segura sense modificar els sistemes existents > Només cal instal·lar el programa VirtualBox (disponible per a les plataformes més populars) > El rendiment a la màquina virtual serà molt més baix que en una instal·lació completa de l'Ubuntu (c) 2013 Canonical
  • 17. Instal·lació de l'Ubuntu al mòbil > La instal·lació inicial es duu a terme amb les eines phablet-tools, un conjunt d'ordres de terminal que realitzen la preparació del dispositiu > Un cop instal·lat per primer cop, totes les actualitzacions es faran des de la interfície d'usuari del dispositiu, segons el mètode OTA (Over-The-Air, actualitzacions sense fil) > Només caldrà utilitzar phablet-tools de nou en cas que quelcom falli o bé si és que es volen utilitzar altres imatges no oficials o no estables > L'Ubuntu es genera com a una imatge del sistema única i amb diverses imatges específiques, una per a cada model de dispositiu disponible > Tipus d'imatges: només lectura (predeterminada) lectura i escriptura (només per tipus de desenvolupament específics) > Canals d'imatge: estable i desenvolupament (c) 2013 Canonical
  • 18. Instal·lació de l'Ubuntu al mòbil Abans de començar, llegiu-me L'Ubuntu per a mòbils està pensat per ésser utilitzat per a avaluar-lo i per desenvolupament. És una versió inicial per a desenvolupadors que potencialment pot inutilitzar el vostre dispositiu mòbil. Encara no proporciona els mateixos serveis que un telèfon comercial i no és a punt per reemplaçar el vostre dispositiu diari. Aquesta és la primera versió de l'Ubuntu per a mòbils i evoluciona molt ràpidament. Aquest procediment suprimirà totes les dades del dispositiu. A no ser que s'hagi fet una còpia de seguretat, no es restauraran les dades si es torna a instal·lar l'Android. Què cal esperar després d'instal·lar > Interfície gràfica funcional, aplicacions predeterminades, més aplicacions instal·lables > Connexió a la xarxa GSM en el Nexus 4 > Trucades telefòniques i SMS en el Nexus 4 > Xarxa a través de la Wifi > Càmera (frontal i posterior) i so > GPS, però no AGPS > Dispositiu accessible a través de l'eina Android Developer Bridge tool (adb) (c) 2013 Canonical
  • 19. Instal·lació de l'Ubuntu al mòbil Dispositius de referència Dispositiu Codi Imatge de fàbrica Google Nexus 4 mako occam Nexus 7 (razor) flo flo Nexus 10 manta mantaray Mètodes d'instal·lació > Sistema Ubuntu https://wiki.ubuntu.com/Touch/Install > Arrencada dual amb Android https://wiki.ubuntu.com/Touch/DualBootInstallation (c) 2013 Canonical
  • 20. L'Ubuntu en altres dispositius > Les imatges de l'Ubuntu es creen per als 3 dispositius de referència > Com és tradició, la comunitat desenvolupa addicionalment altres ports per fer que altres dispositius funcionin amb l'Ubuntu > > La llista de ports comunitaris inclou al voltant de 50 dispositius La premisa és que si un dispositiu funciona amb CyanogenMod, es pot portar a l'Ubuntu > Crear un port implica compilar la capa de compatibilitat Android i crear una imatge específica per al dispositiu > La guia de ports descriu detalladament com crear ports per a dispositius https://wiki.ubuntu.com/Touch/Porting (c) 2013 Canonical
  • 22. L'SDK de l'Ubuntu L'Ubuntu proporciona un SDK (Software Development Kit) complet > L'SDK dóna l'habilitat als desenvolupadors de crear i mantenir aplicacions durant tot el seu cicle de vida > Enfocament holístic: un potent IDE amb connexió a dispositius, un joc d'eines gràfiques i una extensa documentació de les API – tot inclòs > Basat en el el popular entorn de treball Qt i les seves eines de desenvolupament > Els llenguatges de programació natius són QML, JavaScript i opcionalment C++ > La web és també al mateix nivell, amb diverses opcions d'integració: aplicacions web, HTML5 bàsic i HTML5 amb accés a la plataforma (c) 2013 Canonical
  • 23. L'SDK de l'Ubuntu Amb totes les funcions anticipades en un SDK modern > Disposicions – un motor de disposicions flexible per crear interfícies d'usuari adaptatives > Independència de resolució – eines per gestionar la mida i el comportament dels elements de l'UI coherentment independentment del factor de forma > Internationalització – execució de les aplicacions en qualsevol llengua, gestió dels paràmetres i formats locals > Habilitat per al núvol – integració amb l'U1DB per emmagatzemar documents i paràmetres de les aplicacions en el núvol computacional de l'Ubuntu > Desament automatic de l'estat – desament de l'estat de qualsevol component per a lògiques que depenen en execucions anteriors > Serveis (Alarmes), anàlisi de paràmetres CLI i més! (c) 2013 Canonical
  • 24. L'SDK de l'Ubuntu El Qt Creator és l'entorn de desenvolupament integrat (IDE) de l'SDK > > > > > In IDE modern, ple de funcions per a l'edició avançada de codi Depurador visual Connectivitat: execució i desenvolupament d'aplicacions en dispositius Empaquetador .click gràfic Documentació API integrada (c) 2013 Canonical
  • 25. L'SDK de l'Ubuntu Utilitzeu la connectivitat del Qt Creator per connectar amb dispositius > Interfície gràfica: connexió automàtica en endollar un dispositiu > Connexió segura: utilitza el protocol SSH (Secure SHell) > Requeriment: tant l'escriptori com el dispositiu estan connectats a la mateixa WLAN > > > Habilita l'execució remota d'aplicacions durant el desenvolupament Permet la instal·lació remota de paquets Funció experimental: compilació nativa de projectes C++ en el dispositiu (c) 2013 Canonical
  • 26. L'SDK de l'Ubuntu Consells: com utilitzar el terminal des de l'escriptori > No és part de l'SDK, però pot ser molt útil per desenvolupar > > Premeu Ctrl+Alt+t per iniciar un terminal Premeu Ctrl+N per obrir una pestanya nova en un terminal actiu > Premeu la fletxa cap amunt per utilitzar ordres de l'historial > > > Premeu el tabulador per la compleció automàtica Executeu adb shell per entrar en un dispositiu a través de l'USB Un cop entrat, executeu sudo -i -H -U phablet per no utilitzar el superusuari > Executeu qmlscene nomaplicació.qml per iniciar una aplicació (c) 2013 Canonical
  • 27. L'SDK de l'Ubuntu Consells: com utilitzar el terminal dins del dispositiu > Curiosament, una de les aplicacions que ha generat més interès > Les mateixes funcions que el germà gran, amb interfície tàctil > Premeu i manteniu per mostrar la roda d'ordres > > Doble toc per compleció automàtica Molt útil quan no es disposa d'un ordinador o cable > Mode apaïsat per ordres llargues (c) 2013 Canonical
  • 28. L'SDK de l'Ubuntu El joc de components proporciona ginys per a l'aparença distintiva Ubuntu > Una col·lecció dels components essencials per crear aplicacions > Projectat per dissenyadors i implementat per desenvolupadors > Els ginys proporcionen integració visual i de comportament > No és un requeriment utilitzar-lo, però s'aconsella fer-ho per una millor integració i consistència en l'experiència d'usuari > > Disponible tant per a aplicacions QML com HTML5 Utilitzeu l'aplicació de galeria per veure el joc de components en acció (c) 2013 Canonical
  • 29. L'SDK de l'Ubuntu Les quies de disseny ajuden a crear “aplicacions Ubuntu” > > > Un recurs en línia que va creixent juntament amb l'SDK Descriu els patrons de comportament i els components essencials http://design.ubuntu.com/apps (c) 2013 Canonical
  • 30. L'SDK de l'Ubuntu Utilitzeu les referències API per aprendre a fer servir els components de l'SDK > Com a part de l'SDK, cada giny i component documenta la seva utilització, propietats, mètodes i senyals > La documentació API és en línia a: developer.ubuntu.com/api > La documentació API és també en local a: file:///usr/share/ubuntu-ui-toolkit/doc/html/overview-ubuntu-sdk.html > El Qt creator també integra la documentació local > Els components de l'SDK són una capa per sobre de l'entorn Qt – la documentació del projecte original Qt també és aplicable: http://qt-project.org (c) 2013 Canonical
  • 31. L'SDK de l'Ubuntu El lloc web del desenvolupador és el centre per crear contingut per a l'Ubuntu > El recurs central per a guies i material d'aprenentatge per crear aplicacions, lents, aplicacions web i encanteris per al núvol > Cada àrea inclou sumaris de les tecnologies, programes d'aprenentatge preguntes més freqüents i referències API > El blog dels desenvolupadors publica notícies i actualitzacions interessants per a desenvolupar per a l'Ubuntu > > Accés a la botiga de programari per publicar i mantenir les aplicacions També un portal per al suport comunitary a askubuntu.com: un lloc web de preguntes i respostes sobre l'Ubuntu i desenvolupament (c) 2013 Canonical
  • 32. L'SDK de l'Ubuntu Els desenvolupadors es beneficïen d'una immensa comunitat > La comunitat proporciona una sòlida xarxa de suport per a preguntes sobre desenvolupament > Feu preguntes a Ask Ubuntu, a les llistes de correu o en temps real al xat IRC > Compartiu coneixements, promogueu les vostres aplicacions i assabenteuvos de què fan altres desenvolupadors al les xarxes socials > Parleu directament amb altres desenvolupadors, i d'aquells qui creen l'Ubuntu > > Participeu a l'UDS per determinar i influenciar la direcció de l'Ubuntu Trobareu tota la informació a http://developer.ubuntu.com/community/ (c) 2013 Canonical
  • 33. L'SDK de l'Ubuntu 1 Instal·lació de l'SDK de l'Ubuntu ● Obriu un terminal prement la combinació de tecles Ctrl+Alt+T ● Introduïu l'ordre següent, prement la tecla de retorn: Per a usuaris de l'Ubuntu 12.04 LTS, 12.10, 13.04 i 13.10: sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo apt-get update && sudo apt-get distupgrade && sudo apt-get install ubuntu-sdk Alternativament, per aquells que utilitzin la versió de desenvolupament: sudo apt-get update && sudo apt-get install ubuntu-sdk (c) 2013 Canonical
  • 35. El model d'aplicació > El model d'aplicació i el cicle de vida s'han dissenyat per ésser simples, segurs i per gestionar l'energia de manera efectiva > La primera iteració simplementà en l'Ubuntu 13.10 > Una aplicació és un element autònom de programari visible per l'usuari > Les aplicacions s'aturen temporalment quan no són a l'escenari principal > Especificació disponible a: https://blueprints.launchpad.net/ubuntu/+spec/client-1303-add-app-model-and-lifecycle-to-platform-api (c) 2013 Canonical
  • 36. Confinament d'aplicacions > Totes les aplicacions estan confinades utilitzant AppArmor per restringir el que poden fer a la sessió de l'usuari > L'AppArmor és un mòdul de seguretat del nucli que habilita el control d'accés obligatori (MAC) > > L'AppArmor és molt similar a l'XNU Sandbox utilitzat per Apple Cada aplicació té un perfil individual de l'AppArmor que es genera a partir d'una llista de permisos definida en un fitxer manifest > > > El manifest es crea de manera gràfica des del Qt Creator Les aplicacions poden escriure només en el seu propi directori La compartició de continguts entre aplicacions es duu a terme a través del Servei de contingut > L'especificació és disponible a: https://blueprints.launchpad.net/ubuntu/+spec/topic-security-application-isolation (c) 2013 Canonical
  • 37. Gestió del procés de l'aplicació > La gestió dels processos es centra en el model d'aplicació > > > Les aplications s'inicïen amb tasques Upstart L'Upstart és un servei d'inici basat en esdeveniments L'Upstart determina com iniciar les aplicacions i les tanca al final de la sessió > L'Upstart consulta el manifest de l'aplicació i prepara els paràmetres de confinament i les variables d'entorn, entre altres coses > S'assegura que s'inicïin les aplicacions consistentment i que hi hagi només una instància d'una aplicació en execució a la vegada > Exemple d'inici manual d'una aplicació start application APP_ID=com.ubuntu.developer.dgalg.wordchain_wordchain_0.3 > El registre de les aplicacions: ~/.cache/upstart/application-click* (c) 2013 Canonical
  • 38. Aplicacions natives i web Nativa o web, la vostra decisió > Suport complet per les dues vies: aplicacions natives o HTML5 > Aplicacions natives per la millor integració o quan el rendiment sigui crític > Aplicacions web per utilitzar les tecnologies de la xarxa o fer ports de codi existent > > > Hostatjades – integració de llocs web Local – HTML5 bàsic per la majoria dels casos Local – HTML5 amb accés a la platforma per integració amb dispositius (càmera, sensors…) (c) 2013 Canonical
  • 39. Aplicacions natives > Creeu aplicacions natives per aprofitar al màxim el rendiment del dispositiu > Les aplicacions natives es basen en QML, un llenguatge RAD per descriure interfícies d'usuari i les seves transicions > El JavaScript s'hi pot incorporar de manera natural i obrela porta a implementar lògica més complexa > Utilitzeu el C++ quan calgui exprimir el rendiment o bé quan el funcionament en temps real sigui crític > Els desenvolupadors de C++ diuen que l'entorn Qt i les classes associades fan la programació molt més fàcil > Si feu servir C++ és recomanable escriure un connector QML: el C++ farà la feina del rerefons, i el QML definirà la interfície gràfica (c) 2013 Canonical
  • 40. Exemple: aplicació nativa Apreneu a crear una aplicació nativa amb un exemple pràctic: > > El convertidor de divises Disponible a http://developer.ubuntu.com/apps/qml/tutorial (c) 2013 Canonical
  • 41. taller d'aplicacions > aplicacions web > publicació d'aplicacions
  • 42. Aplicacions HTML5 > Creeu aplicacions HTML5 per utilitzar els llenguatges de la web > > > > Multiplataforma i interfície adaptativa sense esforç La via més fàcil per portar aplicacions existents Dos nivells d'integració depenent dels requeriments Hostatjades – anomenades aplicacions web, proporcionen integració de llocs web remots dins del Unity, com a aplicació local > Locals – el codi de l'aplicació s'instal·la i executa localment > > HTML5 – una aplicació HTML5 tradicional (HTML, CSS, JavaScript) HTML5 amb accés a la plataforma – una aplicació HTML5 que requereix accés a dispositius com la càmera, sensors, etc. La tecnologia Apache Cordova proporciona el rerefons d'accés (c) 2013 Canonical
  • 43. HTML5 amb accés a la plataforma Tecnologies web com a centre > Parleu la llengua de la web: HTML5, JavaScript, CSS3 i les APIs del W3C > Creeu aplicacions convergents i adaptives que funcionaran independentment de l'arquitectura i factor de forma Augmentades amb el mòdul d'execució Apache Cordova > > > Afegeix accés a dispositius natius a les aplicacions HTML5 Obre les portes a 400K desenvolupadors web deCordova Ubuntu és una plataforma oficial Apache Cordova des de la versió 3.3 (c) 2013 Canonical
  • 44. Paquets click > Les aplicacions de l'Ubuntu s'empaqueten, distribueixen i instal·len en format .click > Basat en el format .deb, similar click en concepte amb els paquets .apk d'Android > > > Simples, ràpids i segurs amb integració amb l'AppArmor Creació fàcil des del Qt Creator, a punt per publicar Instal·lació i empaquetament simplificats l'aplicació conté totes les seves dependències en desinstal·lar-la, aquestes es desinstal·len també > Els paquets click permeten aïllar les actualitzacions d'aplicacions de les del sistema > > Actualitzacions del sistema en format .deb per OTA incremental Actualitzacions d'aplicacions en format .click amb el gestor d'actualitzacions (c) 2013 Canonical
  • 45. La botiga de programari de l'Ubuntu Utilitzeu la botiga per publicar i distribuir aplicacions > > En beta pública des del setembre de 2013 Obert per a desenvolupadors amb les funcions essencials: enviament, instal·lació remota i actualitzacions > Procés d'enviament sense esforç: empaquetament amb GUI, registre i subscripció gratuïts a developer.ubuntu.com > Integració transparent: el programari instal·lable apareix a la lent d'aplicacions > El gestor d'actualitzacions instal·la les darreres versions de les aplicacions (c) 2013 Canonical
  • 46. Exemple: creació d'aplicacions HTML5 Learn how to write an HTML5 app with a hands-on tutorial > HTML5 bàsic: el diccionari http://developer.ubuntu.com/apps/html-5/tutorials/meanings-app-html5-tutorial/ > HTML5 amb accés a la plataforma: la càmera http://developer.ubuntu.com/apps/html-5/tutorials/cordova-camera-app-tutorial/ > Documentació API a developer.ubuntu.com/apps/html-5/api (c) 2013 Canonical
  • 47. Pràctica: creeu una aplicació Intenteu crear una aplicació simple amb els recursos i eines que heu après > > > > > > El Qt Creator i les plantilles d'aplicació El lloc web del desenvolupador a developer.ubuntu.com Documentació API Programes d'aprenentatge a developer.ubuntu.com Les guies de disseny askubuntu.com (c) 2013 Canonical
  • 48. Moltes gràcies! > david.planella@ubuntu.com · +DavidPlanella · @dplanella > davidplanella.org > developer.ubuntu.com > @ubuntuappdev > gplus.to/ubuntuappdev > facebook.com/ubuntuappdev