SlideShare a Scribd company logo
What is Codename One?
History
2006 2008 2010 2012 2014 2016
The Beginning
Chen Fishein starts the LWUIT
project at Sun Microsystems
with goals of ending device
fragmentation
Open Source
Sun Microsystems Open
sources LWUIT at Java One
A new Beginning
Chen & Shai quit Sun
Microsystems and form
Codename One. The project
has far greater scope and
ambition than LWUIT
100M Installs
Codename One grows &
expands both in scope and
use
Maturity
By January 2017
Codename One had 10
releases, added support for
JavaScript, UWP & Desktop
platforms. The bourgeoning
developer community was
40k strong
What’s Codename One?
✦ Virtual machine for all devices
✦ API for all devices
✦ IDE Plugins to build mobile
applications
✦ Set of tools, simulator, GUI builder,
theme designer
✦ Cloud based build system to abstract
device differences
What’s Codename One?
✦ Virtual machine for all devices
✦ API for all devices
✦ IDE Plugins to build mobile
applications
✦ Set of tools, simulator, GUI builder,
theme designer
✦ Cloud based build system to abstract
device differences
}
What’s Codename One?
✦ Virtual machine for all devices
✦ API for all devices
✦ IDE Plugins to build mobile
applications
✦ Set of tools, simulator, GUI builder,
theme designer
✦ Cloud based build system to abstract
device differences
}
Fun Fact
We came up with the name
Codename One as a placeholder
until we find an actual name
Eventually we kept it because it
makes these distinct tools act as
“one”
Virtual machine for all devices
✦iOS doesn’t support Java & disallows JIT.
Codename One’s open source ParparVM
translates Java bytecode to C code so it can be
compiled with xcode
✦Windows mobile works with a .net VM subset,
Codename One ported iKVM (a Java .net runtime)
so it will work with Universal Windows Platform
✦For web support Codename One uses TeaVM
which translates Java bytecode to JavaScript
API for all devices
✦Common API abstracting mobile device
functionality mainly UI
✦Clearly defined porting layer implemented for all
supported platforms
✦Lightweight UI approach
✦Focus on simplicity, portability & common use
cases
✦Statically linked
IDE Plugins
✦Codename One includes plugins for IntelliJ/IDEA,
NetBeans & Eclipse
✦These plugins hide the complex details of
installing/setting up Codename One
✦They are mostly a thin layer around the tools
Tools
✦Build tools - based on Ant, invoked by IDE for
cloud builds and other capabilities
✦Device Simulator
✦Resource Editor/Designer - provides theming,
localization, image management and old GUI
builder
✦New GUI Builder - standalone GUI builder tool
replacing the old one within the designer
Cloud Build
✦Macs, Windows & Linux machines in the cloud
perform the actual native app build process
✦This is abstracted by the build tools to provide a
unified experience
✦Removes the need to install custom software and
configure it to very specific requirements
✦A major reason Codename One is so simple to
use
Lightweight
Lightweight Frameworks Heavyweight Frameworks
Codename One SWT
Swing AWT
Java FX Xamarin
QT Appcelerator
Lightweight vs. Heavyweight
Lightweight Frameworks Heavyweight Frameworks
Codename One SWT
Swing AWT
Java FX Xamarin
QT Appcelerator
Lightweight vs. Heavyweight
Lightweight Origin
The term “lightweight” was
popularized by the Swing framework
to describe the difference between it
and AWT. Heavyweight widgets in
AWT were a performance problem
as they required OS communication
for every operation
Lightweight Frameworks Heavyweight Frameworks
Draws widgets Native widget for every user widget
Handles widget events & user input Thin API
Layout, theming & all functionality 

