

Ask HN: What are current trends in webdeveloping? - john33

I've been out of the business for last few years and I am wondering what's new. I'd like to know what should I read about to get up to date. I am not only interested in new technologies but also trends like eg. "web 2.0".
======
arkitaip
Big trends are: mobile computing and development: developing apps for smart
phones and other mobile devices is the gold rush right now. Every company
seems to be working on offering an app right now.

Maturation of social media: it's time for businesses to actually start getting
value from social media. Developing useful services, products or even
approaches could be very profitable. at the very least, you should know if,
when and how to use social media for your business.

html5/css3/js frameworks: right now there are lots of technologies competing
to be the platform for next generation web apps/sites. html5/css3 are around
the corner and look very promising, even for very complex apps. We are also
seeing how javascript frameworks are becoming absolutely necessary tools for
everyday web development. Solutions such as node.js take js to a whole another
level. These web standards might soon become powerful enough to compete with
Flash for audio/video centric sites.

"New" languages: ruby and python continue to gain market shares while there
are new promising languages such as Scala and Clojure.

Cloud computing: hate the term all you want but companies such as Amazon are
revolutionizing hosting and computing. Also check of what hosting companies
such as Linode or Slicehost are up to.

NoSQL: if you are working with very large data sets the various solutions
offered by the NoSQL camp might be interesting. Be, however, cautious because
it's all very new and challenging to use in production.

Game mechanics aka gamification: more and more sites are using typical game
mechanics to create richer user experiences. Facebook, Zynga and Foursquare
are the most successful companies doing this.

SEO: the biggest news on the SEO front is ... that it isn't news anymore.
Everyone is doing it and so should you - from the very first day. Facebook and
Twitter has had a huge impact on SEO and web marketing but the basics are the
same: create great content/services and build relationships.

Web design: graphical trends come and go but the things that are here to stay
are: a/b testing; using web standards (again html5/css3/js) instead of flash,
images and other, less flexible/semantic technologies; better layout support
for mobile devices; css frameworks such as Sass; CMS frameworks such as Drupal
or Wordpress are commonplace, even for very demanding sites.

~~~
chopsueyar
How has Facebook had a huge impact on SEO?

~~~
gentrysherrill
Several ways, first and foremost that google or yahoo are no longer everyone's
de facto home page, and secondarily that facebook and twitter have both
evolved into platforms with search functionality. SEO is still growing
annually (as are digital marketing expenditures), but 5 years ago search
engines were the only game in town. Not so anymore, and that's primarily due
to the emergence of social networking portals as the focus of most users'
online time.

~~~
chopsueyar
_SEO is still growing annually (as are digital marketing expenditures)_

Can you please clarify this? What do you mean?

~~~
gentrysherrill
I should have been more clear - I meant that marketing expenditures on SEO and
SEM are still growing year over year, though not at the rate they once were.

------
andrewvc
One trend, if you can even call it that, that I really like is version
controlled virtualized dev environments.

Tools like Vagrant (a toolbox for Chef + Virtualbox pretty much),
(<http://www.vagrantup.com>) Make it possible to version your stack alongside
your app and only require one person on the team to maintain it as new
requirements for configuration or software get pushed to dev VMs with their
regular git updates.

------
clyfe
Coding the whole app in JS in the browser and using the server only for
proxying data and validation/filtering.

See: SproutCore, Cappuccino, Backbone.js, JavaScript.MVC

Avi Bryant's "Django is obsolete, but so is everything else"

[http://python.mirocommunity.org/video/1186/djangocon-2009-dj...](http://python.mirocommunity.org/video/1186/djangocon-2009-django-
is-obsol)

Yehud Katz's

<http://yehudakatz.com/2010/09/14/heres-to-the-next-3-years/>

------
TamDenholm
Its quite hard to give an unambiguous answer because its quite a vast subject
with many niches in it and what some people consider a trend, others might
not.

Node.js, has got a lot of press at least here on HN as well as other places.
Obviously HTML5/CSS3 and associated technologies now being implemented in the
browsers. Javascript is still going very strong, i think it'd be fair to say
if you dont know JS well then you're at a significant disadvantage, even with
the likes of JQuery that makes it easier. NoSQL is also an already vast area
worth research that is continually growing.

Game mechanics, location aware sites, scaling issues and as always API
availability come up often.

I've probably missed a few things that others will suggest, but i wouldnt
worry about it too much, once you hang around for a while in the communities
over the internet you'll notice the trends for yourself.

~~~
olalonde
Excellent list. I would also add:

\- A/B testing

\- OpenID/OAuth

~~~
pbhjpbhj
>OpenID/OAuth

\+ Facebook, Twitter, Blogger, etc.

Authorisation via third parties, definitely a recent trend.

------
olefoo
The good:

* Typography on the web is almost acceptable

* Real time interactivity has a functional standard now (websockets).

The Bad:

* Some people are spending a lot of time papering over the cracks in CSS.

* The semantic web is still 5 years away from mainstream acceptance.

The Ugly:

* Spam you will always have with you.

* OpenID still rules in theory but sucks in practice.

------
mattmanser
For the last _few_ years? Looking at the answers so far, I think a lot of us
have short memories!

Depending what few means, my list is below. Some of these things may have been
the new hotness when you ducked out, but I'm listing what has become
mainstream:

\- MVC, makes building websites more robust, every major language has a
framework for this now

\- ORMs, every framework has a pluggable object-relational mapper for getting
rid of your basic CRUD code

\- Ruby on Rails or Django (Python) are mainstream ways to develop web
applications. Both based on MVC.

\- People still hate PHP, but it's still incredibly popular

\- Internally a lot of companies still use ASP.Net, it's still awful, but
ASP.Net MVC is pretty good

\- In data transfer JSON is king, XML is dying, SOAP is dead (thank god)

\- if you're developing a sales site, include a/b testing

\- The rise of the API, lots of online services now offer online APIs. You can
also plug a lot of functionality onto your website by using other people's
services (e.g. uservoice.com for feedback, visualwebsiteoptimizer.com for a/b
testing)

\- Javascript frameworks make writing javascript much better, jQuery has
pretty much won the framework war

\- Lots of plugins are available for the js frameworks. No more having to roll
your own table sorting solution

\- Cloud Computing can be a cheap, reliable and scalable way to launch an app
now. At minimum know about Amazon s3 (storage), but you can now host whole
applications on scalable systems

\- OAuth, you don't need to roll your own login system anymore for certain
types of web application

Oh yeah, and for web design:

\- Use divs, not tables for layout. No-one even argues about this one anymore

\- Wordpress + a theme is an acceptable way to create a good looking website

\- Know the basics of SEO, your clients often will

\- As a rule of thumb, if you're nesting lots of divs, you're probably doing
it wrong

\- use a reset.css. A lot of people also use a grid for layout, something like
960.gs

\- Html5, we're getting some more tags (mainstream soonish, probably when IE9
is released as I'm guessing most IE8 users will upgrade; IE8 doesn't really
support the good bits). Depressingly being lauded as amazing when it's
actually very meh. Still mandatory learning though.

