Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

[ Create a new account ]

Move Over AJAX, Make Room for ARAX

Posted by ScuttleMonkey on Fri Jun 06, 2008 01:48 PM
from the not-a-typo dept.
sasserstyl writes "eWeek reports that Microsoft's Silverlight platform will support Ruby client-side scripting, enabling ARAX — or Asynchronous Ruby and XML. Would be cool to have the option to script client-side in something other than Javascript. 'In essence, using ARAX, Ruby developers would not have to go through the machinations of using something like the RJS (Ruby JavaScript) utility, where they write Ruby code and RJS generates JavaScript code to run on the client, Lam said. "Sure, you could do it that way, but then at some point you might have to add some JavaScript code that adds some custom functionality on the client yourself," he said. "So there's always that sense of, 'Now I'm in another world. And wouldn't it be nice if I have this utility class I wrote in Ruby...' Today if I want to use it in the browser I have to port it to JavaScript. Now I can just run it in the browser."'"

Related Stories

[+] Developers: Little Demand Yet For Silverlight Developers 314 comments
ericatcw writes "At its Mix08 Web development conference, Microsoft said that its Silverlight rich Internet application platform is downloaded and installed an average of 1.5 million times every day; Microsoft has a goal of 200 million installs by midyear. But Silverlight is at the beginning of a long slog towards gaining traction. Computerworld did a quick analysis of job listings at nine popular career sites and found that an average of 41 times more ads mentioned Adobe's Flash than mentioned Silverlight. As expected only 6 months after Silverlight's introduction, the number of programming books carried on Amazon.com was also heavily skewed in favor of Flash."
[+] Microsoft Prefers Flash To Silverlight 306 comments
An anonymous reader writes "Microsoft still has not adopted Silverlight, and uses Flash all over its websites. 'Despite all the controversy over Microsoft using Silverlight to take over the rich internet market from Adobe Flash, the software giant seems to be not even trying. In fact, even most Microsoft web sites are using Flash instead of Silverlight.'"
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login
Loading... please wait.
  • by Anonymous Coward on Friday June 06, @01:49PM (#23684615)
    Does yours?
    • Last week they embraced ruby. Now they are extending it. I can't wait to see what they'll do next!
      • by bsDaemon (87307) on Friday June 06, @01:53PM (#23684677)
        If they extinguished it, who would notice? Seriously -- I'm not trying to troll. WTF is Ruby and what is so great about it? It just seems like Java for people who hate Java from what little research I've done on it, but it also seems to be very popular (of course, hating Java is popular, too).

        Can someone please tell me?
        • It's a scripting language that was under the radar until Ruby on Rails came around. Rails is a well done framework for Ruby that opened up the language to the masses.

          And because you brought up Java too, there's also JRuby, a Java implementation of Ruby.
        • It's more similar to Python in my mind. It's a post-Perl interpreted language that attempts to have better object-orientation while not being overly restrictive. It inherits a lot more from Perl than Python does, so you can accomplish most tasks in a variety of ways. Neither is anywhere near as rigid as Java - you don't have to catch or throw every exception, you don't have to make ten subclasses and an interface to write Hello World, etc.

          I get into these kinds of discussions with my boss all the time. He looks at Java as the ultimate golden hammer, and I tend to use a variety of languages. There are a bunch of little syntactic things I love about Ruby, but in the end it's mostly a question of style, politics and library support.

        • Microsoft knows that web applications will soon threaten their client-side sales model. They also know that places like Google have enough of a head start in the AJAX world that they will never catch up (tried google apps lately? It is really getting there, especially if you do a lot of collaborative work). This is why IE's javascript standards compliancy still sucks balls even though its CSS support isn't bad: they want to make life hard for people trying to develop in AJAX.

          Now they are trying to develop proprietary technologies to compete: Silverlight and this new ARAX bull will replace Flash and AJAX. They will release some shit-hot developer tools that make it really easy to build shiny websites on the Silverlight/ARAX stack so that before long half the web is written in it. Then, ARAX and Silverlight will get proprietary extensions (new functionality! woot!) and break on non-IE browsers (got to assure that OS monopoly). They will also add some undocumented APIs so that the (subscription-based) Microsoft Apps runs faster than anything anybody else comes ups with, and boom!

          Profit.
          • by nuttycom (1016165) on Friday June 06, @02:20PM (#23685051)
            Its syntax isn't like C? Cry me a river. Sure, the syntax could have been made more c-like (braces instead of do/end - and you can use braces if you like anyway) but the syntax isn't where you get the benefit of ruby.

            The most important thing that Ruby has done, in my mind, is to make blocks, closures, and runtime metaprogramming mainstream. So while the syntax may not add much, the language features add a hell of a lot. After writing code in C and Java for a number of years, switching over to Ruby took me all of a week.

            That being said, the supposed productivity gains are mostly hype, because you end up spending the time you gained in writing the code to begin with having to write a lot more integration tests to ensure correctness for things that the compiler deals with in a typesafe language.

            Rails has been pretty important insofar as it's given a kick in the ass to a bunch of other languages. I agree though that the implementation is a bit of a nightmare, and the lack of built-in dependency injection is a hassle.
            • by encoderer (1060616) on Friday June 06, @02:49PM (#23685505)
              Ok, I'll bite. What makes MVC a "piss poor model" for web applications?

              The only thing you mentioned was scalability.

              Personally, I find the MVC pattern applies to web apps wonderfully. Being able to "plug and play" views is far more helpful in the web universe than it is in rich client programming.

              I can create a default view, lately that's been a standard XHTML interface with Ajax, usually leveraging the ext.js library.

              And I also create a simplified HTML-only view for graceful degredation on clients that are not using JavaScript.

              And a view for mobile interfaces.

              On "data grid pages" I can plug-in a view that outputs the data in XML or Excel format.

              For reporting I can create a view for an on-screen HTML based report, or I can plug in a view that displays it as a PDF or, again, XML or Excel.

              Meanwhile, I only create the data models and controllers once.

              This is FAR easier and faster to create and maintain.

              And in todays world, unless you're a top-1% web destination it's a FAR wiser move to optimize for development time and cost than it is to optimize for the machine.

              Adding a server is much cheaper than adding a developer.

              Believe it or not, I'm not a fan of Rails. I'm especially not a fan of ActiveRecord. In ruby, DataMapper is a much better Db layer than is ActiveRecord.

              But to denounce Rails because it's MVC? I'd love to hear why you feel that way.
                • by encoderer (1060616) on Friday June 06, @04:06PM (#23686631)
                  "So for the web, it degenerates both object oriented programming and MVC into mere ways to organize your code"

                  That's nonsense.

                  If for no other reason than the fact that displaying a page often involves some real work. Some real heavy-lifting. Often far more than just a couple database queries being fed into a grid or report.

                  OOP brings order, structure, reuse and quality control to large, complex systems (and website/webapps can certainly be very large and very complex) That's true no matter what context it's being used in, web, rich client, whatever.

                  Yes, there is overhead involved in creating objects. But even in your worst-case scenario where there is no shared state, the overhead is hardly a deal breaker: It's far better to optimize for the developer than it is to optimize for the machine. Unless you're working on a website in the 99th percentile of traffic, you probably don't have a lot to worry about.

                  Further, your scenario IS worst-case.

                  For example, we have an in-house framework. It's not all that different than the ones you've seen. Take, for example, a simple web form:

                  You instantiate the data model (need to pre-populate the form), you instantiate a webform object, which is view-tier and is just a widget that binds to a data model and presents an HTML form.

                  When that form is rendered in HTML, the webform object and the data model it binds to are serialized and stored in the session.

                  When the user submits the form the front-controller will look at the formkey submitted with the form and unserialize the form and model objects. It pulls the values from the HTTP Post into the data model and they're validated and saved.

                  This is nothing revolutionary. It's not even complicated. And it's just one of a dozen ways to overcome the no-shared-state problem.

                  The idea that OOD is "degenerated" in a web environment is ludicrous. Procedural development is a thing of the past. The idea of 1 page : 1 script that runs from line 1 to line n is just not adequate for MOST modern web apps.

                  Todays systems are not your mothers web applications. We're doing far too much on the web. Applications the size of the web applications that are written today would collapse under their own weight if done procedurally.
                • by nuzak (959558) on Friday June 06, @04:13PM (#23686733) Journal
                  MVC in web apps has about as much to do with Smalltalk's old MVC as unix signals have to do with the physical control lines they used to correspond to (gimme a break I couldn't find a car analogy). MVC is nothing more than three-tier, with the middle tier itself adding some extra separation between processing requests (controller) and generating output (view).

                  HTTP is stateless. So is UDP. Does that make every online game that uses it stateless? The web is not a protocol.

    • Not only that - my platform doesn't support silverlight.
  • Hmmm... (Score:5, Funny)

    by Mr Z (6791) on Friday June 06, @02:16PM (#23684999) Homepage Journal

    Maybe we need an infrastructure for this. An infrastructure that would be common among multiple languages. And then you could run any language that can target this common language infrastructure. And if you manage it properly it could be secure....

    See, that's sharp isn't it? Of course, it might seem like I'm parroting a bunch of buzzwords in this monologue, but I really have a message... I'm not just making small talk. I think that's enough pearls of wisdom in one post.

    --Joe
  • ruby ruby roo!
  • Why Ruby? (Score:5, Interesting)

    by qazwart (261667) on Friday June 06, @04:34PM (#23687087) Homepage
    Because Ruby on Rails developers will not have to switch to JavaScript in order to do AJAX like stuff.

    One of the problems in Web Development is using one language for the back end (whether Java, Ruby, or PHP) and then when you need some asynchronous action on the client side, you have to switch your syntax to JavaScript. It can be a bit of a pain. It's not that you may not know both JavaScript and Ruby, but that you have to keep switching between the two and that can make brain hurt.

    I take it that Silverlight will be doing the "ARAX" side of things. It's actually a neat idea. You can use a single language for both the Client and Server side, but where JavaScript is built from the ground up to live inside a webpage, Ruby isn't. I guess that's why there's IronRuby which will be a bit more "JavaScript" like.

    The big problem is that the Ruby interpreter will be Silverlight. Where as JavaScript is built into WebKit, an open source project, Silverlight is proprietary. If you create a new web browser, you can easily adopt WebKit and get a standardized JavaScript implementation. With ARAX, you're either going have to role your own or depend upon Microsoft to create a Silverlight interpreter.

    The whole thing is to push not .NET, but Silverlight in order to take over the Flash market. The funny thing is that Flash is probably peeking in popularity. The problem is one of the shear diversity of web browsing platforms that will be coming out soon. The iPhone is just the first such device, and already sites are removing flash from their webpages in order to make them iPhone compatible. Yes, Adobe is going to release flash for the iPhone, but what happens when Android comes out? Is Adobe really going to build flash for each and every version of an Android handset? They simply don't have the resources. Microsoft will find the same situation with Silverlight. They simply won't be able to support all the platforms that people want to use.

    In the old days, this was okay because it brought people into the Windows world. But, as people move from the desktop, Windows isn't the end all/be all platform it use to be. People like their iPhones and iPods. People will start buying Android based stuff. Symbian and RIM both are larger platforms. Windows Mobile is a distant fourth in sales this year. Measured in licenses, Windows Mobile is still more popular than the iPhone, but that doesn't include all the devices laying in some drawer gathering dust. Assuming a 2 year average product lifespan, Windows is fourth behind the iPhone which hasn't been out for a year yet. Can Microsoft (or is Microsoft even willing) to put Silverlight on all the various platforms out there? If not, developers just won't use ARAX.
    • by Simon (S2) (600188) on Friday June 06, @02:04PM (#23684827) Homepage
      Weak security because of dynamic typing? You really have to elaborate on this, because like this it just makes no sense. How is a strong typed languare more secure than a dynamic typed one?
      • by bob.appleyard (1030756) on Friday June 06, @02:21PM (#23685081)

        Strong and weak are often confused with dynamic and static. They're orthogonal concepts.

        An example of a weakly statically typed language would be C. You have to declare the all the types, so you know what type you're dealing with compile time, but a boolean can be treated like an integer or a pointer. An example of a strongly dynamically typed language would be Lisp. You don't have type declarations (well in Common Lisp they're optional), and you don't know the type of a variable at compile time, but a list cannot be treated like a number.

        You do get dynamically weakly typed languages, like PHP. You also get statically strongly typed languages, like Haskell. Assuming that strong and static are the same thing, or that weak and dynamic is the same thing, is a big mistake.

      • by Lobster Quadrille (965591) on Friday June 06, @02:23PM (#23685111)
        http://www.google.com/search?q=%22Type+conversion+error%22+attack

        Dynamic type conversions are a pretty common way to exploit SQL injection holes and circumvent input validation.
    • by Fallen Andy (795676) on Friday June 06, @02:08PM (#23684893)
      It's IronRuby in other words Ruby compiled to MSIL. So in principle it should inherit all the (in)security of that environment (winks).

      Really this isn't a suprise as SilverLight was supposed to be the first outing of the Dynamic CLR (support for IronPython, IronRuby etc.). MS has been quite enthusiastic about dynamic languages ever since Jim Hugenin (former JPython author) started working for them.

      Andy

    • Everybody thinks that javascript just doesn't cut it for current Web Apps, and it was never meant to work like we make it work today.

      Are you a troll (perhaps even a shill) or just a schmuck? There's nothing seriously wrong with Javascript as a language, only with specific implementations, some of which are actually quite good these days.

      I'm guessing you are just a troll, but I don't want anyone to think you're right or anything and I have a little time on my hands :P

        • Re:This time (Score:5, Insightful)

          by asc99c (938635) on Friday June 06, @03:00PM (#23685673) Homepage
          Probably shouldn't feed the troll, but ...

          His argument was against your assertion that 'everybody thinks javascript just doesn't cut it for current web apps'.

          This plainly isn't true as lots of people are actually very impressed by the javascript language, and just a bit frustrated that IE6 / IE7 / IE on Safari work so differently to everything else. For internal work I just ignore IE, and target Firefox only.

          Even Joel has praise for javascript - take a look at his 'Can Your Programming Language Do This?' article at
          http://www.joelonsoftware.com/items/2006/08/01.html [joelonsoftware.com]

          A better option than Javascript would be great, but Ruby hardly looks like the best option. A much better use of time for Microsoft would be making their Javscript engine for IE more standards compliant.