Introduction à l’environnement bada                                10/10/2011
Ecosystème
Les produits bada        Famille WVGADes smartphones premium pour            Famille HVGAutilisateurs intensifs           ...
Les sites Web      developer.bada.comLe site de référence pour le                             seller.samsungapps.comdévelo...
Outils de développement
Le SDK bada                                   Basé sur Eclipse, l’IDE permet de réaliser toutes les tâches liées au       ...
Trois bases possibles pour votre application      Développement C++Utilisez très simplement toutes les                    ...
Process de développement
Aperçu du process de développement                            Création du manifeste                                    Dév...
Création du manifeste                        Création du manifeste                                                        ...
Développement                           Développement                                                                  Cré...
Test                                  Test                                                                                ...
Soumission de l’application                                                                                               ...
Certification par Samsung                                                                                                 ...
Application commerciale                                                                                                   ...
Cycle de vie d’une applicationdans le mobile
Les étapes du cycle de vie d’une application                                    Lancement                        Splash Sc...
Gestion des ressources      OnAppInitializing()                                    Allocation                             ...
Système de fichiers
Système de fichiers                   /Home                          Répertoire racine de l’application (RW)              ...
Les APIs et leur documentation
La documentation                               Namespace                   Des Namespaces par thème pour plus de clarté  ...
Les privilèges             SystemDes fonctions réservées aux                                   Normaldéveloppeurs partenai...
Trois concepts importants       Pas d’ExceptionsLe mécanisme des Exceptions n’est    Construction en deux phasespas suppor...
Quelques Namespaces remarquables
Osp::Ads                                                                 Configuration du service                         ...
Osp::App                                                                              System Events                       ...
Osp::Commerce                            Osp::Commerce                                                                    ...
Osp::Locations                             Osp::Location                                                                  ...
Osp::Media                                                                             AudioIn & AudioOut                 ...
Osp::Messaging                            Osp::Messagingdeveloper.bada.com                                                ...
Et les incontournables …                                                                 Osp::Basedeveloper.bada.com      ...
Et les incontournables …                                                                Osp::Systemdeveloper.bada.com     ...
Architecture de l’interface utilisateur
Architecture de l’interface utilisateur Un Frame unique par application          Plusieurs FormsTous liés au Frame de bas...
Les Listeners
Les Listeners         Création d’un objet Control UI, SensorManager, etc       Création d’un Listener                    ...
Introduction à Samsung bada
Prochain SlideShare
Chargement dans…5
×

Introduction à Samsung bada

2 146 vues

Publié le

