SlideShare a Scribd company logo
1 of 137
Download to read offline
The road to
professional web
development




     Christian Heilmann | http://icant.co.uk | http://wait-till-i.com
                                         Taipeh, Taiwan, April 2009
Hello and thank you for being
here.
I am Chris...
...and today I will talk about
the road to professional web
development.
You cannot look forward
without learning from the
mistakes of the past.
Otherwise you are very likely
to repeat them.
So let’s take a look at the past
of web development.
The Dark Ages




                http://www.flickr.com/photos/25725360@N05/2929959881
In the beginning there was
HTML.
It structured text into
headings, lists and
paragraphs and linked
documents with each other
using anchors.
This was good, and quite a
revolution...
...but also very, very boring.
People wanted colours,
different types of text,
borders and images.
Which lead to the next step.
The first
mistake:
Presentational
Markup
Adding bgcolor, color,
<font>, border, hspace,
vspace,float and all other
presentational HTML allowed
us to style the document.
It doesn’t allow you to style a
whole site though.
If the design of the site
changes, you needed to
change each document of it.
However, as sites were small
this was not a problem – yet.
Design was still limited to a
single column.
Until people realised that you
can use the <table> element
to create multi-column
layouts.
And it was *so* easy.
..if you knew all the problems
that different browsers have
with showing the table
properly.
<table width=quot;500quot; border=quot;0quot;>
  <tr>
    <td width=quot;1quot; bgcolor=quot;blackquot;><img src=quot;spacer.gifquot; width=quot;1quot; height=quot;1quot; alt=quot;quot;></td>
    <td width=quot;10quot; bgcolor=quot;blackquot;><img src=quot;spacer.gifquot; width=quot;10quot; height=quot;1quot; alt=quot;quot;></td>
    <td width=quot;118quot; bgcolor=quot;blackquot;><img src=quot;spacer.gifquot; width=quot;118quot; height=quot;1quot; alt=quot;quot;></td>
    <td width=quot;10quot; bgcolor=quot;blackquot;><img src=quot;spacer.gifquot; width=quot;10quot; height=quot;1quot; alt=quot;quot;></td>
    <td width=quot;300quot; bgcolor=quot;blackquot;><img src=quot;spacer.gifquot; width=quot;350quot; height=quot;1quot; alt=quot;quot;></td>
    <td width=quot;10quot; bgcolor=quot;blackquot;><img src=quot;spacer.gifquot; width=quot;10quot; height=quot;1quot; alt=quot;quot;></td>
    <td width=quot;1quot; bgcolor=quot;blackquot;><img src=quot;spacer.gifquot; width=quot;1quot; height=quot;1quot; alt=quot;quot;></td>
  </tr>
  <tr>
    <td width=quot;1quot; rowspan=quot;3quot; bgcolor=quot;blackquot;><img src=quot;spacer.gifquot; width=quot;1quot; height=quot;1quot; alt=quot;quot;></td>
    <td width=quot;1quot; rowspan=quot;2quot;><img src=quot;spacer.gifquot; width=quot;10quot; height=quot;10quot;
    alt=quot;quot;></td>
    <td width=quot;1quot; colspan=quot;3quot;><img src=quot;spacer.gifquot; width=quot;1quot; height=quot;10quot; alt=quot;quot;></td>
    <td width=quot;1quot; rowspan=quot;2quot;><img src=quot;spacer.gifquot; width=quot;10quot; Navigation Content
                                                               height=quot;10quot;
    alt=quot;quot;></td>
    <td width=quot;1quot; rowspan=quot;3quot; bgcolor=quot;blackquot;><img src=quot;spacer.gifquot; width=quot;1quot; height=quot;1quot; alt=quot;quot;></td>
  </tr>
  <tr>
    <td>Navigation</td>
    <td></td>
    <td>Content</td>
  </tr>
  <tr>
    <td colspan=quot;5quot;><img src=quot;spacer.gifquot; width=quot;1quot; height=quot;10quot; alt=quot;quot;></td>
  </tr>
  <tr>
    <td rowspan=quot;7quot;><img src=quot;spacer.gifquot; width=quot;1quot; height=quot;1quot; alt=quot;quot;></td>
  </tr>
</table>
Also: what do you need to do
when the navigation has to
move to the right?
The solution was to separate
the presentation from the
structure.
CSS
CSS allowed you to define the
look and feel in a much more
detailed manner.
CSS is defined once and
applied to as many
documents as you want.
So moving a navigation
meant changing a single file.
However, the problem was
that developers wanted more
and more and the standards
took too long to agree on.
Browser Wars