\- The browser landscape has shifted dramatically, IE is dying properly now,
Firefox is mainstream, Chrome is amazing, Safari is used a lot more because
Macs sell more as do IPhones (you probably can't have missed this ;)

------
elroyjetson
Mobile. I can't emphasize that enough. Mobile is getting smaller and more
capable with every generation. Technology that everyone agree's has huge
potential in this space, like augmented reality and geolocation, have yet to
produce any clear winner must have products, so the market is wide open in
this space.

------
giardini
Many here are emphasizing the rise of client-side Javascript methodologies and
I would like to play Devil's advocate. Instead I argue that client-side
solutions will fade because they are largely unnecessary.

Desktops today have multiple CPUs and high bandwidth. But hand-held devices do
not, and that is the sector expected to grow faster. The same solutions that
worked on a desktop yesterday with dial-up are needed for hand-held devices
tomorrow.

Yet, as wifi proliferates, bandwidth increases and latency decreases, the
distinction between server and client fades and where processing occurs
becomes less important. The least expensive solution will likely prevail. It
seems that server-side centralization of processing is more likely both in the
short and long run, despite the current plethora of client-side tools,
frameworks and methodologies.

My assumptions include the first 4 of the "8 Fallacies of Distributed
Computing" (below). But my belief is that market forces will drive acceptance
in hand-helds of what has already been accepted in cellphones (that is,
inexpensive, unreliable, insecure, limited-bandwidth solutions), and
simultaneously drive network solution providers to more reliable, secure,
higher-bandwith capability and so those maxims no longer fully apply (or,
better said, the customer no longer cares).

Note:

The 8 Fallacies of Distributed Computing:

1\. The network is reliable

2\. Latency is zero

3\. Bandwidth is infinite

4\. The network is secure

5\. Topology doesn't change

6\. There is one administrator

7\. Transport cost is zero

8\. The network is homogeneous.

------
DanielRibeiro
The support of other languages other than javascript. Mentioned by Joshua
Block on a recent panel ([http://www.infoq.com/presentations/Future-of-
Programming-Lan...](http://www.infoq.com/presentations/Future-of-Programming-
Languages)), but can be seen by the adoption of coffeescript, and by the
project that compiles LLVM languages into javascript:
<http://news.ycombinator.com/item?id=1941447>

~~~
pbhjpbhj
I actually think we've moved away from other languages and back to javascript
recently. The browser competition means that javascript engines have become a
lot faster and so are capable of a lot more than they were and things like
jQuery/prototype/moo paired with json the recent developments like node.js,
commonjs have given it longevity.

This established base makes it hard to move away from js, but then what reason
have we at the moment?

But are you saying, as it appears at the end of your para, that we're getting
more meta-langauges that compile to js script?

~~~
DanielRibeiro
Not only more meta-languages. In the second link it's shown how Lua can be
compiled to javascript. And in time, python, ruby and other LLVM languages.
Reframing javascript from a language into a platform is a trend. GWT,
Cappuccino and Sproutcore did a bit of it in the past, but this wave is not
interested in web javascript only, but in javascript wherever and whenever:
node.js, web, embedded, etc

------
EJE
In addition to the NoSQL camp, it seems that a new method to replace tier 3
programming is CouchDB. Specifically, the CouchApp.org that was posted
yesterday on HN. The CouchApp "can be served directly to the browser from
CouchDB, without any other software in the stack".

<http://couchapp.org/page/what-is-couchapp> <http://couchdb.apache.org/>

------
Pewpewarrows
Much less of an emphasis on the "enterprise-y" languages and frameworks like
Java and .NET, and people finally realizing how terrible PHP is as a language.
Python and Ruby continue to gain lots of momentum, specifically Django and
Rails.

Uing HTML5/CSS3 now, long before the specs will be completed with things like
the HTML5Shiv, or my favorite, Modernizr.

Because of the ever-increasing popularity of frameworks like Django/Rails,
it's very easy to write your API first, then dogfood it back onto your main
website and mobile apps. It's the best way to quickly identify flaws in your
own API and constantly be striving to improve it. Some companies are even
choosing to get their mobile development done before their website even
completes.

Connectivity is huge now. Whether it's not needing to roll your own user
registration or auth system anymore by just using OpenID, or keeping your
users connected with their favorite social sites while still on yours through
OAuth, your website is no longer mutually exclusive from the rest of the
internet. Average users almost expect you to be social and integrated.

~~~
aurora72
Could you tell us why the PHP is a terrible language?

~~~
overgard
I've only used a PHP a small amount, so admittedly my observations are from an
outside perspective, but there are a number of quirks that bother me about it
(small example: (string)"false" == (int)0 ... seriously?). Seems nice enough
for small projects that I just want to deploy quickly though.

What really scares me away are hearing quotes from the author like this:

"There are people who actually like programming. I don't understand why they
like programming."

And this:

"I'm not a real programmer. I throw together things until it works then I move
on. The real programmers will say "yeah it works but you're leaking memory
everywhere. Perhaps we should fix that." I'll just restart apache every 10
requests."

I can't trust a language from someone that says things like that. I know
there's a whole community of people working on improving it now and so on, but
it strikes me that the language was never designed very well, it's just been
repeatedly patched to suck a lot less.

~~~
chopsueyar
Wow. So is it turning a string into a constant?

------
alexro
'Mobile' and 'Location' is the new 'web 2.0' setup at the moment. Everybody
can spell these at their sleep but few know how to make profit out of it.

Another under-explored opportunity is 'social games' where unlike traditional
games people focus more on social interaction than on the game dynamics and
interface quality - think minecraft or farmville

------
bd
Big thing in 2011 will be hardware accelerated 3d.

You know the time is becoming right when, after many failed attempts, there is
not just one but three viable platforms: WebGL, Adobe Molehill and Unity on
Google's NaCl.

All three should finally pop into mainstream sometime during the next year.

Disclaimer: I'm biased, spending a lot of time on WebGL recently [1] ;)

[1] <https://github.com/alteredq/three.js>

------
zokier
It's interesting to read the comments. Many mention that Ruby is still
growing, but I have the feeling that its already peaked and now fading[1]. I
also thought that NoSQL was just a silly fad, mostly being laughed at[2].

[1] <http://www.google.com/trends?q=ruby+web%2C+python+web>

[2] <http://www.xtranormal.com/watch/6995033/>

~~~
clyfe
Ruby is definitely not fading!

[http://www.google.com/trends?q=ruby,+python&ctab=0&g...](http://www.google.com/trends?q=ruby,+python&ctab=0&geo=all&date=all&sort=0)

[http://www.google.com/trends?q=rails,+django&ctab=0&...](http://www.google.com/trends?q=rails,+django&ctab=0&geo=all&date=all&sort=0)

~~~
tl
Ruby and Python are both terms where the common meaning confounds the
programming language on Google Trends.

* Python still has a viable niche (scientific computing, stats, etc...)

* Ruby's niche (mvc websites) got copied by every other decent language

* Ruby is in decline relative to Python: [http://www.google.com/trends?q=ruby+language,+python+languag...](http://www.google.com/trends?q=ruby+language,+python+language&ctab=0&geo=all&date=all&sort=0)

~~~
clyfe
* No MVC copy managed to be a better Rails

<http://www.youtube.com/watch?v=up0kiOJvUpI>

* One more link for you

<https://github.com/languages>

------
siculars
-nosql: 'post-relational' or 'non-relational' persistent data stores.

-nodejs: server side javascript

-api mashups

-oauth and all the identity systems. facebook, twitter, google

-location: foursquare and the like

-mobile apps

-html5/css3 will be the new hotness

------
Morendil
[http://en.wikipedia.org/wiki/Continuation#Continuations_in_W...](http://en.wikipedia.org/wiki/Continuation#Continuations_in_Web_development)

------
pbhjpbhj
Define "web developing". I know it sounds silly, but it means different things
to different people - I'm a lone web designers in my spare time, some people
call that web developing. Do you really mean just backend client-server
interactions or do you mean GUI, UX, SEO and what-not up front too?

------
to
nodejs & mongodb are the most important trends for me. an evented language and
a easy scalable nosql db.

