%title: Beyond .\*Script %author: hellerve %date: 2017-01-15 -> # Beyond .\*Script -> ## Implementing A Language For The Web -> Veit Heller -> Bachelor examination --- -> # Introduction - JavaScript is _the_ language of the Web - It is not always the right tool for the job - Many approaches have been taken to change it to fit the users needs --- -> # Introduction - Mitigations fall into two categories - Preprocessors - Transpilers - Caveat: thin wrapper around JavaScript --- -> # Introduction - zepto-js attempts to build a runtime that is foreign to JavaScript while still being compatible - Features: Functional, Lisp, Macros, Continuations --- -> # Related Work --- -> # Concept Design --- -> # System Design --- -> # Implementation --- -> # Evaluation of the Prototype - zepto is primarily a platform for prototyping - Usability was measured during an introductory workshop - Generally favorable feedback, questions mostly around tooling --- -> # Evaluation of the Prototype - Addition of the FFI solves performance problems - suboptimal, but deemed acceptable for this particular use case - Features missing affect the compatibility with existing zepto libraries --- -> # Evaluation of the Prototype - marginally slower than zepto reference in most use cases - much slower than native JavaScript - calling into FFI for performance optimization still necessary --- -> # Summary and Outlook - zepto-js is as experimental as zepto itself - with the maturation of zepto and zeps, zepto-js can grow - tooling still not on par with JavaScript --- -> # Summary and Outlook - since thesis was written: - compiler backend to JavaScript in zepto (node) - first stable release of zepto (version 0.9.6) - zepto-js development stunted --- -> # Thank you for listening. -> I am now ready to take questions.