http://www.flickr.com/photos/7189565@N07/3279178176
As browser makers were in
fierce competition this lead to
non-standard extensions to
both HTML and CSS.
This, together with more and
more support for JavaScript
in browsers lead to another
dark period of web
development.
DHTML Hell




 http://www.flickr.com/photos/19703909@N00/3411843177
Using DHTML (JavaScript
controlling visual changes in
the document) we went nuts.
Moving and scrolling and
JavaScript dependent
navigations.
Blink, Flicker, Crash.
The biggest issue was that we
tried to support every
browser the same way.
Which is why one group stood
up and put a stake in the
ground.
WaSP – to hell with bad browsers.
The work of the WaSP and
 many individual trainers,
writers and developers made
web standards a good idea to
   follow and understand.
Which made a lot of sense.
As the first .com bubble
collapsed people spent much
less money on silly web sites.
Instead, they wanted easy to
maintain, extend and change
          web sites.
This meant also that people
  didn’t want JavaScript
    solutions any more.
We did our best to make
people understand that –
  used the right way –
  JavaScript is not evil.
Unobtrusive JavaScript
http://icant.co.uk/articles/seven-rules-of-
              unobtrusive-javascript/
http://www.zhuoqun.net/html/y2008/1103.html
However, the painful
memories of DHTML hell were
    still hard to forget.
Until the next revolution
          came.
var request;
       try{
         request = new XMLHttpRequest();


AJAX   }catch(error){
         try{
           request = new ActiveXObject(quot;Microsoft.XMLHTTPquot;);
         }catch(error){
           return true;
         }
       }
       request.open('get',this.href,true);
       request.onreadystatechange=function(){
         if(request.readyState == 1){
           output.innerHTML='loading...';
         }
         if(request.readyState == 4){
           if (request.status && /200|304/.test(request.status))
           {
              retrieved(request);
           } else{
              failed(request);
           }
         }
       }
Ajax meant that web sites are
fast, easy to use and highly
interactive.
And it works by using
JavaScript.
The new interest in JavaScript
helped us go out to the world
and tell it how you can use
JavaScript together with web
standards and create
amazing experiences.
To make this work, we
needed a buzzword for “new
JavaScript”
DOM Scripting
However, the idea of
unobtrusive scripting and
web standards development
became a bit forgotten
because of yet another
revolution.
WEB 2.0


http://www.flickr.com/photos/brownpau/198591442/
WEB 2.0 meant that users are
creating the web they use.
Everything had to be highly
interactive and Ajax is not
even a nice-to-have but a
main goal.
So this is where we are.
The mess we have to deal with.
                             http://www.flickr.com/photos/28114609@N05/3433642297
The Ajax revolution and the
Web 2.0 move set high
expectations.
Users expect web sites to be
highly responsive and
working like real
applications.
However, we are still working
in browsers and on the web.
Ajax driven web sites do not
reload the whole document.
This breaks a lot of things.
No bookmarking.
No back button.
No interaction with
assistive technology.
To make our products work,
we need to know a lot of
things:
the technologies
how browsers fail
supporting them
how users interact with
systems
what people use
The problem is that most
likely you won’t have the
time to do all that.
The other problem is that as
individuals we are likely to
find solutions for our
problems but not for all of the
possible ones.
For this, we need to
collaborate and compare our
findings.
We also need to be careful
not to repeat the mistakes of
the past.
Working on a solid base
It is not about technology.
You do not work to satisfy
browsers.
Standards only make sense
when they offer an easier
way of achieving a goal and if
they have support in the real
world.
As a developer, you should
work first and foremost for
the user of your products.
The second most important
person to work for is the
developer that takes over
from you.
The easier the
interface, the
more people will
use it.
In order to make web
development a professional
choice we need to act like
professionals.
This means that instead of
getting excited about hacks
and quick solutions we should
concentrate on other goals.
Does it work for everybody?
Is it easy to change?
Is it a smooth experience?
Does it make it easier for
users to do what they want
to do?
Here’s the good news: we are
almost there.
Web development libraries
like jQuery, prototype,
mootools, Dojo, YUI... are
there to help you do your job.
These libraries are all open
for you to feed back problems
and contribute solutions.
They are a much sturdier base
to build on than browsers and
their current documentation.
One base to work from is YUI:
http://developer.yahoo.com/yui/
The Yahoo User Interface
library was build to make it
easier for Yahoo developers
to build our products.
Working with as many
locations, products and
people as Yahoo does it is the
only way to keep a constant
high quality.
With that many developers at
hand we were able to build a
great library based on solid
principles.
When we build products, we
test them with users and see
what they want.
Analyzing this we came up
with usage patterns, which
are available to you.
http://developer.yahoo.com/ypatterns
They even come with stencils
for your designers.
http://developer.yahoo.com/ypatterns/wireframes/
One thing we needed to do is
to define what browsers to
support and what “support”
means.
http://developer.yahoo.com/yui/articles/gbs/
Support is not giving every
browser the same
experience.
It means using what the
browser can reliably do and
not making it reach what it
cannot do.
This is the main principle of
progressive enhancement.
We must build products that
work, and only work more
smoothly when the browser
in use allows for it.
Without JavaScript                       With JavaScript