is handled by framework
Layout etc. are handled by OS
Framework provides tools Mix of framework tools and OS tools
Lightweight vs. Heavyweight
Lightweight Frameworks Heavyweight Frameworks
Portable Matches OS Conventions
Customizable Performant (debatable)
Consistent (also in performance) Easier to build initially
Easy to use Access to native OS features
Lightweight vs. Heavyweight
Lightweight In Codename One
✦Allows native peer - e.g. Google Maps, Video etc.
✦Lightweight components can reside on top or
below native peers
✦Enables the simulator and thus the cloud build!
✦Performant - uses gaming API’s (e.g. OpenGL) to
get native performance. Performance is
consistent across devices
✦Very customizable
I hope that this presentation:
✦Gave you a sense of Codename One’s origins
✦Gave you a glimpse of the breadth/scope of
Codename One
✦Helped you understand the difference between
Codename One and other tools you are familiar
with
✦Clarified one of the most important aspects of
Codename One: Lightweight architecture
Thank You

More Related Content

PDF
Swt qt ese2010
PDF
Targeting Android with Qt
PDF
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
PPTX
Building Microservices with Jakarta EE and MicroProfile - EclipseCon 2019
PDF
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
PDF
Swt qt ese-2009
PPTX
Flutter Leap of Faith
PPTX
Swt qt ese2010
Targeting Android with Qt
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Building Microservices with Jakarta EE and MicroProfile - EclipseCon 2019
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
Swt qt ese-2009
Flutter Leap of Faith

What's hot (20)

PDF
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
PDF
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
PPTX
PHP And Silverlight - DevDays session
PDF
Framework dynamic par Simone Sivetta
PPTX
ACM Gazi Docker?
PDF
Demystifying Docker
PPTX
ng-conf NativeScript and Angular 2 Workshop
PPTX
20170321 docker with Visual Studio 2017
PDF
Meet qt intro
PPTX
Introduction to React Native
PDF
What's new in ios 7.0
PDF
Netflix and Containers: Not A Stranger Thing
PPTX
Building custom tools with Docker API & SDK
PPTX
Android
PPT
Gnome on wayland at a glance
PPTX
.Net platform .Net core fundamentals
PDF
Hybrid mobile development with Red Hat JBoss developer studio
PPTX
Tehran's 1st Android bootcamp - Part2
PDF
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
PDF
Liferay UI (R)evolution
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
PHP And Silverlight - DevDays session
Framework dynamic par Simone Sivetta
ACM Gazi Docker?
Demystifying Docker
ng-conf NativeScript and Angular 2 Workshop
20170321 docker with Visual Studio 2017
Meet qt intro
Introduction to React Native
What's new in ios 7.0
Netflix and Containers: Not A Stranger Thing
Building custom tools with Docker API & SDK
Android
Gnome on wayland at a glance
.Net platform .Net core fundamentals
Hybrid mobile development with Red Hat JBoss developer studio
Tehran's 1st Android bootcamp - Part2
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Liferay UI (R)evolution
Ad

Viewers also liked (6)

PPTX
Apple TV in the Classroom
PDF
How To Use The Codename One Sources
PPT
Pedagogia Cristiana
DOCX
Taller sobre estrategias de enseñanza pedagogicas cristiana para niños
PPTX
Breve resumen de la historia de argentina
PDF
Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...
Apple TV in the Classroom
How To Use The Codename One Sources
Pedagogia Cristiana
Taller sobre estrategias de enseñanza pedagogicas cristiana para niños
Breve resumen de la historia de argentina
Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...
Ad

Similar to What is codename one (20)

