SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Workflow Guideline
Overview

•   Principle

•   Design in Flash

•   Export Assets for Development

•   Develop in FDT
Principle

好的流程应该做到:


• 表现层(视图)与应用层(逻辑)分离。
• 设计过程与开发过程可以独立地进行。
• 便于排错与测试。
Project Folder Structure



/bin          发布目录
/build        用于Ant发布的模板文件
build.xml
/fla          Flash源文件
/lib          SWC类库和资源
/src          ActionScript文件
Design in Flash
•   Animation

•   Visual asset

•   Component skin
Design in Flash




  类绑定
Design in Flash

•   尽可能少地在时间线上放置代码。

•   不要调用程序对象,而是发出事件。

    dispatchEvent(new Event(Event.COMPLETE));
Export Assets for Development
•   SWC
•   SWF
SWC
•   SWC文件包含各种资源(MC,Graphic,Sound…),
    和编译过的ActionScript代码。

•   SWC通常用于打包组件和类库。

•   Flash和Flex/FDT都可以导出SWC。
SWF vs. SWC

       SWF                 SWC

运行时加载,资源更新无需重新编译   资源编译到最终文件。
主文件。

需要额外的代码提供加载和提取类型   强类型,方便代码提示和排错。
定义功能。
Export SWC in Flash

        为ActionScript导出元件:



              将SWF中的资源统一导出到assets包。

              使用_mc等后缀标识,把ActionScript
               类和在Flash中导出的资源区分开。
Export SWC in Flash
          在发布面板里导出SWC。
Export SWC in Flash
          我们还可以在库面板里对
          单独的元件导出SWC。

          这种方式用于制作组件。
          导出的SWC自动引入了一
          个文档类(实现组件预览
          功能):

          fl.livepreview.LivePreviewParent
Export SWC in Flash
•   两种方式都会把所有包含“第一帧导出”选项的元
    件导出。
•   在工作流中我们使用第一种方式导出SWC。
•   使用FDT内置的文件浏览器可以直接查看SWC的资源
    结构。

       Flash在导出SWC的时候不会导出嵌套的脚本资源。如果内层MC包含了
       代码,也需要设置为导出。
Develop in FDT
•   API
•   Component
•   Model/Service
•   Mediator/Page/View
•   Debug
•   Testing
Use SWC
Use SWF
API Overview
•   Gaia Flash Framework (SWFAddress, SWFWheel,
    Greensock Tween, MonsterDebugger included)
    http://www.gaiaflashframework.com/


•   AS3 Signals
    http://github.com/robertpenner/as3-signals


•   Robotlegs
    http://www.robotlegs.org/
Testing




  测试用的ActionScript文件
The Good
•   实现了设计和开发的工作完全独立进行。
•   更好的利用了FDT的代码编辑功能。
•   方便排错与测试。
The Bad
•   只有程序员可以编译最终的文件,设计师没办法直
    观的看到最终效果。


           The Solution
•   开发组件供设计师使用。
•   额外提供一个基于Flash编译的测试环境,进行不同
    的单元测试。

Más contenido relacionado

La actualidad más candente

JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)
JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)
JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)Will Huang
 
Clipper@datacon.2019.tw
Clipper@datacon.2019.twClipper@datacon.2019.tw
Clipper@datacon.2019.twWei-Yu Chen
 
保哥線上講堂:利用 StyleCop 撰寫一致的 C# 程式碼風格
保哥線上講堂:利用 StyleCop 撰寫一致的 C# 程式碼風格保哥線上講堂:利用 StyleCop 撰寫一致的 C# 程式碼風格
保哥線上講堂:利用 StyleCop 撰寫一致的 C# 程式碼風格Will Huang
 
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)Jeff Chu
 
How to building WEKA model and automatic test by command line
How to building WEKA model and automatic test by command lineHow to building WEKA model and automatic test by command line
How to building WEKA model and automatic test by command linePhate334
 
Java类加载器
Java类加载器Java类加载器
Java类加载器Fu Cheng
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略Will Huang
 
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Gelis Wu
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式Will Huang
 
