**IMPORTANT NOTE**: //This page has been generated from a Markdown file located on https://github.com/automotive-grade-linux/docs-agl. Please edit the source document for any modification.// ====== AGL Application Framework ====== This page summarizes all materials related to AGL Application Framework ===== Source Code ===== The current code of AGL App-Framework is stored on AGL Code Repository. It's divided in the following projects: * [[https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-main.git;a=summary|src/app-framework-main]] Main services * [[https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-binder.git;a=summary|src/app-framework-binder]]: Binder Daemon * [[https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-demo.git;a=summary|src/app-framework-demo]] Demos ===== Building AGL with Application Framework support ===== The Application Framework can be added easily to an AGL build using the feature 'agl-appfw-smack'. Typically, the following command can be called to initialize AGL build: # meta-agl/scripts/aglsetup.sh -m porter agl-appfw-smack agl-demo agl-devel ... # bitbake agl-demo-platform ===== Documentation ===== Technical documentation is maintained in the source code and should be browsable with the [[https://github.com/automotive-grade-linux/docs-agl|upcoming AGL documentation system]] Temporarily, a static documentation has been made in PDF format: * [[http://iot.bzh/download/public/2016/appfw/01_Introduction-to-AppFW-for-AGL-1.0.pdf|Introduction to Application Framework]] * [[http://iot.bzh/download/public/2016/appfw/02_Documentation-AppFW-Core-2.0.pdf|AppFW Core Documentation]] * [[http://iot.bzh/download/public/2016/appfw/03-AGL-AppFW-Privileges-Management.pdf|Privileges Management]] Some extra guides are also available in PDF format: * [[http://iot.bzh/download/public/2016/sdk/AGL-Devkit-Build-your-1st-AGL-Application.pdf|Build your 1st AGL Application]] * Applications Templates are available on [[https://github.com/iotbzh/app-framework-templates|github:iotbzh/app-framework-templates]] ==== Bindings Examples ==== Some bindings are available to quickstart new projects: * GPS - see [[https://github.com/iotbzh/af-gps-binding/blob/master/src/af-gps-binding.c|github:iotbzh/af-gps-binding]] * OpenXC Reader - see [[https://github.com/iotbzh/txc-demo/blob/master/binding/txc-binding.c|github:iotbzh/txc-demo]] * CPU/Memory stats - see [[https://github.com/iotbzh/txc-demo/blob/master/binding/stat-binding.c|github:iotbzh/txc-demo]] * Radio - see [[https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/app-framework-binder.git;a=tree;f=bindings/radio;hb=master|gerrit:src/app-framework-binder]] * Audio - see [[https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/app-framework-binder.git;a=tree;f=bindings/audio;hb=master|gerrit:src/app-framework-binder]] The list is not exhaustive. **//Please add other bindings here !//** ==== Demos ==== * Simple HTML5 Demos apps (ported from Tizen) on [[https://github.com/iotbzh/afm-widget-examples|github:iotbzh/afm-widget-examples]] * Installable package with [[http://iot.bzh/download/public/2016/afb-demos/txc-demo_0.1.wgt|TXC Demo Application]] * Applications available in [[https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/app-framework-demo.git;a=summary|gerrit:app-framework-demo]] ===== Presentations ===== * Oct 16 - [[http://iot.bzh/download/public/2016/genivi/CyberSecurity-Genivi-Q42016-Fulup-IoTbzh.pdf|Application Security Model - Status Update]] * Sept 16 - [[http://iot.bzh/download/public/2016/genivi/CyberSecurity-Genivi-Q42016-Fulup-IoTbzh.pdf|Building Applications with AGL Framework]] - Also visible in [[http://iot.bzh/download/public/2016/publications/build-agl-application-AMM-Munich-2016.pdf|PDF version]] * Feb 16 - [[http://iot.bzh/download/public/2016/publications/HTML5_Applications_for_Automotive_Systems.pdf|HTML5 Apps for Automotive Systems]] * Feb 16 - [[http://iot.bzh/download/public/2016/security/Security-Proposal-AGL20-Fulup.pdf|Application & Security Framework Proposal AGL 2.0]] * Jan 16 - [[http://iot.bzh/download/public/2016/security/Security-Architecture-AGL20.pdf|Security Architecture Proposal]] ===== History ===== ==== Motivation for rewriting the App. Framework ==== To get the background and motivation on why Application Framework has been rewritten: * [[http://iot.bzh/download/public/2015/tizen-security-lessons-learnt-initial.pdf|Tizen Security: lessons learnt]] * [[https://lists.linuxfoundation.org/pipermail/automotive-discussions/2016-October/002749.html|this discussion]] * [[http://iot.bzh/download/public/2016/security/Linux-Automotive-Security-v10.pdf|Linux Automotive Security]] ==== Comparison/Relationship with Tizen ==== Tizen AGL ---------------------------------- App/OS isolation yes yes Container option no possible Native App partial* yes HTML5 App yes yes Cloud App No yes Unified API (HTLM/Native) No yes service as App** No yes Adding API *** core core or App Devel model bespoke Standard Web