http://developer.yahoo.com/yui/examples/autocomplete/ac_basic_array_clean.html
Without JavaScript




With JavaScript



  http://developer.yahoo.com/yui/examples/datatable/dt_enhanced.html
We used the design pattern
information and built widgets
that work this way.
We test them across the
supported browsers to make
sure they work.
http://ui.jquery.com/




http://ui.jquery.com
Using these, you can build
applications that work across
all the browsers supported by
the GBS.
We provide the bricks,
you build the product.




          http://www.flickr.com/photos/seven13avenue/2080281038/
All of the widgets can be
extended and styled the way
you want them to.
http://developer.yahoo.com/yui/articles/skinning/
You can extend the widgets
by listening for events that
happen to them.
http://developer.yahoo.com/yui/examples/autocomplete/
                  ac_basic_xhr_log.html
If you don’t want to use the
widgets, you can use the
helper libraries that we use to
build the widgets.
These do the same thing, but
on a code level. They make
web standards work across
browsers (DOM support,
event handling).
If all you need is creating CSS
layouts that work across
browser land, there’s that,
too.
Even for *very* lazy developers:




http://developer.yahoo.com/yui/grids/builder/
One other thing we do is
make web development less
random by providing testing
tools.
All of this is open source, fully
documented and you can
either host it yourself or get it
from a high speed distributed
network (even Google’s).
Practices we follow:
  Progressive enhancement
  Standards compliance
  Code validation (JSLint)
  Extensibility
  Modularisation
  Documentation
Even if you don’t want to use
anything we offer, these are
good ideas to use in your
work.
Don’t become a part of the
group of developers that
leave behind unmaintainable
products.
Another thing to consider is
how your products perform.
Fast and smooth products
make users happy.
There’s a lot of good
information available at the
exceptional performance site.
http://developer.yahoo.com/performance/
All of which can be tested
using YSlow.




             http://developer.yahoo.com/yslow/
One final thing we’re working
 on a lot is accessibility.

http://yuiblog.com/blog/category/accessibility/
This is all I have time for
today, so thanks again.
Check out the bookmarks on
the last page for lots of good
tutorials and documents.
Two of mine were even translated:




http://www.cn-cuckoo.com/2007/08/14/unobtrusive-javascript-progressive-
enhancement-gracefully-degrade-82.html
Two of mine were even translated:




http://www.zhuoqun.net/html/y2008/1103.html
THANKS!
 Christian Heilmann
 http://icant.co.uk
 http://wait-till-i.com
 http://scriptingenabled.org
 http://twitter.com/codepo8




http://delicious.com/codepo8/taiwantrip

More Related Content

What's hot

Introduction to Basic Concepts in Web
Introduction to Basic Concepts in WebIntroduction to Basic Concepts in Web
Introduction to Basic Concepts in WebJussi Pohjolainen
 
Introduction to Web Development
Introduction to Web DevelopmentIntroduction to Web Development
Introduction to Web DevelopmentParvez Mahbub
 
Basic Introduction to Web Development
Basic Introduction to Web DevelopmentBasic Introduction to Web Development
Basic Introduction to Web DevelopmentBurhan Khalid
 
1-01: Introduction To Web Development
1-01: Introduction To  Web  Development1-01: Introduction To  Web  Development
1-01: Introduction To Web Developmentapnwebdev
 
Web development presentation
Web development presentationWeb development presentation
Web development presentationVaishnavi8950
 
High performance website
High performance websiteHigh performance website
High performance websiteChamnap Chhorn
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentClint LaForest
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web ArchitectureChamnap Chhorn
 
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentEECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentFortySeven Media
 