Leverage virtualization in software test
Leverage virtualization in software testLeverage virtualization in software test
Leverage virtualization in software testdrewz lin
 
快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架Will Huang
 
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016Jeff Chu
 
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)Will Huang
 
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Gelis Wu
 
Nuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的packageNuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的packageAlan Tsai
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練22016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2Duran Hsieh
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Alan Tsai
 
ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索Will Huang
 
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式Will Huang
 
Visual Studio Code 快速上手指南
Visual Studio Code 快速上手指南Visual Studio Code 快速上手指南
Visual Studio Code 快速上手指南Shengyou Fan
 

La actualidad más candente (20)

JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)
JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)
JavaScript 物件導向觀念入門 v.s. TypeScript 開發實戰 (微軟實戰課程日)
 
Clipper@datacon.2019.tw
Clipper@datacon.2019.twClipper@datacon.2019.tw
Clipper@datacon.2019.tw
 
保哥線上講堂:利用 StyleCop 撰寫一致的 C# 程式碼風格
保哥線上講堂:利用 StyleCop 撰寫一致的 C# 程式碼風格保哥線上講堂:利用 StyleCop 撰寫一致的 C# 程式碼風格
保哥線上講堂:利用 StyleCop 撰寫一致的 C# 程式碼風格
 
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
ASP.NET 5 快速入門 (Getting Started ASP.NET 5)
 
How to building WEKA model and automatic test by command line
How to building WEKA model and automatic test by command lineHow to building WEKA model and automatic test by command line
How to building WEKA model and automatic test by command line
 
Java类加载器
Java类加载器Java类加载器
Java类加载器
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
 
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式
 
Leverage virtualization in software test
Leverage virtualization in software testLeverage virtualization in software test
Leverage virtualization in software test
 
快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架
 
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
 
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
 
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
 
Nuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的packageNuget介紹- 如何使用和建立自己的package
Nuget介紹- 如何使用和建立自己的package
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練22016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
 
Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹Asp.net mvc 概觀介紹
Asp.net mvc 概觀介紹
 
ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索
 
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式
 
Visual Studio Code 快速上手指南
Visual Studio Code 快速上手指南Visual Studio Code 快速上手指南
Visual Studio Code 快速上手指南
 

Similar a Workflow Overview

基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发mysqlops
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定Shengyou Fan
 
SQL Server 資料庫版本控管
SQL Server 資料庫版本控管SQL Server 資料庫版本控管
SQL Server 資料庫版本控管Will Huang
 
Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0yiditushe
 
Build desktop app_by_xulrunner
Build desktop app_by_xulrunnerBuild desktop app_by_xulrunner
Build desktop app_by_xulrunnerRack Lin
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例Will Huang
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介Allen Lsy
 
Flex 3 Cookbook 中文版V1
Flex 3 Cookbook 中文版V1Flex 3 Cookbook 中文版V1
Flex 3 Cookbook 中文版V1yiditushe
 
常用开发工具介绍
常用开发工具介绍常用开发工具介绍
常用开发工具介绍haozes
 
Flutter 踩雷心得
Flutter 踩雷心得Flutter 踩雷心得
Flutter 踩雷心得Weizhong Yang
 
Flex 使用經驗談
Flex 使用經驗談Flex 使用經驗談
Flex 使用經驗談Ticore Shih
 
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4Tao He
 
Javascript primer plus
Javascript primer plusJavascript primer plus
Javascript primer plusDongxu Yao
 
Flex 4.5 action custom component development
Flex 4.5 action custom component developmentFlex 4.5 action custom component development
Flex 4.5 action custom component developmentjexchan
 
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC
 
Composer 套件管理
Composer 套件管理Composer 套件管理
Composer 套件管理Shengyou Fan
 
@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azureBruce Chen
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorialazole Lai
 
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發Weizhong Yang
 

Similar a Workflow Overview (20)

基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
 
SQL Server 資料庫版本控管
SQL Server 資料庫版本控管SQL Server 資料庫版本控管
SQL Server 資料庫版本控管
 
Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0
 
