

The Web as a Platform? - aalittle
http://aalittle.com/the-web-as-a-platform

======
mindcrime
The Web _IS_ a platform. The things TFA is talking about, angular.js, Play,
etc., are just tools / libraries. The platform is TCP, HTTP, HTML, CSS,
Javascript, etc. And what makes it beautiful is that you can build anything
you want on top of that platform, _without_ worrying about what Google or
Apple or Microsoft or IBM or $WHOEVER thinks.

Curation? Beautiful app-stores? Feh. I'll pass on both if it means giving up
the freedom to build anything I can imagine, which is what you get with the
general "web as a platform".

Never mind nobody is forcing you to "play keep up" and constantly use the very
latest and trendiest tools all the time. I haven't even touched Angular.js,
nor do I have any overriding desire to do so anytime soon. Same for Ember.js
and any number of other libraries. I'm sure they're cool, but I'm too busy
building stuff to spend all my time evaluating libraries. But it's neat to
know that they are there, and one day down the road, if I start to feel the
right kind of pain, maybe I look at pulling in one of those (or whatever the
"library du jour" is at the time).

~~~
alttab
"I wish there was one straight-forward way to build awesome applications on
the web like there is with mobile development. I want someone to hold my hand
the whole time."

On the internet, you keep 100% of the revenue you bring in. On the internet,
you do 100% of the work, too.

~~~
ebbv
While you're right about 100% of the revenue (minus Paypal, Visa/Mastercard,
etc.) I disagree you do 100% of the work when compared to iOS/Android
development.

I actually love the tools we have available to us in webdev, and think it's
actually quite a lot easier than native development for mobile platforms. It's
so much easier to debug and work on a web app in real time in Chrome dev tools
than it is to fire up the iPhone/Android simulator apps.

~~~
rimantas

      > "quite a lot easier than native development for mobile
      > platforms"
    

I am going to bet that anyone claiming things like this did not ever half-
heartedly attempted to look into native development and has no idea how much
native frameworks have to offer.

~~~
ebbv
You'd be wrong. I have done quite a bit. They have a lot to offer, but I think
web development is easier and faster.

~~~
alttab
Still, you need to be way more qualified to build a successful SaaS or
anything interesting on the internet. To build an iPhone app all you need is
an Objective-C book, a mac, and $100.

~~~
ebbv
All you need to build a web app is Chrome, a text editor and a $5/mo hosting
account. :D

~~~
alttab
Maybe for you. Many highly used web services require non trivial backends. If
you have an html5 app that uses local storage, you could host JavaScript for
$5 a month, sure.

------
thegoodlab
> In some respects, the plethora of choice this problem represents is the
> power of the web, but overall I think it does the web a disservice because
> there isn't enough weight put behind a single platform.

Fair argument (I guess?) but the opinion comes down to, do you prefer an open
and ever-changing ecosystem that has no limits on what you can build and how
you can build it; or do you prefer a contained ecosystem dictated by a few
powerful stakeholders who subtly apply their own methodologies and beliefs, to
shape the capabilities and limits of the platform?

The latter seems like a slippery slope and would eventually serve the the
powerful stakeholders rather than the people building the platform. The
former, while it may require a higher learning curve, puts more competition
between technologies that enhance the platform, and doesn't dictate what or
how things can be built, serving the developers and users above all else.

Personally I would prefer the former.

------
pfraze
Ahh... no, I'd rather that didn't happen. Not yet, anyway.

We are jumping around between client-side frameworks, but I think that's
because a clear winner hasn't emerged yet. Each new one is reacting to the
last, and the decisions are still being tested.

I think the situation will solve itself when the winner shows up. It's not
just an adoption problem-- it's a utility problem-- so having a big company
put their weight behind one choice would lock us in prematurely.

------
drawkbox
Lock-in ease. Most of the mobile frameworks attempt to lock you in to their
platform. So they are specifically meant to be easy. This really is the
Microsoft playbook of old. You want resistance and choice to be minimized in
this case, and lock into tools and platforms due to their ease. On the web all
the libs/frameworks are really just faster ways to use web technology
(HTTP/TCP/etc), where native apps have to tie into hardware and systems so you
must use them so there can be only one. There are actually lots of ways to
develop for mobile beyond these frameworks though.