Fundamentals of Web for Non-Developers
Fundamentals of Web for Non-DevelopersFundamentals of Web for Non-Developers
Fundamentals of Web for Non-DevelopersLemi Orhan Ergin
 
A Work Day Of A Web Developer
A Work Day Of A Web DeveloperA Work Day Of A Web Developer
A Work Day Of A Web DeveloperEdureka!
 
Web development ppt
Web development pptWeb development ppt
Web development pptParasJain222
 
WEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentWEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentRandy Connolly
 
Front end development best practices
Front end development best practicesFront end development best practices
Front end development best practicesKarolina Coates
 
Full stack devlopment using django main ppt
Full stack devlopment using django main pptFull stack devlopment using django main ppt
Full stack devlopment using django main pptSudhanshuVijay3
 
Fundamentals of web_design_v2
Fundamentals of web_design_v2Fundamentals of web_design_v2
Fundamentals of web_design_v2hussain534
 
Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websiteswebsiteunlimited
 

What's hot (20)

Introduction to Basic Concepts in Web
Introduction to Basic Concepts in WebIntroduction to Basic Concepts in Web
Introduction to Basic Concepts in Web
 
Introduction to Web Development
Introduction to Web DevelopmentIntroduction to Web Development
Introduction to Web Development
 
Basic Introduction to Web Development
Basic Introduction to Web DevelopmentBasic Introduction to Web Development
Basic Introduction to Web Development
 
1-01: Introduction To Web Development
1-01: Introduction To  Web  Development1-01: Introduction To  Web  Development
1-01: Introduction To Web Development
 
Web development presentation
Web development presentationWeb development presentation
Web development presentation
 
High performance website
High performance websiteHigh performance website
High performance website
 
Web Standards
Web StandardsWeb Standards
Web Standards
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web Development
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
 
Web Development
Web DevelopmentWeb Development
Web Development
 
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentEECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
 
Fundamentals of Web for Non-Developers
Fundamentals of Web for Non-DevelopersFundamentals of Web for Non-Developers
Fundamentals of Web for Non-Developers
 
A Work Day Of A Web Developer
A Work Day Of A Web DeveloperA Work Day Of A Web Developer
A Work Day Of A Web Developer
 
Web development ppt
Web development pptWeb development ppt
Web development ppt
 
WEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentWEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web Development
 
Web dev syllabus
Web dev syllabusWeb dev syllabus
Web dev syllabus
 
Front end development best practices
Front end development best practicesFront end development best practices
Front end development best practices
 
Full stack devlopment using django main ppt
Full stack devlopment using django main pptFull stack devlopment using django main ppt
Full stack devlopment using django main ppt
 
Fundamentals of web_design_v2
Fundamentals of web_design_v2Fundamentals of web_design_v2
Fundamentals of web_design_v2
 
Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websites
 

Viewers also liked

Tessel: The End of Web Development (as we know it)
Tessel: The End of Web Development (as we know it)Tessel: The End of Web Development (as we know it)
Tessel: The End of Web Development (as we know it)TechnicalMachine
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.pptwebhostingguy
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRShuyo Nakatani
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeCristina Munoz
 
Top 5 Companies PPT
Top 5 Companies PPTTop 5 Companies PPT
Top 5 Companies PPTstevenbench
 
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webappPython学習奮闘記#07 webapp
Python学習奮闘記#07 webappTakeshi Akutsu
 
人工知能と機械学習の違いって?
人工知能と機械学習の違いって?人工知能と機械学習の違いって?
人工知能と機械学習の違いって?Shuyo Nakatani
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersLemi Orhan Ergin
 
Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)Stormpath
 
SMOKE - The Convenient Truth [1st place Worlds Best Presentation Contest] by ...
SMOKE - The Convenient Truth [1st place Worlds Best Presentation Contest] by ...SMOKE - The Convenient Truth [1st place Worlds Best Presentation Contest] by ...
SMOKE - The Convenient Truth [1st place Worlds Best Presentation Contest] by ...Empowered Presentations
 
What 33 Successful Entrepreneurs Learned From Failure
What 33 Successful Entrepreneurs Learned From FailureWhat 33 Successful Entrepreneurs Learned From Failure
What 33 Successful Entrepreneurs Learned From FailureReferralCandy
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkVolker Hirsch
 

Viewers also liked (13)

Tessel: The End of Web Development (as we know it)
Tessel: The End of Web Development (as we know it)Tessel: The End of Web Development (as we know it)
Tessel: The End of Web Development (as we know it)
 
