SlideShare une entreprise Scribd logo
1  sur  34
EDA

Epsilon Mobile
Outline
   What is EDA ?
   3 Tiers model
   Tier 1
   Tier 2
   Tier 3
   Practice
What is EDA
   Epsilon data format for digital publishing.
   We use them to represent the digital data:
    book, comic, magazine, …

   Anything else ?

   Motion
    Comic, Brochure, Menu, Animation, Diagram, Fin
    ance report, Survey, …
   And much much more …
Principle
   It’s designed based on the idea that every
    business object can be represent as a
    tree of other objects.

Example:
 a magazine will contains many pages,
 each page will contain one or many articles,
 each articles in turn will contain many widget:
 slideshow, text, title, …
3 Tiers
                                        •   EDA MAGAZINE
                                        •   EDA COMIC
                                        •   EDA BOOK

          Tier 3                        •
                                        •
                                        •
                                            EDA Survey
                                            EDA Finance
                                            EDA Motion Comic


                            •   EDA GUI
                            •   EDA Animation
                            •   EDA Action

          Tier 2            •
                            •
                            •
                                EDA Data
                                Eda OpenGL
                                EDA Physic
                            •   EDA 3D GUI

                   • EDA Base

           Tier
            1
Tier 1
EDANode
   One node will contain two parts:
       Its properties and its children


   Node will be identified by id, tags and type.
   Node will have many states
   Each states will contain its own attributes
    For example: landscape, portrait, …
    Any attributes which wasn’t declared in one state, it’s
      contained in state default
Node’s structure
   <node type="EDANode“ id=“content” tags=“photo”>
       <dict>
           <key>rect</key>
           <string>{{0,0},{768,1024}}</string>
           <key>URI</key>
           <string>1.png</string>
           <key>autoresizingMasks</key>
           <integer>63</integer>
       </dict>
       <node>
           // put children’s declaring here
       </node>
   </node>
Node’s state
   <node type="EDAImage">
       <dict>
           <key>rect</key>
           <string>{{0,0},{768,1024}}</string>
           <key>URI</key>
           <string>1.png</string>
           <key>states</key>
           <dict>
               <key>landscape</key>
               <dict>
                   <key>URI</key>
                   <string>No.png</string>
                   <key>rect</key>
                   <string>{{0,0},{1024,768}}</string>
               </dict>
           </dict>
       </dict>
Node ref
   If we declared a magazine with 200 pages. It’ll consume too much
    memory.
   That’s why we use node-ref

   <node type="EDANode“ id=“content” tags=“photo”>
       <dict/>

       <node-ref type="EDAView" URI="page0.xml" storageMode="readonly"/>
       <node-ref type="EDAView" URI="page1.xml" storageMode="readonly"/>
       <node-ref type="EDAView" URI="page2.xml" storageMode="readonly"/>
   </node>
Tier 2
   EDAGUI
   EDAAnimation
   EDAAction
   EDA3DObject
   EDAOpenGL
   EDACanvas
EDAGUI
EDAView
   autoresizingMasks
   rect
    Name                                    Value

    kEDAAutoresizingMaskNone                0
    kEDAAutoresizingMaskFlexibleWidth       1

    kEDAAutoresizingMaskFlexibleHeight      2

    kEDAAutoresizingMaskFixedLeftMargin     4

    kEDAAutoresizingMaskFixedRightMargin    8

    kEDAAutoresizingMaskFixedTopMargin      16

    kEDAAutoresizingMaskFixedBottomMargin   32
EDAView (cont)
   One view can have many renderer which can be
    used separately for each purpose
   By default, one view will have a render which named
    by adding “-Renderer” to its class.
   For example, EDAScrollPage will have
    EDAScrollPageRenderer as its default renderer.
EDAView
   <dict>
       <key>rect</key>
       <string>{{0,0},{768,1024}}</string>
       <key>URI</key>
       <string>1.png</string>
       <key>autoresizingMasks</key>
       <integer>63</integer>
   </dict>
EDAView’s children
   EDAImage
   EDAScrollPage
   EDABackgroundMusic
EDAScrollPage
   Can scroll vertically or horizontally.
   Will cached one or many pages based on the
    configuration.
EDAAnimation
EDASprite
   Run images frame by frame.
   Properties:
       rect
       frames: array of images name
       duration: time-intervale between frames
<node type="EDASprite">
    <dict>
         <key>rect</key>
         <string>{{100,100},{50,50}}</string>
         <key>name</key>
         <string>ninja</string>
         <key>frames</key>
         <array>
                  <string>frame-0.png</string>
         </array>
         <key>states</key>
                  <dict>
                  <key>shoot</key>
                            <dict>
                            <key>duration</key>
                            <real>1.0</real>
                            <key>frames</key>
                            <array>
                                     <string>frame-0.png</string>
                                     <string>frame-1.png</string>