Les 3 ppt
Les 3 pptLes 3 ppt
Les 3 ppt
 
Build desktop app_by_xulrunner
Build desktop app_by_xulrunnerBuild desktop app_by_xulrunner
Build desktop app_by_xulrunner
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
Flex 3 Cookbook 中文版V1
Flex 3 Cookbook 中文版V1Flex 3 Cookbook 中文版V1
Flex 3 Cookbook 中文版V1
 
常用开发工具介绍
常用开发工具介绍常用开发工具介绍
常用开发工具介绍
 
Flutter 踩雷心得
Flutter 踩雷心得Flutter 踩雷心得
Flutter 踩雷心得
 
Flex 使用經驗談
Flex 使用經驗談Flex 使用經驗談
Flex 使用經驗談
 
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4
 
Javascript primer plus
Javascript primer plusJavascript primer plus
Javascript primer plus
 
Flex 4.5 action custom component development
Flex 4.5 action custom component developmentFlex 4.5 action custom component development
Flex 4.5 action custom component development
 
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
twMVC#42 Azure DevOps Service Pipeline設計與非正常應用
 
Composer 套件管理
Composer 套件管理Composer 套件管理
Composer 套件管理
 
@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure
 
Docker tutorial
Docker tutorialDocker tutorial
Docker tutorial
 
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
 

Workflow Overview

  • 2. Overview • Principle • Design in Flash • Export Assets for Development • Develop in FDT
  • 4. Project Folder Structure /bin 发布目录 /build 用于Ant发布的模板文件 build.xml /fla Flash源文件 /lib SWC类库和资源 /src ActionScript文件
  • 5. Design in Flash • Animation • Visual asset • Component skin
  • 6. Design in Flash 类绑定
  • 7. Design in Flash • 尽可能少地在时间线上放置代码。 • 不要调用程序对象,而是发出事件。 dispatchEvent(new Event(Event.COMPLETE));
  • 8. Export Assets for Development • SWC • SWF
  • 9. SWC • SWC文件包含各种资源(MC,Graphic,Sound…), 和编译过的ActionScript代码。 • SWC通常用于打包组件和类库。 • Flash和Flex/FDT都可以导出SWC。
  • 10. SWF vs. SWC SWF SWC 运行时加载,资源更新无需重新编译 资源编译到最终文件。 主文件。 需要额外的代码提供加载和提取类型 强类型,方便代码提示和排错。 定义功能。
  • 11. Export SWC in Flash 为ActionScript导出元件:  将SWF中的资源统一导出到assets包。  使用_mc等后缀标识,把ActionScript 类和在Flash中导出的资源区分开。
  • 12. Export SWC in Flash 在发布面板里导出SWC。
  • 13. Export SWC in Flash 我们还可以在库面板里对 单独的元件导出SWC。 这种方式用于制作组件。 导出的SWC自动引入了一 个文档类(实现组件预览 功能): fl.livepreview.LivePreviewParent
  • 14. Export SWC in Flash • 两种方式都会把所有包含“第一帧导出”选项的元 件导出。 • 在工作流中我们使用第一种方式导出SWC。 • 使用FDT内置的文件浏览器可以直接查看SWC的资源 结构。 Flash在导出SWC的时候不会导出嵌套的脚本资源。如果内层MC包含了 代码,也需要设置为导出。
  • 15. Develop in FDT • API • Component • Model/Service • Mediator/Page/View • Debug • Testing
  • 18. API Overview • Gaia Flash Framework (SWFAddress, SWFWheel, Greensock Tween, MonsterDebugger included) http://www.gaiaflashframework.com/ • AS3 Signals http://github.com/robertpenner/as3-signals • Robotlegs http://www.robotlegs.org/
  • 20. The Good • 实现了设计和开发的工作完全独立进行。 • 更好的利用了FDT的代码编辑功能。 • 方便排错与测试。
  • 21. The Bad • 只有程序员可以编译最终的文件,设计师没办法直 观的看到最终效果。 The Solution • 开发组件供设计师使用。 • 额外提供一个基于Flash编译的测试环境,进行不同 的单元测试。