But even within these frameworks (Android, iOS) things are changed and swapped
out at their will i.e. changing UIKit, Apple switching from Carbon to Cocoa,
In-App Billing changing etc. So lock-in sometimes creates massive ripples of
forced change.

If you are making cross platform apps, like the web is cross platform, that is
where things get more difficult. Complexity goes up, more solutions appear to
solve and iterate on the problem. The web and web tech is the best solution we
have for cross platform currently.

------
iSnow
Uhm no, thanks.

I have developed for Android and while it's XML-based layout system has nice
enough foundations, it is really showing it's age. The interaction between
different layouts, gravity hints, weights and screen sizes has grown
nightmarish - and in contrast to the open web, there are not many good third-
party additions to sanitize the morass.

You want your app to run on 2.2 - 4.1? You will have to re-implement a lot of
the newer features yourself or stick with the old ways - something like jQuery
that papers over the differences is rare on the single-provider platforms.

IMO the web as a platform had a lot of catching up to do but it's pace has
outgrown both Android and iOS which are not exactly stale but do no longer
innovate with the speed they did 4 years ago.

On the web, you can pick your tech stack and stick to it for some years,
there's no need to switch everything over to the latest tech each year.

------
outside1234
If you let Google choose, the platform will be in Java.

God, please no.

If you let Twitter choose, the platform will be in Scala.

God, please no.

That's why we are where we are. I don't want to develop in that gunk, but
others do.

~~~
mynegation
What would be the platform if we let _you_ choose?

------
ryanolsonx
well, what's great about the web as a platform is that it is only one
framework. the web. It renders HTML, styled with CSS, and is programmed using
JavaScript. unless you count server side languages. you can use JavaScript
libraries if you choose but that's your choice. If you decide to use
Backbone.js and then you find out Angular is more popular, that's okay because
in the end, you're still writing code for the same platform. that is why the
web is so great. just write a good HTML 5 application and it will work on most
devices--especially native html5 phones.

------
michael_miller
I don't think we'll see big companies throwing their weight behind iOS-quality
web frameworks in the near term. It would be misaligned with their incentives.
When Apple develops UIKit and the associated development tools, they convince
developers to move to iOS. When Google develops Android, they convince
developers to move to their platform. When someone makes a web framework, they
convince people to move to a platform where they have no skin in the game. You
don't sell more devices through convincing people to move to an open platform.

Further, I think the author hugely underestimates the effort that goes into
designing an iOS/Android quality framework. Those frameworks go way beyond the
MVC microframeworks that are the rage these days. These frameworks consist of
many detailed high-quality images, gradients, sheens, and finely tuned
animations. You can't just start an open source project and expect engineers
to magically produce these assets in a coherent manner. It takes a large team
of designers (and a dictator) many man-years to produce these assets.

------
mehdim
This is the script.google.com and webshell.io project, making a cloud
framework for APIs, so for the web-as-a-platform enabling developers to use
webservices with a unique Javascript interface.

It follows the defacto standards of the web and not trying to invent a new
standard.

\- HTTP

\- REST/JSON

\- Node.js ( Google prefers using Rhino because Appengine does't support
Node.js but Java)

\- Github (Google prefers using Google Drive)

\- Javascript as the glue of APIs by transforming API endpints into Javascript
Objects, client-side or server-side.

\- HTML views to generate with API calls

Webshell.io has an open API that Google Apps Script doesn't yet.

The webshell's blog is "building an internet operating system" for the web-as-
aplatform, where APIs are the "drivers" of the web.

So definitively the web as a platform is coming.

The true question behind this post is : the web is a decentralized network, so
will developers will use a centralized platform for making applications on the
web? Is open source platforms the solution?

------
yalogin
I don't see why that is a complaint or an issue? Its the good part about the
web. No matter what you choose you can build your app using it. The standards
around the web are open and with IE's popularity down you no longer have to
learn the quirks of any specific implementation. So its the way things should
be.

------
robmcm
It's worth pointing out that there are a ton of frameworks and libs for
propriety development environments too. Even where there is a dominant
framework you then get micro architectures on top of that.

