SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

Destacado

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
 

Destacado (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
 

Similar a 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
 

Similar a 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
 

Último

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Último (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

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