Hacker News new | past | comments | ask | show | jobs | submit login
Ask YC: Whats better than AJAX?
4 points by mattrogers1 on Oct 24, 2007 | hide | past | favorite | 31 comments
What will be the most common web application framework for the next ten years. I'm just getting started in the industry and plan to put in my time. I want to do some indepth study and have been visiting the usual channels that discuss "the best" languages. Given that you YC folks are in the eye of the storm I thought to ask you. Best,



If you'd asked this question ten years ago, the 'answer' would have been Java applets. Yeah.

Unless web browsers somehow become obsolete in the next ten years, you're looking at an evolved version of what we have now. HTTP, CSS, XHTML, and JS have plenty of room for improvement. It takes years for the standards to be worked out and longer for browser support, which is never 100%. Add a few more years for developers to take full advantage of the new capabilities.

What we'll have in ten years will be another iteration or two on what we have now.


This (http://gears.google.com/) has a lot of potential. But only time will tell what new technology really makes a difference.

Trying to figure out what is the best technology and then learning that is a great goal but I think it's more important to learn a variety of technologies and be ready to adapt quickly to new things.

Learn HTML, the document object model, and Javascript (while those do change the change is slow because of the huge installed base.) Unix is going to be relevant for a long time. Relational databases have been around since the beginning of time (Jan 1, 1970) and aren't going away any time soon. If you're good with the fundamentals then you'll be able to adapt to anything else.


Odysseus is better than Ajax.


Well, if I was to predict the future I would say that we will see new browser architectures that will allow new types of code to be written that are not currently possible. I think web browsers will be more like a VM that can run any kind of code compiled to them instead of being forced to render only HTML and JavaScript. I would take a look at the things about web development that people currently complain about and would venture to say that some smart people will get together and address them.


That sounds eerily reminiscent of Java applets.


Perhaps, if it wasn't for the screwed up security model that prevented you from doing a lot of the exact same thing that the browser prevented you from doing (for "security" reasons), the fact that most java applets had a UI that looked like shit, and that you had to write it in Java. I'm thinking more like improvements uppon Adobe's AIR platform.


People here are smart, but smart doesn't mean they can predict the future with any degree of accuracy.


Yet..


AJAX is not a framework, others build theirs based on it. Anyway, it will be hot for at least 5 years so it doesn't really matter what will replace it.

Until then, the next version of XMLHttpRequest should somehow provide a way for the server to send a request to the client, not needinng the client to make requests all the time...

Or maybe you should be asking what will replace or make better the DOM?


Probably something that hasn't been invented yet.


If I had to guess what would be big, I would guess that it could be some sort of push technology [read: not http in its current form] Currently it's difficult to create efficient multi-user systems on low bandwidth and high data rates, with RSS clients pinging servers every three minutes to check for new content and ajax calls every three seconds to check page changes and do autosaves, etc, that is a lot of undue stress on a server. Developers will start packing as much data into a single packet as possible, doing micro-optimizations, while somebody else is going to come along and re-desgin the protocol. It could still use XML and Javascript in general, with some other methods to accept data pushed from the application server(s) [bittorrent anyone?], and not the other way around. It could be huge...but alas, doesn't exist yet.


Well, this might be true. But, polling every three seconds to see if your page has changed is just bad practice. There's plenty of discussion out there on the web on how to do this better.


If you really want to prepare for the next 10 years, you're wasting your time trying to pick a framework. In essence, you'd be gambling that your pick is the right pick. Frankly, if you really think you can do that; you ought to be buying stocks and not picking languages.

Instead, what you should be doing is learning how to be an excellent technology generalist. Get a solid foundation in the "Basics" of the web. Learn a scripting language that runs on the server, learn javascript, learn CSS & HTML. The most important thing is to figure out how you pick up new languages, because if you work on the web, you're going to be doing a LOT of picking up new languages and technologies.

Not putting your eggs in one basket is a very apt analogy to how to best prepare for a career on the web.


It doesn't matter. Really. Just do something. Anything. What you learn (about everything) from the doing will be way more important than any (temporary) technical skills you acquire.


Yes, instead of prognosticating, do something. The domain and business experience are more important than the hacking stuff you learn (come on, you don't want to be a hacker in 10 years anyway, do you?)


If Adobe AIR and Microsoft Silverlight continue to gain traction then they could begin to replace AJAX-style implementations for feature-rich web sites.

The key word here is could.


Ok. This comment will be a little over the top, but here goes. I'm actually getting sick of how MS releases products. I never used to care enough to think that having everything under the sun covered was a problem. I think in the end, Microsoft's enormous technology and feature base will be what does them in.

To use Silverlight as an example, I think it sucks. It's bloated and I don't get it. I'm tired of playing catch up with MS technologies and all the freaking featues they pack into them. I mean: ASP.NET. ASP.NET AJAX VB.NET 3.0, LINQ, F#, C#, J# (being retired), VBScript, VS 2003, VS 2005, VS Team Foundation, Windows Workflow, Windows Communication Foundation and Windows Presentation Foundation. Seriously?

Windows Workflow in particular is extraordinarily huge. If keeping a program in one's head is important (and it is), then it's not going to happen with Windows Workflow. As I get more comfortable knowing what I want to code and how I want to code it, I'm finding myself just wanting to use stuff that gets it done in the path that is the most natural to me.

Silverlight? No, thanks.


From what I have read silverlight is actually the opposite of what you said. Granted I dont know if its all true, only regurgitating what I have researched and read. It's actually not that bloated and is supposed to run javascript about a 1000 time faster since its compiled and not interpreted. It will be interesting to see how it develops and competes with flash.

I agree that keeping up with the many languages is difficult. But it's necessary if you want to be the best and on top of the game. Test drive a lot of different languages and pick the one that meets your needs and feels most comfortable. Sometimes driving more then one language is the best option.

We could argue until we are all blue in the face about what the best language is and what the next "big one" will be. I wouldn't focus as much on the language in 10 years, no one is looking to utilize that today. The future is important (as many get rich making it) but keep in mind a lot of companies that have been ahead of there time got bit in the ass from it.


I'm not familiar with silverlight but if it's not cross platform (does it run on my Linux box) it's bound to loose. One of the advantages of building web applications is that people on any platform (pretty much) can run your application. Microsoft has been trying to maintain their Windows desktop monopoly by pushing technologies to write websites that only work with Windows/IE. Once again I don't know if SilverLight suffers from this but knowing Microsoft I would guess it does.


Microsoft has been untraditional in their ways with Silverlight by developing and openly promoting cross platform versions of it. I know there is an OSX version and I think a Linux version is in the works.

They must realize that the only way they will gain acceptance amongst hackers is to convince them that Silverlight is not a traditional MSFT product. A few months ago they were kissing ass to Arrington and a few others trying leave positive impressions about the platform and convince everyone of its openness.

But they may already be in trouble because AIR seems to have an edge in early adoption so far. Pownce is written in AIR for example.

It'll be interesting to see how things play out. There is a huge need for certain features of Silverlight and AIR (like local file system access and a network API), but I dont know if those will be compelling enough to drive either of these to "critical mass".


There is an open source version being built for Mono:

http://www.mono-project.com/Moonlight


Flex, undoubtedly, for more involved stuff.


I've actually grown weary of the whole browser/css/javscript crap that I have to deal with to make things work... I've been playing with Flex lately. It's a step back in some ways, but it is nice in others. Feels more like thick client development than thin client.


How so a step back?


Really a lot of my pain is the IDE (eclipe is a step back from something like VS.NET 2k5 with Resharper, come on ctrl-tab doesn't work!), but some of the things feel half baked (if you are doing "code behind" components, you have to name them different things since there's no concept of partial classes or even files with the same name, but different extensions (mostly because the .mxml is compiled to .as3 with the same file name I think)).

You end up having to write a lot of custom controls simply because the ones built in are great for rapid POC type stuff, but aren't necessarily what you want for your "real" app. Then you're just trading one set of community developed stuff for another.

I also looked at OpenLazslo and it's pretty neat, although it's lack of IDE, community support and the fact that it's stuff crashed my system a bunch (nothing like having to install tomcat on a vista box) turned me off (the ol site was down while I was testing it, and has been down numerous times when I've been demoing it, so that's a huge problem).


I would look at http://www.symfony-project.com/ - the PHP framework del.icio.us is being rewritten in

and

http://junctionphp.com/ - Junction: a PHP 5 object persistence layer


SVG with JavaScript on both client and server and code migration.


Comet.


Not-AJAX.


flash


XJAX




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: