CF.Objective Notes -- Prepping Now for an HTML RIA Future
July 23, 2012
Prepping Now for an HTML RIA Future
Brian Kotek
What is RIA?
Not just a little bit of Ajax
Basically, an app that uses ajax to do -everything-
Desktop-like functionality
Users expectations keep getting higher
Nobody is getting away with just building brochure-ware anymore
people expect things like Facebook, Google, Gmail, etc
-- site does a whole lot of "stuff" without leaving the page
HTML RIA options
Languages
JavaScript (duh)
CoffeeScript
-- accelerated JavaScript development
shortcut language for writing JavaScript
compiles into JavaScript at the end
Book by Trevor Burnham
Java
Can write HTML / JavaScript RIAs in java
Google Web Toolkit
-- Compiler
-- Will generate JavaScript/HTML at the end
Seemed cool on the surface, but has it's limitations
not ACTUALLY Java compiled
uses Java syntax, but has its own compiler
so can't do hardcore Java things like Spring, etc
very verbose
UI libraries
Sencha
Similar component lifecycle to flex
know when things are created / destroyed
not free
Google Closure
it's how they build GMail
write code in JavaScript, but annotate with type declaration, then run it thru the compiler
it optimizes the code, and will tell you if you passed in a type that's wrong
SmartClient
big UI library
server side piece that automates some of the crud work
not free
Use a service layer
write adapters to convert it into XML, AMF, JSON, etc as needed
RIA challenges
a lot of experience solving problems in Flex translates to solving problems in JavaScript
Client State
there's stuff living in the browser memory that's sticking around
not just separate web pages requests any more
have to work about the state of objects living in memory
large-scale event-driven applications
asynchronous processing
architecture
building a rick UI is NOT THE SAME as building 1 for a regular page based site
want to look at an MVC approach
As much as Adobe cared about Flex, the amount of money being poured into HTML/JavaScript by Google, Microsoft, etc, dwarfs that
Advice
it's very early in this process
standards are still coming
Flex remains an option
-- will be around for a few more years
-- certain problems it still solves really well
but its window of applicability is diminishing
Learn JavaScript
Experiment with the options
Stay current
this stuff is coming really fast
read blogs, etc
stay nimble
nobody is going to pick the perfect thing that stays around forever
whatever i'm choosing to try may not stick around
be able to know when to switch to something else
Brian's picks
ExtJS
DeftJS (adds dependency injection to ExtJS, similar to Swiz, written by some of the same guys)
CoffeeScript
IntellliJ IDE
Jasmine
Selenium
briankotek.com
@brian428
Brian Kotek
What is RIA?
Not just a little bit of Ajax
Basically, an app that uses ajax to do -everything-
Desktop-like functionality
Users expectations keep getting higher
Nobody is getting away with just building brochure-ware anymore
people expect things like Facebook, Google, Gmail, etc
-- site does a whole lot of "stuff" without leaving the page
HTML RIA options
Languages
JavaScript (duh)
CoffeeScript
-- accelerated JavaScript development
shortcut language for writing JavaScript
compiles into JavaScript at the end
Book by Trevor Burnham
Java
Can write HTML / JavaScript RIAs in java
Google Web Toolkit
-- Compiler
-- Will generate JavaScript/HTML at the end
Seemed cool on the surface, but has it's limitations
not ACTUALLY Java compiled
uses Java syntax, but has its own compiler
so can't do hardcore Java things like Spring, etc
very verbose
UI libraries
Sencha
Similar component lifecycle to flex
know when things are created / destroyed
not free
Google Closure
it's how they build GMail
write code in JavaScript, but annotate with type declaration, then run it thru the compiler
it optimizes the code, and will tell you if you passed in a type that's wrong
SmartClient
big UI library
server side piece that automates some of the crud work
not free
Use a service layer
write adapters to convert it into XML, AMF, JSON, etc as needed
RIA challenges
a lot of experience solving problems in Flex translates to solving problems in JavaScript
Client State
there's stuff living in the browser memory that's sticking around
not just separate web pages requests any more
have to work about the state of objects living in memory
large-scale event-driven applications
asynchronous processing
architecture
building a rick UI is NOT THE SAME as building 1 for a regular page based site
want to look at an MVC approach
As much as Adobe cared about Flex, the amount of money being poured into HTML/JavaScript by Google, Microsoft, etc, dwarfs that
Advice
it's very early in this process
standards are still coming
Flex remains an option
-- will be around for a few more years
-- certain problems it still solves really well
but its window of applicability is diminishing
Learn JavaScript
Experiment with the options
Stay current
this stuff is coming really fast
read blogs, etc
stay nimble
nobody is going to pick the perfect thing that stays around forever
whatever i'm choosing to try may not stick around
be able to know when to switch to something else
Brian's picks
ExtJS
DeftJS (adds dependency injection to ExtJS, similar to Swiz, written by some of the same guys)
CoffeeScript
IntellliJ IDE
Jasmine
Selenium
briankotek.com
@brian428