Web Development In Oracle APEX
Web Development In Oracle APEXWeb Development In Oracle APEX
Web Development In Oracle APEX
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.ppt
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challenge
 
Top 5 Companies PPT
Top 5 Companies PPTTop 5 Companies PPT
Top 5 Companies PPT
 
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webappPython学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
 
人工知能と機械学習の違いって?
人工知能と機械学習の違いって?人工知能と機械学習の違いって?
人工知能と機械学習の違いって?
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-Developers
 
Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)
 
SMOKE - The Convenient Truth [1st place Worlds Best Presentation Contest] by ...
SMOKE - The Convenient Truth [1st place Worlds Best Presentation Contest] by ...SMOKE - The Convenient Truth [1st place Worlds Best Presentation Contest] by ...
SMOKE - The Convenient Truth [1st place Worlds Best Presentation Contest] by ...
 
What 33 Successful Entrepreneurs Learned From Failure
What 33 Successful Entrepreneurs Learned From FailureWhat 33 Successful Entrepreneurs Learned From Failure
What 33 Successful Entrepreneurs Learned From Failure
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Similar to The road to professional web development

Professional web development with libraries
Professional web development with librariesProfessional web development with libraries
Professional web development with librariesChristian Heilmann
 
Travailler dans le présent - Chris Heilmann - Paris Web 2008
Travailler dans le présent - Chris Heilmann - Paris Web 2008Travailler dans le présent - Chris Heilmann - Paris Web 2008
Travailler dans le présent - Chris Heilmann - Paris Web 2008Association Paris-Web
 
Working In The Now - Paris Web
Working In The Now - Paris WebWorking In The Now - Paris Web
Working In The Now - Paris WebChristian Heilmann
 
Mobile Monday Presentation: Responsive Web Design
Mobile Monday Presentation: Responsive Web DesignMobile Monday Presentation: Responsive Web Design
Mobile Monday Presentation: Responsive Web DesignCantina
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature CreatureChristian Heilmann
 
Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)patrick.t.joyce
 
Finding harmony in web development
Finding harmony in web developmentFinding harmony in web development
Finding harmony in web developmentChristian Heilmann
 
Developing For The Web
Developing For The WebDeveloping For The Web
Developing For The Webaleemb
 
Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Christian Heilmann
 
HTML5- The Boosting Era of Web Development
HTML5- The Boosting Era of Web DevelopmentHTML5- The Boosting Era of Web Development
HTML5- The Boosting Era of Web DevelopmentMobilePundits
 
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code CampDoing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code CampChris Love
 
HTML5 - Moving from hacks to solutions
HTML5 - Moving from hacks to solutionsHTML5 - Moving from hacks to solutions
HTML5 - Moving from hacks to solutionsChristian Heilmann
 
The art and pain of teaching JavaScript
The art and pain of teaching JavaScriptThe art and pain of teaching JavaScript
The art and pain of teaching JavaScriptChristian Heilmann
 

Similar to The road to professional web development (20)

Professional web development with libraries
Professional web development with librariesProfessional web development with libraries
Professional web development with libraries
 
Shifting Gears
Shifting GearsShifting Gears
Shifting Gears
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Yahoo for the Masses
Yahoo for the MassesYahoo for the Masses
Yahoo for the Masses
 
Travailler dans le présent - Chris Heilmann - Paris Web 2008
Travailler dans le présent - Chris Heilmann - Paris Web 2008Travailler dans le présent - Chris Heilmann - Paris Web 2008
Travailler dans le présent - Chris Heilmann - Paris Web 2008
 
Working In The Now - Paris Web
Working In The Now - Paris WebWorking In The Now - Paris Web
Working In The Now - Paris Web
 
Mobile Monday Presentation: Responsive Web Design
Mobile Monday Presentation: Responsive Web DesignMobile Monday Presentation: Responsive Web Design
Mobile Monday Presentation: Responsive Web Design
 
Lecture 9 Professional Practices
Lecture 9 Professional PracticesLecture 9 Professional Practices
Lecture 9 Professional Practices
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
 
Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)
 
Finding harmony in web development
Finding harmony in web developmentFinding harmony in web development
Finding harmony in web development
 
Developing For The Web
Developing For The WebDeveloping For The Web
Developing For The Web
 
Hacking For Innovation Delhi
Hacking For Innovation DelhiHacking For Innovation Delhi
Hacking For Innovation Delhi
 
Hacking For Innovation
Hacking For InnovationHacking For Innovation
Hacking For Innovation
 
Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016
 