PDF
What is Codename One.pdf
PDF
What is Codename One - Transcript.pdf
PDF
Object Oriented Programming slides that can help students
PPT
Mobile Java
PPT
J2ee strutswithhibernate-140121221332-phpapp01
PPT
Java & J2EE Struts with Hibernate Framework
PDF
Cross-Platform Native Apps in Java (budapest.mobile)
PPT
Java2020 programming basics and fundamentals
PPTX
Java presentation
PPTX
Java presentation
PPTX
PDF
Flutter vs Java Graphical User Interface Frameworks - text
PPTX
603848771-Lecture-1-Intro-to-Flutter-and-Dart.pptx
ODP
Introduction To The Eclipse Platform
PDF
TechSearchWeb Tutorials.pdf
PPTX
Cross Platform Mobile Technologies
PPTX
Java Programming (M&M)
PDF
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
PDF
TechSearchWeb.pdf
PDF
Technology Tutorial.pdf
What is Codename One.pdf
What is Codename One - Transcript.pdf
Object Oriented Programming slides that can help students
Mobile Java
J2ee strutswithhibernate-140121221332-phpapp01
Java & J2EE Struts with Hibernate Framework
Cross-Platform Native Apps in Java (budapest.mobile)
Java2020 programming basics and fundamentals
Java presentation
Java presentation
Flutter vs Java Graphical User Interface Frameworks - text
603848771-Lecture-1-Intro-to-Flutter-and-Dart.pptx
Introduction To The Eclipse Platform
TechSearchWeb Tutorials.pdf
Cross Platform Mobile Technologies
Java Programming (M&M)
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
TechSearchWeb.pdf
Technology Tutorial.pdf

More from Shai Almog (9)

PDF
The Duck Talks Back - Secrets of The Debugging Masters
PDF
Logging Best Practices - Avoid the rinse repeat CI/CD Process
PDF
Cloud Native Debugging in Production - Dig Deep into your agents
PDF
How do i - localization and internationalization (l10n, i18n)
PDF
How do i - create a native interface
PPTX
5 Amazing Features in Codename One 3.7
PDF
Understand Properties in Codename One
PDF
Codename one Cordova/PhoneGap Support
PPTX
Public showcase
The Duck Talks Back - Secrets of The Debugging Masters
Logging Best Practices - Avoid the rinse repeat CI/CD Process
Cloud Native Debugging in Production - Dig Deep into your agents
How do i - localization and internationalization (l10n, i18n)
How do i - create a native interface
5 Amazing Features in Codename One 3.7
Understand Properties in Codename One
Codename one Cordova/PhoneGap Support
Public showcase

Recently uploaded (6)

DOC
证书学历UoA毕业证,澳大利亚中汇学院毕业证国外大学毕业证
PDF
Lesson 13- HEREDITY _ pedSAWEREGFVCXZDSASEWFigree.pdf
PDF
6-UseCfgfhgfhgfhgfhgfhfhhaseActivity.pdf
PDF
heheheueueyeyeyegehehehhehshMedia-Literacy.pdf
PPTX
ASMS Telecommunication company Profile
DOC
Camb毕业证学历认证,格罗斯泰斯特主教大学毕业证仿冒文凭毕业证
证书学历UoA毕业证,澳大利亚中汇学院毕业证国外大学毕业证
Lesson 13- HEREDITY _ pedSAWEREGFVCXZDSASEWFigree.pdf
6-UseCfgfhgfhgfhgfhgfhfhhaseActivity.pdf
heheheueueyeyeyegehehehhehshMedia-Literacy.pdf
ASMS Telecommunication company Profile
Camb毕业证学历认证,格罗斯泰斯特主教大学毕业证仿冒文凭毕业证

