Creating Mobile App in Lua with NOYA Mobile
Creating Mobile App in Lua with NOYA Mobile cross-platform engine, Framework, IDE … Daogang Cao Co-founder of MLink Tech http: //www. unimlink. com
contents 01 02 03 04 What How Demo Summary
What we did? NOYA , Mobile App Development Platform 01 part An express MDAP target for enterprise mobile app market Mobile App Development Platform 1) Including cross-platform engine, app framework, ui designer, simulator, IDE… 2) Lua is fully used to program UI & business logic, all native capabilities are hided Enterprise Mobile App Market is different with personal market 1) Rapid development 2) Rapid response to the dynamic changes in business 3) Less cost 4) ‘Business working’ > ‘User experience’
cross-platform/different ways Designer vs programmer For designer 1) Phonegap + HTML 5, using HTML 5 as an application program language 2) The browser is cross-platform engine ( Safari & chrome) For programmer 1) JS, lua, python, C#, Java 2) Titanium、moai、corona、cocos 2 d-x (target for mobile game development except Titanium) 01 part
why lua Efficiency, efficiency 1) Small size 2) easy porting 3) Many references - so many mobile game engine support lua script language 01 part
02 part How to do? So much work to do IDE simulator UI designer App framework Cross-platform engine Table setmeta. Table Objected Lua REF Cocos 2 d-x, …
02 part architecture app Framework lua Lua engine Lua native Bridge lua引擎 Engine drive Ios/android/qt native
02 part Lua is fully used Not only script language MLPlugin MLHttp UIGrid MLFile UICheck. Box ML= MLINK MLView MLTimer UIButton UIImage. View MLWeb. View UILabel … … Set up UI framwork in Lua language instead of call native UI framework. All Lua UI components are from ‘MLView’ which call native ‘View’ interface
Lua Framework /root - MLPlugin Callback mechanism 02 part
Lua UI Framework - MLView Root class of LUA UI framework 02 part
02 part Lua UI Framework User can define a subclass define: UIButton = Class(MLView); UIButton. id = nil; -- static member静态 变量 function UIButton: init() use: local button = UIButton. new(); button: init(); -- function
02 part Others things we have done app framework Adaptive Layout for different screen 5 1 MVC more efficiency Plug-in mechanism 2 3 4 Window mgmt, Animation UI Cache mechanism
NOYA project App src code Framework app resource 02 part
Result yes, it work perfectly 03 part 1) More efficiency Dynamic loading&running, but more efficiency then web app including H 5+phonegap 2) easy development New graduates , 2 weeks , once coding / running both IOS&android 3) Less cost Mobile app development cost /down 40% ( 20+ enterprise projects) 4) Flexible Complicated business logic verified (app for insurance company/government)
demo show mobile app for enterprise workflow 03 part
demo show mobile app for personal using 03 part
03 part demo show IDE and simulator and … Switch to NOYA IDE
04 part Summary of NOYA 1) Lua is fully used (both UI & business ) 2) Both enterprise & personal app are ok, more efficiency then HTML 5+Phonegap 3) Cost down Junior engineer UI & business logic In lua Senior engineer Native capability In system language
Thanks caodaogang@unimlink. com A startup company located in Beijing. China http: //www. unimlink. com
- Slides: 19