HTML5- The Boosting Era of Web Development
HTML5- The Boosting Era of Web DevelopmentHTML5- The Boosting Era of Web Development
HTML5- The Boosting Era of Web Development
 
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code CampDoing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
 
HTML5 - Moving from hacks to solutions
HTML5 - Moving from hacks to solutionsHTML5 - Moving from hacks to solutions
HTML5 - Moving from hacks to solutions
 
The art and pain of teaching JavaScript
The art and pain of teaching JavaScriptThe art and pain of teaching JavaScript
The art and pain of teaching JavaScript
 
Knowing it all
Knowing it allKnowing it all
Knowing it all
 

More from Christian Heilmann

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloChristian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteChristian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteChristian Heilmann
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandChristian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerChristian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?Christian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachChristian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsChristian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansChristian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Christian Heilmann
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlChristian Heilmann
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Christian Heilmann
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)Christian Heilmann
 

More from Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 

Recently uploaded

IndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global NewsIndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global NewsIndiaWest2
 
16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdf16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdfFIRST INDIA
 
VIP Girls Available Call or WhatsApp 9711199012
VIP Girls Available Call or WhatsApp 9711199012VIP Girls Available Call or WhatsApp 9711199012
VIP Girls Available Call or WhatsApp 9711199012ankitnayak356677
 
Quiz for Heritage Indian including all the rounds
Quiz for Heritage Indian including all the roundsQuiz for Heritage Indian including all the rounds
Quiz for Heritage Indian including all the roundsnaxymaxyy
 
Rohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for JusticeRohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for JusticeAbdulGhani778830
 
Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.NaveedKhaskheli1
 
complaint-ECI-PM-media-1-Chandru.pdfra;;prfk
complaint-ECI-PM-media-1-Chandru.pdfra;;prfkcomplaint-ECI-PM-media-1-Chandru.pdfra;;prfk
complaint-ECI-PM-media-1-Chandru.pdfra;;prfkbhavenpr
 
57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdf57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdfGerald Furnkranz
 
Manipur-Book-Final-2-compressed.pdfsal'rpk
Manipur-Book-Final-2-compressed.pdfsal'rpkManipur-Book-Final-2-compressed.pdfsal'rpk
Manipur-Book-Final-2-compressed.pdfsal'rpkbhavenpr
 
Experience the Future of the Web3 Gaming Trend
Experience the Future of the Web3 Gaming TrendExperience the Future of the Web3 Gaming Trend
Experience the Future of the Web3 Gaming TrendFabwelt
 

Recently uploaded (10)

IndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global NewsIndiaWest: Your Trusted Source for Today's Global News
IndiaWest: Your Trusted Source for Today's Global News
 
16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdf16042024_First India Newspaper Jaipur.pdf
16042024_First India Newspaper Jaipur.pdf
 
VIP Girls Available Call or WhatsApp 9711199012
VIP Girls Available Call or WhatsApp 9711199012VIP Girls Available Call or WhatsApp 9711199012
VIP Girls Available Call or WhatsApp 9711199012
 
Quiz for Heritage Indian including all the rounds
Quiz for Heritage Indian including all the roundsQuiz for Heritage Indian including all the rounds
Quiz for Heritage Indian including all the rounds
 
Rohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for JusticeRohan Jaitley: Central Gov't Standing Counsel for Justice
Rohan Jaitley: Central Gov't Standing Counsel for Justice
 
Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.Global Terrorism and its types and prevention ppt.
Global Terrorism and its types and prevention ppt.
 
complaint-ECI-PM-media-1-Chandru.pdfra;;prfk
complaint-ECI-PM-media-1-Chandru.pdfra;;prfkcomplaint-ECI-PM-media-1-Chandru.pdfra;;prfk
complaint-ECI-PM-media-1-Chandru.pdfra;;prfk
 
57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdf57 Bidens Annihilation Nation Policy.pdf
57 Bidens Annihilation Nation Policy.pdf
 
Manipur-Book-Final-2-compressed.pdfsal'rpk
Manipur-Book-Final-2-compressed.pdfsal'rpkManipur-Book-Final-2-compressed.pdfsal'rpk
Manipur-Book-Final-2-compressed.pdfsal'rpk
 
Experience the Future of the Web3 Gaming Trend
Experience the Future of the Web3 Gaming TrendExperience the Future of the Web3 Gaming Trend
Experience the Future of the Web3 Gaming Trend
 

The road to professional web development