EDATransformAnimation
   Points using unit vector (0,1) instead of absolute
    vector.
       fromPoint -> toPoint
       fromScale->toScale
       fromRotation->toRotation
       fromAlpha->toAlpha
       recursives
       count
       duration
EDAAnimation
   Think of it as a view which animation applied up-on.
   Can contains any EDAView inside.
EDATransformToAnimation
   There’s no “from”. Just animate using the current
    attributes.

   <key>toPoint</key>
   <string>{0.4013020833,0.814453125}</string>
   <key>toAlpha</key>
   <real>0.8</real>
   <key>toScale</key>
   <real>1</real>
EDASequenceAnimation
   Play animation, one by one.
   Every sub-animation will be represent as this node’s
    children, and has tag animation
   Can contains one and only one content node which
    has id content
Tier 3
   EDAComic
   EDAMagazine
   EDABook
   EDASurvey
   EDAFinance
   EDAMotionComic
EDAComic
EDAMagazine
EDABook
EDA package
   Is an archive which contains many files
/
-- list.xml   EDA Package
-- main.xml   main.xml
-- 1.jpg      the starting point for each
              package. It’ll contain the
-- 1.xml      root node.
-- 1-1.mp3
              list.xml
-- 1-2.mp4
              contain the required
-- 2.jpg      information for transfering
-- 2.xml      one package from server
              to client.
-- 2-1.png
-- 2-2.jpg
-- 3.xml
-- ...
List file
   <eda>
            <group>
                       <key>LDFSK?</key>
                       < path >meta.zip</ path >

                       <file>
                                    <key>FAGDSDF</key>
                                    <path>main.xml</ path >
                       </file>
                       <file>
                                    <key>FASDFWEQ</key>
                                    < path >0.xml</ path >
                       </file>
                       ...
            </group>
            <file>
                       <key>FKD!S?F</key>
                       < path >0.jpg</ path >
            </file>
            ...
   </eda>
Practice
   Create a multi page scrolling
       Example 1:
           a static image as background
           Another image on top
           Different background for portrait and landscape
       Example 2:
           Sprite
       Example 3:
           A ball appear using animation
           Background sound
       Example 4:
           Multi-scroll page for comic
QA
Thank you

Contenu connexe

En vedette

Attachment report Victor
Attachment report VictorAttachment report Victor
Attachment report VictorNg'eno Victor
 
Field attachment report (alie chibwe)
Field attachment report (alie chibwe)Field attachment report (alie chibwe)
Field attachment report (alie chibwe)AlieChibwe
 
Summer internship project report
Summer internship project reportSummer internship project report
Summer internship project reportManish Singh
 

En vedette (6)

Attachment report Victor
Attachment report VictorAttachment report Victor
Attachment report Victor
 
INTERNSHIP REPORT
INTERNSHIP REPORTINTERNSHIP REPORT
INTERNSHIP REPORT
 
Attachment report
Attachment report Attachment report
Attachment report
 
Field attachment report (alie chibwe)
Field attachment report (alie chibwe)Field attachment report (alie chibwe)
Field attachment report (alie chibwe)
 
Industrial Training Report-1
Industrial Training Report-1Industrial Training Report-1
Industrial Training Report-1
 
Summer internship project report
Summer internship project reportSummer internship project report
Summer internship project report
 

Similaire à Internal training - Eda

Microformats, Institute of Engineering and Technology
Microformats, Institute of Engineering and TechnologyMicroformats, Institute of Engineering and Technology
Microformats, Institute of Engineering and TechnologyNishikant Taksande
 
Building Windows 8 Apps with Windows Azure
Building Windows 8 Apps with Windows AzureBuilding Windows 8 Apps with Windows Azure
Building Windows 8 Apps with Windows AzureSupote Phunsakul
 
Scala Frustrations
Scala FrustrationsScala Frustrations
Scala Frustrationstakezoe
 
Big Data processing with Spark, Scala or Java?
Big Data processing with Spark, Scala or Java?Big Data processing with Spark, Scala or Java?
Big Data processing with Spark, Scala or Java?Erik-Berndt Scheper
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)Igor Bronovskyy
 
Iphone and Ipad development Game with Cocos2D
Iphone and Ipad development Game with Cocos2DIphone and Ipad development Game with Cocos2D
Iphone and Ipad development Game with Cocos2Dcreagamers
 
Security Research2.0 - FIT 2008
Security Research2.0 - FIT 2008Security Research2.0 - FIT 2008
Security Research2.0 - FIT 2008Raffael Marty
 
Ruby on Rails: Coding Guideline
Ruby on Rails: Coding GuidelineRuby on Rails: Coding Guideline
Ruby on Rails: Coding GuidelineNascenia IT
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup PerformanceJustin Cataldo
 
