SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
HaXe
           Taming Web Development
(So we can spend time on more interesting things)
motivation
 cross-platform
  visualization
   interaction
demotivation
bloated, expensive IDEs
  dozens of languages
   client-server code
     browser quirks
       applet speed
Luke, I’m your
    father
ECMAScript The Grandfather of:
     KJS (Konqueror)
        actionscript
         javascript
          QtScript
      (several others)
javascript vs. actionscript




 you must have
 been adopted                      javascript: based on ECMA ~ v.3
                                  actionscript: based on ECMA ~ v.4
             different:
method overloading restrictions
    initialization behavior
      garbage collection
       native class APIs
        global functions
         error handling
virtually closed
      source
virtual machines
Flash is most prevalent pres. tech.
 video, fast/simple 2d rendering.
   pseudo integration with css.
       lightweight, portable.

          but swfs are
    completely closed source
Is there a better language for AVM2 than AS3?
Can I also target javascript with this language?   October, 2005
                   What else?




                                                           Nicolas Cannasse

        swfhacking
     Open Source SWF Hacker
          MTASC founder
        AS3=>SWF compiler
      Targets AVM(1/2) directly
     improves AS3 performance
client    source.js



                                 source.swf


one language to    source.hx


 rule them all       haXe
                   compiler       source.so
    actionscript
     javascript
        neko
        php
        c++                      source.php




                     server       source.n
Test.hx




not so different                 build.hxml
syntax is essentially the same
class files + main() => target
moved global functions to API
        type inference           test.swf
compiler
 options
 sets platform
optional dumps
extra libs/paths
 vm versioning
AS3

                         JS




  single API
integrated namespaces
   universal methods
  (XML, Math, Dates)
Parameterized Classes
   (Array, List, Hash)
   Native Data Types
     Int, Float, Bool
all kinds of
       goodies
          fast compilation
strong and dynamic type checking
dynamic objects, reflection (c++)
  contextual autocompletion (!)
    inlining & generics (flash)
     conditional compilation
      packages & typing (js)
         mixins & closures
Prizee                     scarygirl




who uses haXe?
  growing from Euro flash game    MyBrute
 developer community to server
        side applications.




Comapping.com         github
hello hello hello world
compile single haXe source to
          js, swf, php
javascript
            team
                             vs.   haXe team
actionscript           php
    team              team
HaXe
            in summary
            streamlined development
              complete unit testing
                more productivity
                better debugging
                 more flexibility
                  more agility
                  faster code
                     etc. etc.
                       etc.
More Time to do Interesting Things on the Web

Contenu connexe

Tendances

Windows PowerShell - Billings .NET User Group - August 2009
Windows PowerShell - Billings .NET User Group - August 2009Windows PowerShell - Billings .NET User Group - August 2009
Windows PowerShell - Billings .NET User Group - August 2009
John Clayton
 
Working with Shared Libraries in Perl
Working with Shared Libraries in PerlWorking with Shared Libraries in Perl
Working with Shared Libraries in Perl
Ido Kanner
 
Automate_LSF_ppt_final
Automate_LSF_ppt_finalAutomate_LSF_ppt_final
Automate_LSF_ppt_final
Sumit Ghosh
 

Tendances (20)

Haxe Toolkit and Game Development
Haxe Toolkit and Game DevelopmentHaxe Toolkit and Game Development
Haxe Toolkit and Game Development
 
Programming
ProgrammingProgramming
Programming
 
Front End Development Automation with Grunt
Front End Development Automation with GruntFront End Development Automation with Grunt
Front End Development Automation with Grunt
 
Windows PowerShell - Billings .NET User Group - August 2009
Windows PowerShell - Billings .NET User Group - August 2009Windows PowerShell - Billings .NET User Group - August 2009
Windows PowerShell - Billings .NET User Group - August 2009
 
The Parenscript Common Lisp to JavaScript compiler
The Parenscript Common Lisp to JavaScript compilerThe Parenscript Common Lisp to JavaScript compiler
The Parenscript Common Lisp to JavaScript compiler
 
Super combinators
Super combinatorsSuper combinators
Super combinators
 
Working with Shared Libraries in Perl
Working with Shared Libraries in PerlWorking with Shared Libraries in Perl
Working with Shared Libraries in Perl
 
Wasm intro
Wasm introWasm intro
Wasm intro
 
Composer Helpdesk
Composer HelpdeskComposer Helpdesk
Composer Helpdesk
 
IDE as a Front-end and Fast time-to-market language support in Eclipse IDE re...
IDE as a Front-end and Fast time-to-market language support in Eclipse IDE re...IDE as a Front-end and Fast time-to-market language support in Eclipse IDE re...
IDE as a Front-end and Fast time-to-market language support in Eclipse IDE re...
 
EclipseCon Europe 2016, S. Cela, M.Istria: Eclipse Generic and Extensible Edi...
EclipseCon Europe 2016, S. Cela, M.Istria: Eclipse Generic and Extensible Edi...EclipseCon Europe 2016, S. Cela, M.Istria: Eclipse Generic and Extensible Edi...
EclipseCon Europe 2016, S. Cela, M.Istria: Eclipse Generic and Extensible Edi...
 
Future of PHP
Future of PHPFuture of PHP
Future of PHP
 
[EclipseCon France 2017] Eclipse Platform Generic Editor
[EclipseCon France 2017] Eclipse Platform Generic Editor[EclipseCon France 2017] Eclipse Platform Generic Editor
[EclipseCon France 2017] Eclipse Platform Generic Editor
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action
 
Automate_LSF_ppt_final
Automate_LSF_ppt_finalAutomate_LSF_ppt_final
Automate_LSF_ppt_final
 
Current status of PSR - Phpblt1
Current status of PSR - Phpblt1Current status of PSR - Phpblt1
Current status of PSR - Phpblt1
 
TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack DevelopersTypeScript - Silver Bullet for the Full-stack Developers
TypeScript - Silver Bullet for the Full-stack Developers
 
Conscious Coupling
Conscious CouplingConscious Coupling
Conscious Coupling
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper API
 
An Introduction to Project riff, a FaaS Built on Top of Knative - Eric Bottard
An Introduction to Project riff, a FaaS Built on Top of Knative - Eric BottardAn Introduction to Project riff, a FaaS Built on Top of Knative - Eric Bottard
An Introduction to Project riff, a FaaS Built on Top of Knative - Eric Bottard
 

Similaire à HaXe Demo

haXe - One codebase to rule'em all
haXe - One codebase to rule'em allhaXe - One codebase to rule'em all
haXe - One codebase to rule'em all
Tom Crombez
 
Web technologies lesson 1
Web technologies   lesson 1Web technologies   lesson 1
Web technologies lesson 1
nhepner
 
XAML: One Language to Rule Them All
XAML: One Language to Rule Them AllXAML: One Language to Rule Them All
XAML: One Language to Rule Them All
Frank La Vigne
 
20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경
20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경
20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경
영욱 김
 
Introduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayambaIntroduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayamba
Prageeth Sandakalum
 
Web Development Environments: Choose the best or go with the rest
Web Development Environments:  Choose the best or go with the restWeb Development Environments:  Choose the best or go with the rest
Web Development Environments: Choose the best or go with the rest
george.james
 

Similaire à HaXe Demo (20)

Haxe Toolkit for cross-platform applications development
Haxe Toolkit for cross-platform applications developmentHaxe Toolkit for cross-platform applications development
Haxe Toolkit for cross-platform applications development
 
An Introduction to Websphere sMash for PHP Programmers
An Introduction to Websphere sMash for PHP ProgrammersAn Introduction to Websphere sMash for PHP Programmers
An Introduction to Websphere sMash for PHP Programmers
 
Hack and HHVM
Hack and HHVMHack and HHVM
Hack and HHVM
 
