Silverlight and Rails - ruby-on-rails

Hopefully this will not spark a religious war...
We have a web based app in RoR based on an earlier version we build in .net 2.0. So we currently have both .net and RoR skills in house.
We want to add a RIA app that interfaces with the rails web app. This should be capable of running offine, with some (perhaps relational) persistence. Considering our inhouse experience we leaning toward leveraging the sliverlight framework over the likes of Flex etc.
Would appreciate any thoughts you might have.
Thanks
Dominic

If you need the application to run offline you will want to use a pure client technology. So instead of Silverlight vs Flex you are looking at WPF vs AIR.
Silverlight and Flex are thin client technologies so neither would fit into RoR very well, unless you used RoR to build web services.

A choice between Flex/Silverlight should depend on your skills and what you want the RIA to do.
There's a fair comparison here: http://extremeblue.wordpress.com/2008/04/28/flex-vs-silverlight-my-views/
But I think you should also look at "pure" javascript solutions like ExtJS or JQuery. We've had good experiences with both those libraries + RoR. JS is hot right now. Javascript engines are getting seriously quick and it's a lovely language (in some ways). Offline persistance can be implemented through Google Gears or Adobe Air.

Go with SilverLight. It's way cool. ;)

Related

Web front-end tools for Grails project

I previously developed only Java SE applications, and now I am trying to do some small project in Grails. My front-end developing skills are really bad. Ok, I got the main ideas behind GSP in Grails, but there are many tools which alow to simplify front-end development, like Twitter Bootstrap.
My question is, what tools for front end are best suited for Grails project and can be naturally combined with GSP?
Another option I am looking into is doing whole front-end on something like Flex, how hard is it to do such thing in Grails?
Grails is best suited for HTML+CSS+JS front-end. You still can use Flex, Vaadin, GWT, etc., if you prefer. But standard HTML + modern framework is really easier to use.
For standard web app, based on html/css/js, I can recommend Twitter Bootstrap plugin (but you aren't limited to it). It's very useful framework, but you should know all basics (html and css)

Plugin architecture in .NET like wordpress

We're going to upgrade our old classic ASP system to .net.
This old system manages different ecommerce sites.
What we would like to do is to create a asp.net (vb) system like wordpress with plugins.
This way, the layout can be completely different between the sites.
For example a login plugin can be anywhere on the page with different settings for layout and display. Or even with a separate plugin css.
This way the setup time is minimal for the webmasters, and the developers can develop new plugins.
Now i'm stuck at .net 2. and haven't had time to follow the advantages of 4 or even 4.5.
I just start reading about MVC.
What is a good solution to follow? MVC? Any available frameworks for this setup?
If you have any links o samples, please share.
thanks for the help.
The Orchard CMS project is a good example of a modular, plug-in based MVC application: http://www.orchardproject.net/ Although not branded as a Microsoft project, they have contributed to its development, and I believe part of the intent is for it to be used as a reference architecture.
There are also any number of very similar questions here on SO, many with good answers:
How to use Plugin Architecture in ASP.NET?
Plugin-like architecture in .NET
I can't personally think of any reason you would stick with .NET 2.0 if 4.0 or 4.5 is an option. Each version of the framework has built upon those previous to it, and I don't know of any mainstream body of opinion that thinks any version has been a major mistake. Whether you choose MVC or WebForms is a matter of personal taste. My own view would be that MVC is marginally better-suited to the kind of modular development you are planning, but other's mileage may vary...
Take a look at http://umbraco.org/ it's build on ASP.NET MVC and already has the features you want, Umbraco is open source so you can learn allot from it's code base.

Backbone.js frontend with RESTful Rails backend?

I started in the web development world with PHP, and then Rails in the recent few years. Since then I've been doing all my web projects in Rails.
Recently there seems to be a movement towards making Rails as a pure RESTful backend service and using frontend framework such as Backbone.js for all frontend interaction. I'm wondering what's you guys' take on it? Will this be the eventual future?
As well, besides Backbone.js, what are some other alternatives for frontend framework for this purpose?
Also assuming that I will want to support both a desktop version and a mobile version of my app, would this be a proper route to take? So I'll have a single backend service with different frontend services? This way I don't need to manage all the views on Rails' side?
Thanks!
For Client-side frameworks, this article has a list of 20 of them with pro's and con's:
http://net.tutsplus.com/articles/web-roundups/20-javascript-frameworks-worth-checking-out/
Here's the list:
Backbone.js
Knockout.js
Asana luna
Cappucino
Sproutcore
BatmanJS
corMVC
TrimJunction
pureMVC
jamal
choco
sammyjs
extJS
agilityJS
eyeballs
activejs
spinejs
qooxdoo
These are roughly all about creating client-side, ajax-based, javascript MVC frameworks.
If you're looking to start somewhere, then I recommend thinking about Client-Side Templates (...ates...ates...ates) (just the "V") to support a service-oriented architecture (many clients are supported by service-endpoints you create).
It's a new technique that involves modularizing your client-side code, bringing MVC to the client, and let business-logic live in the platform. A lot of Software-as-a-Service applications are leveraging them, and with the increasing sophisticated of javascript libraries and frameworks, as well as browser capabilities with HTML5, CSS3, etc. there's going to be an increasing sophistication in client-side presentation.
So learn it.
What are the benefits?
To paraphrase Linked In: for leveraging browser-caching, de-coupling your front-end client-side presentation, asynchronous load, progressive rendering (for some frameworks), performance, ajax-interaction, and more.
Several great frameworks include:
mustache
dust.js
handlebars
Google Closure Templates
Nun
Mu
kite
I highly recommend looking at Linked In's move away from JSP towards Client-Side Templates and why they choose dust.js in Linked In's front-end client-side templates throwdown for a comparison. They go into much greater detail, and research, as to why they changed their stack to support this (it involved using 3 server-side technologies), as well as their comparisons of all the frameworks they could find.
I did something like this a few years ago in .net. Is was not via proper .NET MVC and didn't use the new JS frameworks, but the principle was the same; server code returns JSON to javascript which builds the page and interactions etc.
The result was a lovely responsive website, but, maintenance was a nightmare. Be very careful to keep your JS code well organised.
Personally, I find it easier to maintain server code (in any language) than javascript so I wouldn't go down that route again.
(IMHO)
Fran
It is my opinion that contemporary web applications are moving towards this model of having RESTful back-end and all the view interactions coded in front-end. These free video tutorials from Joe Zim:
http://www.joezimjs.com/javascript/introduction-to-backbone-js-part-1-models-video-tutorial/
helped me understand backbone and how it can simplify templating and view renders.

Does it make sense to build a social networking website using Silverlight and Ruby on Rails?

My web development experience is pretty much non-existent at this point. Therefore, some of the things I'll say may sound pretty stupid. So, consider yourselves warned.
I'm currently looking to build a social networking site and chose Ruby on Rails as a tool to make it happen. However, I'm pretty impressed with Silverlight's capabilities and would love to create a pure Silverlight website. Since Silverlight is a Microsoft technology does it make any sense to combine it with Ruby on Rails? Should I just discard this as a stupid idea and use Microsoft stack for the project with no involvement of Ruby on Rails? If it does make any sense for me to use both Silverlight and Ruby on Rails how would I do this, meaning, how would Silverlight and Ruby on Rails interact?
Now, I know about Silverlight's support of Ruby with IronRuby. However, I'm primarily looking at C# Silverlight. However, if IronRuby is indispensible in this equation, please, bring it up.
Thanks a lot in advance.
I would recommend going Silverlight + ASP.NET MVC in C#.
Although I have never seen anyone create a Silverlight + RoR site before, I fully believe it would be possible. So the reason I recommend combining with ASP.NET MVC is because then you won't be effectively switching your entire development stack for doing front-end versus back-end work. Not just the IDE, but build solution, support community, etc. Also, if your website ever became popular enough to become a business, just imagine trying to hire a "Silverlight + RoR developer" which is pretty slim odds.
You could make the back-end on Ruby and expose RESTful services.
Then you could build several clients (Silverlight, Flex, HTML5) that consume the REST Service.
I would NOT start with IRONRuby to build a Silverlight application; it is much easier to find help when using C#.

How to integrate SEO and ensure the performance in Portal Architecture Design?

I need to develop a Portal for B2C from scratch, right now I faced two problem:
1.How can I integrate SEO into the architecture design ?
2.How to design the architecture to ensure the performance ?
I need to revamp a website like this :http://www.airasia.com/bd/en/home.html
And why all the enterprise level website are using *.html ? but not a jsp or asp ? what technology do they use ?
I need to get more knowledge on this field to better finish my job, can someone point me a direction ?
Thanks !
1) I have a post for developers considering SEO in their web application that can help you on your SEO.
2) For you I would suggest ASP.NET web forms since it is well equipped for beginners (as well as advanced enterprise level sites). Here is a get started guide to ASP.NET to help you out. It allows you to use routing in ASP.NET 4 to make nice URLs and URL rewriting if on an IIS server. For now though if you are not too confident, I really wouldn't worry about that.
Anyone more advanced passing by I would recommend ASP.NET MVC by the way. It is a tough concept to crack but well worth it. Unit testing is easier, speed of development is great, stateless. Lovely.
Caveat - Other than touching old school JSP for a bit, my experience is mainly Microsoft so cannot say that the ASP way is THE way. Just a good way.
That might actually be a static page, at least the version I saw had nearly nothing 'dynamic' on it that javascript could do easily. Static serves very quickly and scales beautifully.
As for jsp vs asp vs rails vs django, they can all be configured to not require cluttering URLs with file extensions.
If you focus on high-quality data in your application that is easily parsed by simple tools, search engines will find you. Use text for text (text in images is useless), no flash or silverlight or java applets. If your site is useful on your phone, it'll be great for search engines.
I found some useful resources on this topic :
http://developer.yahoo.com/performance/
And a useful plugin yslow for performance improvement.
Book: High Performance Web Sites

Resources