Positive Technologies - S4 - Scada under x-rays
Positive Technologies - S4 - Scada under x-raysPositive Technologies - S4 - Scada under x-rays
Positive Technologies - S4 - Scada under x-raysqqlan
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS IntrodructionDavid Ličen
 
Learn D3.js in 90 minutes
Learn D3.js in 90 minutesLearn D3.js in 90 minutes
Learn D3.js in 90 minutesJos Dirksen
 
HTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreHTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreRemy Sharp
 
Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...
Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...
Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...Skilld
 
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...DataWorks Summit
 
MPhil Lecture of Data Vis for Presentation
MPhil Lecture of Data Vis for PresentationMPhil Lecture of Data Vis for Presentation
MPhil Lecture of Data Vis for PresentationShawn Day
 

Similaire à Internal training - Eda (20)

Microformats, Institute of Engineering and Technology
Microformats, Institute of Engineering and TechnologyMicroformats, Institute of Engineering and Technology
Microformats, Institute of Engineering and Technology
 
Html5
Html5Html5
Html5
 
Building Windows 8 Apps with Windows Azure
Building Windows 8 Apps with Windows AzureBuilding Windows 8 Apps with Windows Azure
Building Windows 8 Apps with Windows Azure
 
Scala Frustrations
Scala FrustrationsScala Frustrations
Scala Frustrations
 
Big Data processing with Spark, Scala or Java?
Big Data processing with Spark, Scala or Java?Big Data processing with Spark, Scala or Java?
Big Data processing with Spark, Scala or Java?
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
 
Iphone and Ipad development Game with Cocos2D
Iphone and Ipad development Game with Cocos2DIphone and Ipad development Game with Cocos2D
Iphone and Ipad development Game with Cocos2D
 
Security Research2.0 - FIT 2008
Security Research2.0 - FIT 2008Security Research2.0 - FIT 2008
Security Research2.0 - FIT 2008
 
Ruby on Rails: Coding Guideline
Ruby on Rails: Coding GuidelineRuby on Rails: Coding Guideline
Ruby on Rails: Coding Guideline
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
 
Please dont touch-3.6-jsday
Please dont touch-3.6-jsdayPlease dont touch-3.6-jsday
Please dont touch-3.6-jsday
 
Nick harris-sic-2011
Nick harris-sic-2011Nick harris-sic-2011
Nick harris-sic-2011
 
Positive Technologies - S4 - Scada under x-rays
Positive Technologies - S4 - Scada under x-raysPositive Technologies - S4 - Scada under x-rays
Positive Technologies - S4 - Scada under x-rays
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS Introdruction
 
Learn D3.js in 90 minutes
Learn D3.js in 90 minutesLearn D3.js in 90 minutes
Learn D3.js in 90 minutes
 
前端概述
前端概述前端概述
前端概述
 
HTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreHTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymore
 
Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...
Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...
Build tons of multi-device JavaScript applications - Part 1 : Boilerplate, de...
 
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...
 
MPhil Lecture of Data Vis for Presentation
MPhil Lecture of Data Vis for PresentationMPhil Lecture of Data Vis for Presentation
MPhil Lecture of Data Vis for Presentation
 

Dernier

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 

Dernier (20)

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 