What is codename one

  • 2. History 2006 2008 2010 2012 2014 2016 The Beginning Chen Fishein starts the LWUIT project at Sun Microsystems with goals of ending device fragmentation Open Source Sun Microsystems Open sources LWUIT at Java One A new Beginning Chen & Shai quit Sun Microsystems and form Codename One. The project has far greater scope and ambition than LWUIT 100M Installs Codename One grows & expands both in scope and use Maturity By January 2017 Codename One had 10 releases, added support for JavaScript, UWP & Desktop platforms. The bourgeoning developer community was 40k strong
  • 3. What’s Codename One? ✦ Virtual machine for all devices ✦ API for all devices ✦ IDE Plugins to build mobile applications ✦ Set of tools, simulator, GUI builder, theme designer ✦ Cloud based build system to abstract device differences
  • 4. What’s Codename One? ✦ Virtual machine for all devices ✦ API for all devices ✦ IDE Plugins to build mobile applications ✦ Set of tools, simulator, GUI builder, theme designer ✦ Cloud based build system to abstract device differences }
  • 5. What’s Codename One? ✦ Virtual machine for all devices ✦ API for all devices ✦ IDE Plugins to build mobile applications ✦ Set of tools, simulator, GUI builder, theme designer ✦ Cloud based build system to abstract device differences } Fun Fact We came up with the name Codename One as a placeholder until we find an actual name Eventually we kept it because it makes these distinct tools act as “one”
  • 6. Virtual machine for all devices ✦iOS doesn’t support Java & disallows JIT. Codename One’s open source ParparVM translates Java bytecode to C code so it can be compiled with xcode ✦Windows mobile works with a .net VM subset, Codename One ported iKVM (a Java .net runtime) so it will work with Universal Windows Platform ✦For web support Codename One uses TeaVM which translates Java bytecode to JavaScript
  • 7. API for all devices ✦Common API abstracting mobile device functionality mainly UI ✦Clearly defined porting layer implemented for all supported platforms ✦Lightweight UI approach ✦Focus on simplicity, portability & common use cases ✦Statically linked
  • 8. IDE Plugins ✦Codename One includes plugins for IntelliJ/IDEA, NetBeans & Eclipse ✦These plugins hide the complex details of installing/setting up Codename One ✦They are mostly a thin layer around the tools
  • 9. Tools ✦Build tools - based on Ant, invoked by IDE for cloud builds and other capabilities ✦Device Simulator ✦Resource Editor/Designer - provides theming, localization, image management and old GUI builder ✦New GUI Builder - standalone GUI builder tool replacing the old one within the designer
  • 10. Cloud Build ✦Macs, Windows & Linux machines in the cloud perform the actual native app build process ✦This is abstracted by the build tools to provide a unified experience ✦Removes the need to install custom software and configure it to very specific requirements ✦A major reason Codename One is so simple to use
  • 12. Lightweight Frameworks Heavyweight Frameworks Codename One SWT Swing AWT Java FX Xamarin QT Appcelerator Lightweight vs. Heavyweight
  • 13. Lightweight Frameworks Heavyweight Frameworks Codename One SWT Swing AWT Java FX Xamarin QT Appcelerator Lightweight vs. Heavyweight Lightweight Origin The term “lightweight” was popularized by the Swing framework to describe the difference between it and AWT. Heavyweight widgets in AWT were a performance problem as they required OS communication for every operation
  • 14. Lightweight Frameworks Heavyweight Frameworks Draws widgets Native widget for every user widget Handles widget events & user input Thin API Layout, theming & all functionality 
 is handled by framework Layout etc. are handled by OS Framework provides tools Mix of framework tools and OS tools Lightweight vs. Heavyweight
  • 15. Lightweight Frameworks Heavyweight Frameworks Portable Matches OS Conventions Customizable Performant (debatable) Consistent (also in performance) Easier to build initially Easy to use Access to native OS features Lightweight vs. Heavyweight
  • 16. Lightweight In Codename One ✦Allows native peer - e.g. Google Maps, Video etc. ✦Lightweight components can reside on top or below native peers ✦Enables the simulator and thus the cloud build! ✦Performant - uses gaming API’s (e.g. OpenGL) to get native performance. Performance is consistent across devices ✦Very customizable
  • 17. I hope that this presentation: ✦Gave you a sense of Codename One’s origins ✦Gave you a glimpse of the breadth/scope of Codename One ✦Helped you understand the difference between Codename One and other tools you are familiar with ✦Clarified one of the most important aspects of Codename One: Lightweight architecture