Developing an IPhone app with C#

Yes, it’s possible.

A couple of days ago my friend Erez Eden sent me an email with a link to the Mono project website.
For those of you that aren’t familiar with it, mono is a “cross-platform, open source .NET development framework” sponsored by Novell and the open source community – that means that you can develop applications to OS’s other then Windows using .Net technology.
I’m familiar with this project for some time now but what I didn’t know is that there is an IPhone OS version of the framework! that means that you can develop IPhone app using C# – How cool is that?
The subproject is called MonoTouch and you can find it here.
Currently, it’s not open to the public but hopefully, it will be in this September.
The downside is that because the IPhone OS doesn’t support JIT engines the code you write will be compiled to static native code for the OS.
That generally means no reflection and some more limitations for the development.
As a developer in the mobile industry that is a big fan of the .Net technology and especially C# I was very excited to hear about this framework but after I realised I’ll still have to develop the application on a mac in order to test it I started thinking why to bother and start to develop an application that rely on a third party framework, maybe it’s better to suck it up and learn the Objective-C syntax and that’s it (objective-c is the language that being used do develop applications to the IPhone and Mac) ….
I still don’t know if I’ll go with the mono or objective-c path but I’ll sure give the MonoTouch a try once I’ll get my hands on it!
What do you think?

ASP.NET calling a web service from javascript

Calling a web service from javascript should be a very easy task.
Especially if you are using prototype or jquery in your project.

The other day I spent to much time trying to call a WebService using Prototype js library so I decided to post the code here in case anyone else encounter the same problem.
Server side code:
            [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
            public class WebService : System.Web.Services.WebService
                public string HelloWorld(string testParam)
                    return testParam;
Prototype syntax:
            new Ajax.Request('WebServices/WebService.asmx/HelloWorld',
                postBody: "{testParam:'hello'}",
                method: 'post',
                contentType: 'application/json; charset=utf-8',
                onSuccess: function(transport) {
                onFailure: function(transport) {
JQuery syntax:
                    type: "POST",
                    url: "WebServices/WebService.asmx/HelloWorld",
                    data: "{testParam:'hello'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(result){
That’s it.
Hope it help someone out
Happy coding!