Friday, March 24, 2006

Developing from a 3rd world country?


I found many questions on forums about how to develop using .net technologies as cheap as possible for the developer and the final client. So I decided to post about it and give you many tips on what to do.
First of all you have the Express editions of Visual Studio 2005. They are free, although  they have some limitations. But if you're a guy trying to get in the .net world and want to develop your first Hello World app, this is the right tool for you.
What about data base? well... there's also an express edition of SQL Server, MSDE's evolution, and I heard it comes with a UI now, so you can forget of osql command line commands (oh those days!). If you think you don't need as much as SQL server, hey! try Access. You need a licence as a developer but there's nothing required for the final user.
What if you're not happy with the limitations the Express editions of Visual Studio have?. You can always go "screw the IDE, I like notepad". That's right, you can develop your app writing your code in notepad and using the compilers that come with the .net framework (they're free).
Now, let's say you're a rebel, or a cheap ass, who doesn't want to pay for the OS. Install Linux and Mono on you PC , then you'll have an entire .net application programmed and build over Linux, or MAC, or what ever mono supported OS you're using.
You think you're tough? write your code using the vi editor! ;)

Encontré bastantes preguntas en distintos foros sobre como desarrollar utilizando las tecnologías .net lo más barato posible tanto para el desarrollador como para el usuario final. Así que decidí crear un post sobre el tema y dar unos cuantos "tips" sobre que hacer.
Lo primero son las ediciones Express del Visual Studio 2005. Son gratis aunque tienen algunas limitaciones. Pero si estás tratando de entrar en el mundo .net y quieres construir tu primer aplicación "Hola Mundo", esta es la herramienta adecuada.
Qué hay sobre los datos?, también existe una edición Express de SQL Server, la evolución del MSDE, y según escuché trae una interface de usuario por lo que uno se puede olvidar de los comandos osql en linea de comandos (que tiempos aquellos!). Si crees que no necesitas tanto como SQL Server prueba con access. Necesitas una licencia como desarrollador pero para el usuario final no necesitas pagar nada.
Y que hay si no estás conforme con las limitaciones de las ediciones Express del Visual Studio? Puedes agarrar y decir "a cagar el IDE, a mi me gusta el notepad". Así es, puedes desarrollar tu aplicación escribiendo el código en el notepad y utilizando los compiladores que vienen con el framework .net (que es gratis).
Ahora, digamos que eres un rebelde, o un amarrete, quien no quiere pagar por el SO. Instala Linux y Mono en tu PC, así tendrás una aplicación .net enteramente programada y construida sobre Linux, o MAC, o cualquiera de los SO soportados por mono que estés utilizando.
Te crees "valiente"? escribe el código con el editor vi ;)

Read Full Post

Thursday, March 09, 2006

.Net Remoting for Dummies

I have made my first .Net Remoting application with Visual Studio 2003. I know Remoting has been around since the beginning of the .net framework, but for some reason I'd never used it before. Actually, now I know why I never used it, I did not quite understand what was is it useful for. But a few days ago, while working on Philippides a friend of mine (Carlitos) asked my if I was making all the communication via remoting and I said no, I was using TcpClient and NetworkStream objects in order to send messages.
At first I sent some text (csv) with the info I wanted to send to the other client. Right now I "created" my own SOAP protocol, it's just plain text sent as xml.
What I need to do is to send objects itself to the other client and I need that the receiver can understand the sent object and access its members.
Well, remoting does that for you. In my previous test I managed to send some native types as strings and integers to the server. In this example you'll see that I managed to send an object from a class I created.
So check it out! You can downloading from here or go to the post on the Sandbox ( Channel9).


Acabo de hacer mi primer aplicación .Net Remoting con Visual Studio 2003. Sé que Remoting es bastante "viejo" ya, pero por alguna razón nunca antes lo había usado. En realidad, ahora sé por qué no nunca lo usé, nunca entendí exactamente para qué me podía servir. Pero hace unos días, mientras trabajaba en el Philippides un amigo (Carlitos) me preguntó si todas las comunicaciones las hacía con Remoting y le dije que no, estaba utilizando objetos TcpClient y NetworkStream para enviar mensajes.
Al principio enviaba text (csv) con la información que quería enviar al cliente. En la actualidad utilizo un protocolo SOAP "propietario", es simplemente texto plano enviado como xml.
Lo que necesito hacer es enviar objetos mismos al otro cliente y que este último entienda el objeto y pueda acceder a sus miembros (que fea traducción).
Justamente, Remoting hace eso. En los tests anteriores había logrado enviar tipos nativos de .Net a un servidor como ser string e integers. En este ejemplo verán que pude enviar un objeto de una clase creada por mi.
Asique víchenlo! Pueden bajarlo de aquí o ir al post en el Sandbox ( Channel9).

Read Full Post