With the web as an application development platform it's still very young and
there is yet to be a defacto standard for a few years. Until then frameworks
will come and go. jQuery for example more or less won out against dojo or
prototype (and I expect 100's of others that were less popular).

The democracy that drives the web forward is a double edged sword. While the
Android, iOS SDKs are great now, they may well be dead in a few years, whilst
the web will still be here. Just ask Swing, JavaFX, J2ME, Enyo, Symbian, Flash
or Silverlight developers ;)

------
mark_l_watson
I have some sympathy for the author's complaint about a lot of web "platforms"
compared to iOS or Android development. I have been going a little crazy for
the last few weeks ([http://blog.markwatson.com/2013/03/i-am-still-looking-
for-a-...](http://blog.markwatson.com/2013/03/i-am-still-looking-for-a-good-
rich-web-client-stack/)) trying different stacks for rich web app development
for a new project. BTW, I settled on: HTML5 with Bootstrap with separate
ClojureScript to manage all events and interaction with the server. After some
of the more complicated things I have tried, this simple stack is like a
breath of fresh air.

------
debergalis
It's unfortunate that the typical web development experience forces
application developers to shoulder most of the burden of assembling and
release engineering their stack. Quite different from building against iOS, or
Win32, or Android. That's too bad: it's a big time investment, and it limits
the set of people who can build and maintain a real application in production
to those who've learned a surprising amount of releng.

Imagine how different the Linux ecosystem would be without distributions. The
individual modules don't all have to come from the same place. But I think the
OP's point about curation is spot on.

------
jiggy2011
That could only work if one company can produce something so comprehensively
better for every task that it would be madness to choose anything else.

The only other way to achieve this would be for one cloud provider to gain
critical mass and then drop support for anything other than their preferred
framework.

------
k__
For most people a safe and easy job is more important than freedom.

Can't blame anyone for this :)

------
_pferreir_
The web is an open, diverse and ever-evolving ecosystem, and I hope that it
remains this way for years to come. OK, there are no silver bullets nor
panaceas, but that's more of a quality than a shortcoming.

------
tmanderson
Those companies are investing in that framework. It's currently in the form of
a bunch of drafts on W3C. Web components and the shadow DOM are a few that
embody what you're talking about.

------
ebbv
As others have said, the Web is a platform and it's one that not just one
company but all the big companies (Google, Apple, Mozilla, Microsoft, Yahoo!,
Facebook, etc.) are all behind.

TCP, HTTP, HTML5, ECMAScript 6, CSS3. These technologies make up the Web
Platform and it is consistent.

The problem is that rather than learning the standards, people like the author
focus on learning libraries like Backbone.js or whatever and then when it's no
longer the trend of the week they feel lost.

Learn the platform and you will be better off. You will find that picking up
libraries is a lot easier when you understand what it is the libraries are
built on.

Not a very good blog post, I must say.

~~~
mattmanser
ECMAScript 6? Now that's some serious optimism.

~~~
ebbv
Ok maybe I should have said 5 but, yes I'm being uncharacteristically
optimistic in hoping that learning it will be useful in the near future. :)

------
dreamdu5t
This reads like the classic frustrations of an inexperienced and overwhelmed
web developer. The web _is_ a platform. There are standard practices and
toolchains. Many frameworks are backed by companies.

I enjoy web development much more than iOS or Android development. The
freedom, the speed, the easy debugging, the numerous choices for the tech
stack and development environment... The list goes on.

------
oscargrouch
web is a "constantly patched" platform.. it was not created to do the things
it does today, in mind.. and any good engineer knows that if you dont plan
well ahead of time.. things will get scary over time..

the web is showing its age.. it time to move on.. is the application platform
the answer? i dont think so.. but at least it show us some hidden truths about
what a developer really wants and need..

the web platform was never a dream platform to us to embrace.. it was the only
safe boat at a time, when platform wars were making us (technologists) more
bald, poor and nuts.. you know.. because they always want the control..
markets, profits, whatever..

the thing to worry about.. its the: "ops, we did it again" factor .. now we
got a dejavu feeling back to the nineties as a new platform wars arrives.. :(

------
jsnk
I don't really understand what op means by 'platform' The example he gave are
things of different category. Angular and ember are client side web frame
work. Play is not. Dart is a programming language and WebKit is a browser
engine.