haXe - One codebase to rule'em all
haXe - One codebase to rule'em allhaXe - One codebase to rule'em all
haXe - One codebase to rule'em all
 
Web technologies lesson 1
Web technologies   lesson 1Web technologies   lesson 1
Web technologies lesson 1
 
World of Node.JS
World of Node.JSWorld of Node.JS
World of Node.JS
 
Appenginejs (old presentation)
Appenginejs (old presentation)Appenginejs (old presentation)
Appenginejs (old presentation)
 
XAML: One Language to Rule Them All
XAML: One Language to Rule Them AllXAML: One Language to Rule Them All
XAML: One Language to Rule Them All
 
Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...
Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...
Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...
 
AWS meets Continuous Delivery
AWS meets Continuous DeliveryAWS meets Continuous Delivery
AWS meets Continuous Delivery
 
NodeJS - Creating a Restful API
NodeJS - Creating a Restful APINodeJS - Creating a Restful API
NodeJS - Creating a Restful API
 
20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경
20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경
20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경
 
Introduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayambaIntroduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayamba
 
Language Barriers
Language BarriersLanguage Barriers
Language Barriers
 
Web Development Environments: Choose the best or go with the rest
Web Development Environments:  Choose the best or go with the restWeb Development Environments:  Choose the best or go with the rest
Web Development Environments: Choose the best or go with the rest
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
 
Infrastructure as code, using Terraform
Infrastructure as code, using TerraformInfrastructure as code, using Terraform
Infrastructure as code, using Terraform
 
Amit.pptx
Amit.pptxAmit.pptx
Amit.pptx
 
Introduction of Reach3dx
Introduction of Reach3dxIntroduction of Reach3dx
Introduction of Reach3dx
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 

Dernier

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Dernier (20)

TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 

HaXe Demo

  • 1. HaXe Taming Web Development (So we can spend time on more interesting things)
  • 2. motivation cross-platform visualization interaction
  • 3. demotivation bloated, expensive IDEs dozens of languages client-server code browser quirks applet speed
  • 4. Luke, I’m your father ECMAScript The Grandfather of: KJS (Konqueror) actionscript javascript QtScript (several others)
  • 5. javascript vs. actionscript you must have been adopted javascript: based on ECMA ~ v.3 actionscript: based on ECMA ~ v.4 different: method overloading restrictions initialization behavior garbage collection native class APIs global functions error handling
  • 6. virtually closed source virtual machines Flash is most prevalent pres. tech. video, fast/simple 2d rendering. pseudo integration with css. lightweight, portable. but swfs are completely closed source
  • 7. Is there a better language for AVM2 than AS3? Can I also target javascript with this language? October, 2005 What else? Nicolas Cannasse swfhacking Open Source SWF Hacker MTASC founder AS3=>SWF compiler Targets AVM(1/2) directly improves AS3 performance
  • 8. client source.js source.swf one language to source.hx rule them all haXe compiler source.so actionscript javascript neko php c++ source.php server source.n
  • 9. Test.hx not so different build.hxml syntax is essentially the same class files + main() => target moved global functions to API type inference test.swf
  • 10. compiler options sets platform optional dumps extra libs/paths vm versioning
  • 11. AS3 JS single API integrated namespaces universal methods (XML, Math, Dates) Parameterized Classes (Array, List, Hash) Native Data Types Int, Float, Bool
  • 12. all kinds of goodies fast compilation strong and dynamic type checking dynamic objects, reflection (c++) contextual autocompletion (!) inlining & generics (flash) conditional compilation packages & typing (js) mixins & closures
  • 13. Prizee scarygirl who uses haXe? growing from Euro flash game MyBrute developer community to server side applications. Comapping.com github
  • 14. hello hello hello world compile single haXe source to js, swf, php
  • 15. javascript team vs. haXe team actionscript php team team
  • 16. HaXe in summary streamlined development complete unit testing more productivity better debugging more flexibility more agility faster code etc. etc. etc. More Time to do Interesting Things on the Web