The Web has become the de facto storefront online, beating out a litany of competing technologies, and many desktop and mobile applications rely on a Web-based back-end.
While the Web is only getting more complex, the fundamentals remain the same. In this talk, Josh will outline core concepts and technologies as well as the choices we face including:
- which languages to use
- when to use a framework or a content management system
- how to specialize in a saturated industry
While this talk is tailored for people who are new to web development, the latter half provides a great opportunity for seasoned professionals to explore the technology landscape beyond WordPress and PHP. It will also be useful for decision makers, such as marketers and technical project managers.
1. Becoming a Web Developer
The Web Way from Start to Finish
@joshsimmons community manager @oreillymedia @oscon @fluentconf
Italio Dalla Spazio by NASA CC-BY-NC 2.0
7. Gotchas
Rise of the Expert Beginner
JavaScript Required
Photoshop First
Bloat
Documentation
Input Sanitization
Law of Leaky Abstractions
8.
9.
10. The Law of Leaky Abstractions
“[T]he abstractions save us time working, but
they don't save us time learning… [E]ven as we
have higher and higher level programming tools
with better and better abstractions, becoming a
proficient programmer is getting harder and
harder.”
- Joel Spolsky
27. “With the rise of native apps and
the Internet of Things (IoT), you
might think we’re leaving the web
behind.
We’re not.” — Simon. St Laurent
28. Becoming a Web
Developer
community manager
@joshsimmons aka bluesomewhere
@oreillymedia @oscon @fluentconf
want the slide deck?
slideshare.net/joshsimmons
20% off O’Reilly Fluent or OSCON
reg with code: CMSCALE
free ebooks on web development:
oreil.ly/scalewebdev
Notas do Editor
hello! I am…
today we’re covering:
web tech: core and adjacent technologies
web thinking: the grain of the web (thx Frank Chimero)
tools and process
practical considerations
“stacks”
gotchas
next steps
housekeeping
slides are NOT that interesting, based roughly on outline of the book I’m writing for O’Reilly, but there ARE speaker notes and the slide deck will be posted to Slideshare as well as Internet Archive (along with audio and video)
note taking encouraged
some may be basic if you’ve been in the industry, but unlike other web dev intros I include a bit of philosophy and history…. basically, vote with your feet!
feel free to raise your hand for questions, I *may* wait until the end of the slide, but I’ll take as many questions as I can
of course, I work for O’Reilly, which means there’s a free ebook (I’ve picked 12 relevant titles) waiting for you at the end of the talk, as well as discounts to Fluent and OSCON
ready?
What is the web platform?
Sir Tim Berners-Lee at CERN
HTML, CSS, JavaScript
separation of concerns
standards not monoliths
(but really only rely on HTTP and HTML)
Stacks
sets of tools and server side languages, we’ll go over these later
Servers
name servers (domains come from registrars)
mail
databases
web
Standards
arbiters between browsers, vendors, and developers
HTML: W3C and WHATWG
CSS: W3C
JavaScript: Ecma International
Open Source
Linux, Apache, and much much more
don’t forget this used to be radical
Web Services
think web 2.0, AJAX, and Google Maps
increasing complexity!
API’s out there for doing natural language parsing, guessing a person’s location based on IP address,
The Uncertain Web
browsers, devices (phones, cars, watches, TV’s, virtual reality), humans and robots
NPR’s COPE!
Editors
from Notepad to Sublime to Eclipse
Version Control
Git, mostly
Compilers
not common in web development
but cross compilers are becoming more common
as are automated build processes
Project Management
pick a tool and stick to it
iterative vs waterfall methodologies (false dichotomy, BTW)
Distributed Development
ad-hoc teams and remote working
communication
testing
LAMP’s ubiquity (but really less LAMP these days, Nginx, Postgres)
Frameworks and CMS are what most development happens with, very little ground-up, unless you’re building one-off tools (omg WordPress and Durpal)
*complexity/decoupling/low lvl vs high lvl etc
last one, then on to Join the Community
Give Back
WIMPgives
open source
standards
Get to Work
supply / demand
freelance, agency, startups, SMB, enterprise
specialization
high level engineering and architecture
web operations and devops
user experience design and information architecture
data science
management
marketing
Never Stop Learning
books, blogs, and videos
courses and bootcamps
community and corporate conferences, regional and national
when not to use the web?
I like to think of native as the testing ground for what gets rolled into the web
web icons can be on mobile screens
web can use microphone and webcam
web can use local storage
don’t use the web when: the features you need are cutting edge and not well supported or they’re slow