Présentation du de la 1ère formation à bada dans le cadre du WeekEnd BeMyApp bada.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 146
Sur SlideShare
0
Issues des intégrations
0
Intégrations
19
Actions
Partages
0
Téléchargements
48
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Introduction à Samsung bada

  1. 1. Introduction à l’environnement bada 10/10/2011
  2. 2. Ecosystème
  3. 3. Les produits bada Famille WVGADes smartphones premium pour Famille HVGAutilisateurs intensifs Des smarpthones accessibles pour Famille WQVGAEcran WVGA démocratiser les usagesUI 32 bits & transparences Des smartphones entrée de gamme Ecran HVGA pour tousMultitouch 6 points UI 32 bits & transparencesOpenGL ES 1.1 + 2.0 Ecran WQVGA Multitouch 5 pointsMultiples capteurs UI 16 bits sans transparence OpenGL ES 1.1 + 2.0Connectivité complète Multitouch 2 points Pas de boussole ni tiltHTTP Live Streaming Pas d’OpenGL Connectivité complète Capteurs optionnels HTTP Live Streaming Connectivité complète Pas de Live Streaming
  4. 4. Les sites Web developer.bada.comLe site de référence pour le seller.samsungapps.comdéveloppeur d’application L’interface de gestion des @samsungbada sur TwitterTéléchargement du SDK applications commercialiséesGénération des manifestes Le flux d’information live Guidelines éditeur concernant l’univers badaDocumentation en ligne Soumission des applicationsTutoriels et exemples News développeurs Rapport de testForum de support Alertes sur les nouveaux Marketing des applications articles ou outils disponiblesPremium Support Service sur developer.bada.com Rapports financiersSpécifications des mobiles Questions utilisateurs Support éditeur Au choix : - Utilisation du même compte - Utilisation de comptes développeur / éditeur différents
  5. 5. Outils de développement
  6. 6. Le SDK bada Basé sur Eclipse, l’IDE permet de réaliser toutes les tâches liées au développement : codage, UI, compilation, test sur émulateur ou sur un terminal, debugging et optimisation … UI BuilderUn outil visuel pour créer votre Emulateurinterface graphique Testez vos développements Perf. Analyzer + ProfilerCréation graphique des Forms directement sur votre ordinateurPlacements des contrôles Un outil de monitoring pour Support des trois familles optimiser votre applicationChoix des visuels Emulation des boutonsActions (Events) supportées Sur émulateur ou terminal Event injector :Insertion du code des Events Consommation mémoire - Appels, messages, réseauGénération du XML - Localisation (GPS) Système de fichiers - Capteurs (Proximity, Tilt …) Utilisation base de donnéesPlusieurs résolutions gérées - Système (batterie, casque …) - NFC Différentes vues disponibles Alertes : fuites de mémoire … Temps passé par méthode
  7. 7. Trois bases possibles pour votre application Développement C++Utilisez très simplement toutes les Développement WebAPIs natives de bada Capitalisez sur votre expérience Développement FlashAccès à toutes les APIs des applications WebUI builder WYSIWYG & C++ Intégrez vos créations Flash dans HTML5, CSS, composants UI une application badaGrand choix de composants UI JavaScript + approche Objets Contenu Flash + ActionScript Services du terminal Interaction avec le système accessibles via APIs WAC via APIs dédiées Trois types de développements différents pour que chaque développeur puisse tirer parti de son expérience passée. Des APIs toujours disponibles pour pouvoir utiliser les fonctions et les capteurs du mobile.
  8. 8. Process de développement
  9. 9. Aperçu du process de développement Création du manifeste Développement Test developer.bada.com developer.bada.com developer.bada.com Déclaration des privilèges Option 1 : C++ Sur l’émulateur ou via le RTL Pré-requis HW Option 2 : Flash Sur des terminaux Terminaux cibles Option 3 : Web Profiling / Resource monitor Mise à jourseller.samsungapps.com seller.samsungapps.com seller.samsungapps.com Application commerciale Certification par Samsung Soumission de l’application Suivi des statistiques Sur tous les terminaux cibles Saisie des infos de publication Promotions, bannières Dans tous les pays cibles Choix des pays de diffusion Questions des utilisateurs Rapport de test détaillé Choix du prix
  10. 10. Création du manifeste Création du manifeste Choix du numéro de versiondeveloper.bada.com Déclaration des privilèges Choix de la version d’API cible Pré-requis HW Les différentes versions d’OS sont rétro-compatibles ! Terminaux cibles Choix du type de développement Sélection des groupes de privilèges Sélection des terminaux cibles Certaines APIs requièrent des privilèges Nécessaire pour bada 1.x, géré automatiquement Certains privilèges sont réservés aux pour bada 2.0 développeurs de statut Partner. On peut ajouter ou enlever des privilèges à tout moment, il suffit de régénérer un manifeste. Téléchargement du fichier XML A intégrer au projet dans l’IDE Interdiction formelle de modifier le fichier manuellement, tout changement doit être effectué sur developer.bada.com
  11. 11. Développement Développement Création du projet dans l’IDEdeveloper.bada.com Option 1 : C++ Intégration du manifeste Option 2 : Flash Option 3 : Web Développement C++, Web ou Flash au choix Possibilité de remplacer le manifeste, pour intégrer des privilèges différents par exemple Support Documentation complète dans le SDK Multiples applications de démonstration Ressources en ligne sur developer.bada.com : Exemples de code Tutoriels vidéo Premium Support Service
  12. 12. Test Test Compilationdeveloper.bada.com Sur l’émulateur ou via le RTL Run as > Emulator Sur des terminaux Test immédiat sur émulateur Profiling / Resource monitor Event Injector pour simuler tous les événements systèmes : appels, position gps, accéléromètre … Préparation du terminal Version logicielle adaptée Installation du certificat de test Configuration du port USB et connexion Installation à distance Installation du Test Kit depuis Samsung Apps Configuration du Test Kit sur developer.bada.com Run as > Target Packaging et upload du binaire de test Déploiement OTA sur les terminaux autorisés L’application est installée et exécutée Recette facilitée Les traces sont affichées dans la console Les outils de profiling sont utilisables
  13. 13. Soumission de l’application Packagingseller.samsungapps.com Soumission de l’application Depuis l’IDE, en configuration Target-Release Saisie des infos de publication Choix des pays de diffusion Connexion au Seller Office Choix du prix Avec le compte développeur ou éditeur Edit Application Add New Application Possibilité de modifier la fiche existante Upload d’un nouveau package Création de la fiche Samsung Apps incluant : Mise à jour du manifeste Titre de l’application Même AppID Catégorie Numéro de version supérieur Restriction d’âge éventuelle Prix Description + Tags Icône (identique à celle du menu) Résultat de la certification Captures d’écran Vidéo de présentation (optionnel) De 7 à 10 jours ouvrés Période de vente Application mise en ligne si certification OK Pays cibles Mise à jour nécessaire si certification refusée Terminaux cibles Guidelines disponibles via le Seller Office
  14. 14. Certification par Samsung Soumission de l’applicationseller.samsungapps.com Certification par Samsung Sur tous les terminaux cibles Certification du contenu Dans tous les pays cibles Vérification du contenu sans test technique Rapport de test détaillé Guidelines disponibles via le Seller Office Pas de jeux d’argent Catégorie d’âge correcte Disclaimers (Push, Localisation…) Copyright de marques Facturation via Samsung Apps uniquement  Etc Vérification du fonctionnement Dans tous les pays cibles Sur tous les terminaux cibles Disponibilité des contenus en ligne (compte ?) Gestion des interruptions Rapport de test Respect du cycle de vie De 7 à 10 jours ouvrés Dans tous les cas un rapport est édité Deux types de retours : Defects : à corriger impérativement Recommandations : avertissements
  15. 15. Application commerciale Application mise en ligneseller.samsungapps.com Application commerciale Suivi des statistiques Consultation des statistiques Promotions, bannières Nombre de téléchargements Questions des utilisateurs Bilan financier Upload de bannières Elles pourront être utilisées par Samsung pour promouvoir l’application : Promotions Dans Samsung Apps sur les mobiles Dans Samsung Apps sur le web Possibilité de changer temporairement le prix Dans Samsung Apps sur Kies d’une application L’ancien prix apparait barré pour montrer le caractère exceptionnel de la promotion Mises en avant exceptionnelles Intégration de l’application dans les listes des apps recommandées (première page de Samsung Apps) A négocier au cas par cas avec Samsung France
  16. 16. Cycle de vie d’une applicationdans le mobile
  17. 17. Les étapes du cycle de vie d’une application Lancement Splash Screen Initialisation OnAppInitializing() Disparition du Splash Screen Retour au premier plan OnForeground() OnBackground() Fonctionnement Utilisation - Appui sur la touche HOME (*) - Appui sur la touche END - Affichage d’un pop-up système - Autre application au premier plan OnAppTerminating() Manque de ressources système Libération des ressources Arrêt(*) Sous bada 2.0, les applications quine sont pas déclarées ‘multitâche’ sontautomatiquement arrêtées quand uneautre application bada est lancée.
  18. 18. Gestion des ressources OnAppInitializing() Allocation OnForeground()La méthode principale pour mettre La méthode qui remet en route uneen route votre application application mise en arrière plan Allocation de la mémoire Restauration de la UI Création du Frame de base Relance des connectivités Chargement du registre Relance des traitements OnAppTerminating() Libération OnBackground()La méthode en charge de l’arrêt de La méthode qui prépare unel’application Les éléments graphiques (Frame, Form et application à passer en arrière plan tous les objets associés) sont détruits Destruction de la UI avant l’appel de cette méthode, le Destruction de la UI Libération des ressources développeur n’a pas à s’en soucier. Arrêt des connectivités Sauvegarde dans le registre Arrêt des traitements Charge au développeur de déterminer quels traitements doivent être arrêtés ou maintenus quand l’application passe en arrière plan.
  19. 19. Système de fichiers
  20. 20. Système de fichiers /Home Répertoire racine de l’application (RW) /Home/Share Répertoire partagé avec d’autre apps (RW) /Home/Share2 Répertoire partagé avec les apps de confiance (RW)Application /HomeExt Répertoire de l’application sur carte externe (RW) /HomeExt/Share Répertoire partagé sur carte externe avec d’autre apps (RW) /HomeExt/Share2 Répertoire partagé sur carte externe avec les apps de confiance (RW) /Res Répertoire des ressources graphiques du package (RO) /Media Répertoire des fichiers multimédia (RW) /StorageCard/Media Répertoire des fichiers multimédia sur carte externe(RW) /Share/<AppID> Répertoire partagé d’une autre application (RO)Terminal /Share2/<AppID> Répertoire partagé d’une application de confiance (RW) /ShareExt/<AppID> Répertoire partagé sur carte externe d’une autre application (RO) /Share2Ext/<AppID> Répertoire partagé sur carte externe d’une app de confiance (RW) /Clipboard Contenu du presse papier pour les copier/coller de fichiers (RO)
  21. 21. Les APIs et leur documentation
  22. 22. La documentation Namespace Des Namespaces par thème pour plus de clarté Introduit dans la version d’API Pour utiliser des APIs adaptées aux terminaux cibles Niveau et groupe de privilèges Permet de savoir : Si une déclaration dans le manifeste est requise Quel groupe de privilèges doit être coché Description de l’API Tout ce qu’il faut savoir pour l’implémenter
  23. 23. Les privilèges SystemDes fonctions réservées aux Normaldéveloppeurs partenaires Des APIs puissantes nécessitant des Non-privilegedQuelques APIs puissantes privilèges particuliersAutorisation de Samsung Des APIs courantes utilisables sans Connectivité, Capteurs, FS …requise avant déclaration dans conditionle manifeste Ouvert à tous, sous réserve de La majorité des API déclaration dans le manifeste Pas de déclaration dans le manifeste requise La documentation précise le niveau de privilège et, le cas échéant, le groupe de privilèges requis pour chaque API. Le SDK propose un outil pour vérifier que le manifeste inclus les privilèges requis pour autoriser les APIs utilisées dans le code. Il faut éviter d’inclure des privilèges inutiles dans le manifeste pour simplifier la certification ultérieure de l’application.
  24. 24. Trois concepts importants Pas d’ExceptionsLe mécanisme des Exceptions n’est Construction en deux phasespas supporté par bada Les objets doivent se construire en Appartenance des objetsAucun support des Exceptions deux phases pour éviter les fuitesA la place : Tout objet n’a qu’un propriétaire Le constructeur n’alloue rienRenvoi d’un Result qui doit libérer les ressoucesUtilisation de SetLastResult() Allocation déportée dans Un propriétaire par objetet GetLastResult() la méthode Construct() Transmission de propriété Son Result indique la résultat de la construction Méthodes en xN : L’appelant est propriétaire du résultat et doit donc le détruire en temps voulu
  25. 25. Quelques Namespaces remarquables
  26. 26. Osp::Ads Configuration du service Adsdeveloper.bada.com Paramétrage des publicités sur Regroupe les APIs permettant developer.bada.com d’utiliser le service de > Home publicité intégré au SDK bada > My Applications > Application Manager Setup Component Gestion du compte (reports, etc) Intégration du service dans le code Utilisation des APIs pour récupérer des publicités Possibilité de déclencher l’ouverture d’une page web, l’appel d’un numéro ou l’ouverture de Samsung Apps en cliquant sur la bannière
  27. 27. Osp::App System Events Osp::Appdeveloper.bada.com Récupération des événements systèmes et Tout pour contrôler son matériel (batterie, réseau …) afin de pouvoir y application et la faire interagir répondre avec le terminal et les autres applications AppRegistry Un registre permettant de sauvegarder l’état de l’application et de le restaurer à l’exécution suivante AppResource Récupérer automatiquement les chaines de caractères en fonction de la langue du mobile AppManager Récupérer automatiquement les bonnes Programmer l’exécution de l’application en ressources graphiques en fonction de la résolution fonction de l’heure ou d’événements système de l’écran AppControl Pour exporter les services de l’application afin que les autres applications puissent en tirer parti Comparable aux Intents Android
  28. 28. Osp::Commerce Osp::Commerce Configuration du servicedeveloper.bada.com Samsung Apps gère la vente Définition des articles et de leur prix via le Seller d’articles ou de services Office depuis votre application Organisation des articles en groupe pour gérer aisément plusieurs applications Mode Test pour faciliter le développement Intégration du service dans le code Récupération de la liste des articles en vente Gestion de la transaction Samsung Apps prend en charge la facturation
  29. 29. Osp::Locations Osp::Location Location Service Providerdeveloper.bada.com Des outils de géolocalisation Récupération de cartes (Navteq) et de cartographie pour tous Geocoding les usages Calcul d’itinéraires Service d’annuaire Les services Navteq n’ont aucun caractère obligatoire On peut donc utiliser d’autres fournisseurs Les services Navteq sont régis par des conditions d’utilisation définies sur le Seller Location Provider Office Outil de récupération d’une position GeoFencing Entièrement paramétrable : fréquence, moyen… Map Control Divers outils pour afficher des cartes, gérer différentes couches et placer des points d’intérêt
  30. 30. Osp::Media AudioIn & AudioOut Osp::Mediadeveloper.bada.com Lecture et enregistrement audio De multiples outils pour le multimedia : Streaming, AudioEncoder & AudioDecoder manipulation d’images, conversion audio, caméra … Outils de conversion Raw <> Format compressé VideoEncoder & VideoDecoder Outils de conversion Raw <> Format compressé Player Lecteur multimédia complet incluant le Streaming Camera Utilisation de l’appareil photo du terminal AudioRecorder & VideoRecorder Utilisation de la caméra et du micro du terminal
  31. 31. Osp::Messaging Osp::Messagingdeveloper.bada.com SMS Pour utiliser les différentes Envoi / Réception de SMS depuis l’application messageries du téléphone, mais aussi le service de notifications Push MMS Envoi de MMS depuis l’application Email Envoi de mails depuis l’application PushManager Réception de notifications Push sur le terminal Réception possible : De messages De badges (incrément ou valeur absolue)
  32. 32. Et les incontournables … Osp::Basedeveloper.bada.com Osp::Content developer.bada.com Les outils clé pour gérer les Osp::Graphics developer.bada.com types de données, les threads Tout pour gérer les contenus et autres outils de base du multimédia et leurs Les outils de base pour toutes développeur métadonnées dans la gallerie les représentations graphiques du mobile y compris OpenGL Osp::Io developer.bada.com Osp::Locales Les outils classiques pour developer.bada.com Osp::Net developer.bada.com gérer les entrées / sorties vers Rendez votre application des fichiers, le registre ou internationale en adaptant la Tirez parti des capacités de encore une base de données langue ou les préférences communication du mobile : locales (format de date, etc) HTTP, Sockets, Bluetooth, WiFi, WiFi Direct, NFC Osp::Security developer.bada.com Osp::Social developer.bada.com Divers outils de chiffrement et de protection basés sur Des APIs permettant de se l’utilisation de clés ou de connecter simplement aux nombres pseudo-aléatoires principaux réseaux sociaux
  33. 33. Et les incontournables … Osp::Systemdeveloper.bada.com Osp::Telephony developer.bada.com Toutes les ressources pour Osp::Text developer.bada.com connaitre l’état du mobile, Des outils pour gérer les gérer au mieux la batterie et appels ou être notifié des Tout pour décoder ou interagir avec ses accessoires changements liés au réseau convertir du texte encodé selon différentes tables de caractères Osp::Ui developer.bada.com Osp::Uix Comprend tous les outils pour developer.bada.com Osp::Web developer.bada.com utiliser les contrôles UI Des interactions avancées : standards de la plateforme reconnaissance de visages, Pour afficher des pages web TTS/STT, accès direct capteurs, dans l’application ou traiter les haptic feedback, météo données JSON Osp::Xml developer.bada.com Pour manipuler ou parcourir les fichiers XML ou HTML
  34. 34. Architecture de l’interface utilisateur
  35. 35. Architecture de l’interface utilisateur Un Frame unique par application Plusieurs FormsTous liés au Frame de baseA tout instant un seul Form est visible Plusieurs Controls par FormChaque Control est lié à un Form ou un ContainerLe positionnement doit se faire de façon relativepour s’adapter aux différentes résolutionsDes Listeners pour les événementsDifférents Listeners permettent d’être alerté quandl’utilisateur manipule la UI
  36. 36. Les Listeners
  37. 37. Les Listeners Création d’un objet Control UI, SensorManager, etc Création d’un Listener Des alertes asynchrones Sous la forme d’Interfaces à implémenter Disponibles pour tous les objets renvoyant des Ajout du Listener à l’objet résultats asynchrones : UI, capteurs, événements système, etc Event Appel d’une méthode du Listener Un Listener comporte plusieurs méthodes Une méthode différente est appelée selon l’Event Attention à ne pas exécuter de code lourd dans les Charge au développeur d’implémenter le Listeners afin de garder une interface réactive ! comportement voulu pour chaque méthode

×