Internal training - Eda

  • 2. Outline  What is EDA ?  3 Tiers model  Tier 1  Tier 2  Tier 3  Practice
  • 3. What is EDA  Epsilon data format for digital publishing.  We use them to represent the digital data: book, comic, magazine, …  Anything else ?  Motion Comic, Brochure, Menu, Animation, Diagram, Fin ance report, Survey, …  And much much more …
  • 4. Principle  It’s designed based on the idea that every business object can be represent as a tree of other objects. Example: a magazine will contains many pages, each page will contain one or many articles, each articles in turn will contain many widget: slideshow, text, title, …
  • 5. 3 Tiers • EDA MAGAZINE • EDA COMIC • EDA BOOK Tier 3 • • • EDA Survey EDA Finance EDA Motion Comic • EDA GUI • EDA Animation • EDA Action Tier 2 • • • EDA Data Eda OpenGL EDA Physic • EDA 3D GUI • EDA Base Tier 1
  • 7. EDANode  One node will contain two parts:  Its properties and its children  Node will be identified by id, tags and type.  Node will have many states  Each states will contain its own attributes For example: landscape, portrait, … Any attributes which wasn’t declared in one state, it’s contained in state default
  • 8. Node’s structure  <node type="EDANode“ id=“content” tags=“photo”>  <dict>  <key>rect</key>  <string>{{0,0},{768,1024}}</string>  <key>URI</key>  <string>1.png</string>  <key>autoresizingMasks</key>  <integer>63</integer>  </dict>  <node>  // put children’s declaring here  </node>  </node>
  • 9. Node’s state  <node type="EDAImage">  <dict>  <key>rect</key>  <string>{{0,0},{768,1024}}</string>  <key>URI</key>  <string>1.png</string>  <key>states</key>  <dict>  <key>landscape</key>  <dict>  <key>URI</key>  <string>No.png</string>  <key>rect</key>  <string>{{0,0},{1024,768}}</string>  </dict>  </dict>  </dict>
  • 10. Node ref  If we declared a magazine with 200 pages. It’ll consume too much memory.  That’s why we use node-ref  <node type="EDANode“ id=“content” tags=“photo”>  <dict/>  <node-ref type="EDAView" URI="page0.xml" storageMode="readonly"/>  <node-ref type="EDAView" URI="page1.xml" storageMode="readonly"/>  <node-ref type="EDAView" URI="page2.xml" storageMode="readonly"/>  </node>
  • 11. Tier 2  EDAGUI  EDAAnimation  EDAAction  EDA3DObject  EDAOpenGL  EDACanvas
  • 13. EDAView  autoresizingMasks  rect Name Value kEDAAutoresizingMaskNone 0 kEDAAutoresizingMaskFlexibleWidth 1 kEDAAutoresizingMaskFlexibleHeight 2 kEDAAutoresizingMaskFixedLeftMargin 4 kEDAAutoresizingMaskFixedRightMargin 8 kEDAAutoresizingMaskFixedTopMargin 16 kEDAAutoresizingMaskFixedBottomMargin 32
  • 14. EDAView (cont)  One view can have many renderer which can be used separately for each purpose  By default, one view will have a render which named by adding “-Renderer” to its class.  For example, EDAScrollPage will have EDAScrollPageRenderer as its default renderer.
  • 15. EDAView  <dict>  <key>rect</key>  <string>{{0,0},{768,1024}}</string>  <key>URI</key>  <string>1.png</string>  <key>autoresizingMasks</key>  <integer>63</integer>  </dict>
  • 16. EDAView’s children  EDAImage  EDAScrollPage  EDABackgroundMusic
  • 17. EDAScrollPage  Can scroll vertically or horizontally.  Will cached one or many pages based on the configuration.
  • 19. EDASprite  Run images frame by frame.  Properties:  rect  frames: array of images name  duration: time-intervale between frames
  • 20. <node type="EDASprite"> <dict> <key>rect</key> <string>{{100,100},{50,50}}</string> <key>name</key> <string>ninja</string> <key>frames</key> <array> <string>frame-0.png</string> </array> <key>states</key> <dict> <key>shoot</key> <dict> <key>duration</key> <real>1.0</real> <key>frames</key> <array> <string>frame-0.png</string> <string>frame-1.png</string>
  • 21. EDATransformAnimation  Points using unit vector (0,1) instead of absolute vector.  fromPoint -> toPoint  fromScale->toScale  fromRotation->toRotation  fromAlpha->toAlpha  recursives  count  duration
  • 22. EDAAnimation  Think of it as a view which animation applied up-on.  Can contains any EDAView inside.
  • 23. EDATransformToAnimation  There’s no “from”. Just animate using the current attributes.  <key>toPoint</key>  <string>{0.4013020833,0.814453125}</string>  <key>toAlpha</key>  <real>0.8</real>  <key>toScale</key>  <real>1</real>
  • 24. EDASequenceAnimation  Play animation, one by one.  Every sub-animation will be represent as this node’s children, and has tag animation  Can contains one and only one content node which has id content
  • 25. Tier 3  EDAComic  EDAMagazine  EDABook  EDASurvey  EDAFinance  EDAMotionComic
  • 29. EDA package  Is an archive which contains many files
  • 30. / -- list.xml EDA Package -- main.xml main.xml -- 1.jpg the starting point for each package. It’ll contain the -- 1.xml root node. -- 1-1.mp3 list.xml -- 1-2.mp4 contain the required -- 2.jpg information for transfering -- 2.xml one package from server to client. -- 2-1.png -- 2-2.jpg -- 3.xml -- ...
  • 31. List file  <eda>  <group>  <key>LDFSK?</key>  < path >meta.zip</ path >   <file>  <key>FAGDSDF</key>  <path>main.xml</ path >  </file>  <file>  <key>FASDFWEQ</key>  < path >0.xml</ path >  </file>  ...  </group>  <file>  <key>FKD!S?F</key>  < path >0.jpg</ path >  </file>  ...  </eda>
  • 32. Practice  Create a multi page scrolling  Example 1:  a static image as background  Another image on top  Different background for portrait and landscape  Example 2:  Sprite  Example 3:  A ball appear using animation  Background sound  Example 4:  Multi-scroll page for comic
  • 33. QA