Mostrando entradas con la etiqueta IDEs. Mostrar todas las entradas
Mostrando entradas con la etiqueta IDEs. Mostrar todas las entradas

jueves, 14 de noviembre de 2013

Novedades de Microsoft en direcciones interesantes (+ video)

Ayer hubo un evento de lanzamiento de Visual Studio 2013, donde Microsoft conato una serie de novedades. Algunas eran sabidas, dos en particular me llamaron la atención, porque me parece que son movimientos en la dirección correcta.

Visual Studio Online

Finalmente se mostró el primer preview de la versión online de Visual Studio, que al parecer sólo se puede ver en videos por ahora, pero suena interesante. A pesar de estar bastante pegada a TFS online, una plataforma que no me resulta especialmente atractiva, mantiene y expande una actitud más abierta, con fuerte integración con Git, como se puede ver en el video que dejo debajo. Por otro lado, como verán, Node mantiene una presencia muy fuerte, con gran cantidad de ejemplos. La idea de que este entorno sea gratuito para grupos reducidos es importante.

Leí un par de notas periodísticas que mencionan esta iniciativa como una competencia directa de Microsoft a GitHub, que realmente me hicieron reír. Es cierto que algunos desarrolladores muy establecidos en el ecosistema Microsoft pueden preferir moverse en algún momento, pero no veo ninguna posibilidad de que algo de esto se plantee como una alternativa masiva. Al contrario, veo que son plataformas que pueden complementarse, y aunque no tengo chance de probarlo todavía, intuyo por las demos que tranquilamente se podría trabajar con esta IDE online desde un repositorio de GitHub. No veo ninguna dificultad técnica, y confío que el espíritu de apertura que intentan mantener desde este grupo de Microsoft no genere una barrera artificial.

Queda un video breve (~ 5 min) donde se muestra un proyecto Node, y cómo se utiliza el entorno, altamente integrado con TypeScript, que es otra estrategia interesante, sobre todo por lo poco intrusiva:

 

MS + Xamarin

El otro gran anuncio es una asociación más directa con la gente de Xamarin, la empresa formada por los iniciadores del proyecto Mono, y todavía uno de los mayores grupos contribuyendo con él, que se dedica a permitir el desarrollo de aplicaciones nativas (no híbridas) en C# para iOS, Android, Windows Phone, OS X y otras plataformas (por extensión).

Lo interesante de esta asociación es que más allá de temas comerciales, tiene puntos técnicos muy importantes, logrando abrir más las puertas del ecosistema Microsoft / .NET hacia el exterior. Por ejemplo, las Portable Class Libraries (PCL) de .NET son ahora realmente abiertas y soportan el movimiento de librerías entre cualquier plataforma, facilitando muchísimo el intercambio también a nivel NuGet (el mecanismo de manejo de dependencias abierto del mundo .NET).

En total, esta noticia parece más de índole comercial, pero para mi el acercamiento al equipo de Xamarin y el reconocimiento del valor de llegar a estas plataformas fuera de su control son un blanqueo y una buena actitud que espero seguir viendo desde Microsoft hacia afuera.

lunes, 28 de octubre de 2013

Aprendiendo a programar Android en 12 clases gratuitas (+ video)

Por si alguno no se enteró, el equipo de JetBrains adaptó su excelente IDE para Java IntelliJ lanzando junto a Google una versión gratuita llamada Android Studio, que se encuentra en Preview, pero ya disponible para descarga.

Dino Esposito

Como esta gente no se queda quieta, además de lanzar la IDE, que es una alternativa más moderna y mejorada (al menos en mi opinión) a Eclipse, se asociaron también con el sitio de entrenamiento en línea Tuts+ para publicar una serie gratuita de entrenamiento sobre desarrollo en Android, presentada por el italianísimo Dino Esposito (el contenido está en inglese), una personalidad del mundo .NET pero también reconocido por su ductilidad para moverse entre plataformas, y sus cualidades como autor y entrenador.

La serie, llamada Android for the Busy Developer, compuesta por doce episodios, está basada en IntelliJ y no en Android Studio (no se bien por qué, pero para todo lo básico es lo mismo).

La serie completa cubre:

  1. Introducción (~12m) 
  2. Diseñador de Interfaces (~18m)
  3. Interactividad mínima (~11m)
  4. Ciclo de vida (~20m)
  5. Más actividades (15m)
  6. Vistas de Lista (~16m)
  7. HTTP (~14m)
  8. Almacenamiento (~15m)
  9. Menúes (~16m)
  10. Diálogos (~11m)
  11. Preferencias (~15m)
  12. Publicación (~6m)
Como pueden ver, son más de dos horas y media de entrenamiento, totalmente gratis, y más allá de que Dino muestre cómo se usa IntelliJ, los conceptos aplican al desarrollo Android utilizando la herramienta que uno prefiera (incluso si uno prefiere programar en C#, utilizando Xamarin Studio), porque hay mucho sobre la arquitectura y APIs básicas de la plataforma.

Les dejo el primer episodio (~12 minutos), en el que Dino explica cómo hacer el clásico Hello, World, para que vean más o menos el tono de la serie.

 

viernes, 16 de marzo de 2012

Nueva edición del RUN Buenos Aires

RUN BA

El próximo viernes 23 de marzo, en la Universidad Católica Argentina (Alicia Moreau de Justo 1300) el grupo de Nuevas Tecnologías de Microsoft Argentina y Uruguay realizará una nueva edición del evento donde se anuncian las nuevas oleadas tecnológicas.

Pude encontrar una agenda del evento directamente en el sitio de registro:

Por la mañana hay sesiones generales:

  • Acreditación y Bienvenida
  • Bienvenida Rodrigo (¿quién será Rodrigo?)
  • Keynote: Un mundo de dispositivos conectados
  • Desarrollá tu potencial con Microsoft

Por la tarde hay espacios separados para gente de TI y desarrolladores. Las sesiones para nosotros son:

  • Servicios en la Nube con Windows Azure
  • El futuro con HTML5
  • Aplicaciones al alcance de tu mano: Windows Phone
  • Desarrollo Estilo Metro en Windows 8

Casualmente en esta última sesión participaré para mostrar un ejemplo de desarrollo en Windows 8, dentro del espacio de aplicaciones Metro (el nuevo estilo gráfico orientado a dispositivos táctiles) utilizando C++. Si tengo tiempo, trataré de cubrir brevemente algunas de las novedades de C++ 11 (el estándar) y un poco de las novedades en Visual Studio 11 en cuanto al soporte para este lenguaje, pero el centro de la sesión será mostrar cómo interactuar con el flamante Windows Runtime, y cómo aprovechar las características asincrónicas de C++ 11 para lograr aplicaciones sumamente fluidas, que reaccionan apropiadamente a la manipulación natural de los nuevos dispositivos.

Algo más de información sobre el evento, en Puerta de Enlace.

 

viernes, 23 de diciembre de 2011

Código en colores: temas para programar

Hace tiempo que no publicaba nada, ocupado con muchos temas laborales y personales, pero estoy organizándome nuevamente y vuelvo a la carga. Ojalá pueda ir subiendo la frecuencia y llegar de nuevo al ritmo diario dentro de poco.

Tomorrow Night theme

Todos los que programamos tenemos una serie de hábitos que son bastante personales y que nos ayudan a mantener el foco y la comodidad en la tarea. Muchas veces no podemos elegir de manera directa cosas como el lenguaje, la plataforma o ciertas herramientas, pero en la mayoría de los casos si podemos personalizar sus configuraciones.

Una de las personalizaciones más comunes y variables son los colores de nuestros editores o IDEs. Algunos preferimos fondos oscuros, otros claros, a veces tonos medios. En mi caso prefiero los primeros, y siempre estoy buscando variantes de "temas" de colores que pueda usar en diferentes ambientes. No es una búsqueda activa, sino que en general me llama la atención cuando alguien menciona nuevos temas en algún blog o artículo, y cuando puedo le dedico unos minutos a mirarlos.

Esta mañana mientras leía otra cosa llegué de causalidad a la página de temas en la Wiki de TextMate, uno de los editores que uso frecuentemente, y echando una mirada me llamó la atención un tema mencionado como 2morrow Night (muestra a la derecha).

Lo interesante es que siguiendo el link de descarga en GitHub descubrí que Chris Kempson, el autor, se tomó el trabajo de brindar este mismo tema (y sus variantes) en muchísimas plataformas, como BBEdit, Coda, Eclipse, Expresso, GEdit, Emacs, editores de JetBrains, la terminal de OS X, Visual Studio y muchos otros. Una labor obsesiva e invaluable. Empecé a bajar algunos de ellos, y después me di cuenta que era más fácil tenerlos todos, así que fui a mi consola y:

> git clone https://github.com/ChrisKempson/Tomorrow-Theme.git
Cloning into Tomorrow-Theme...
remote: Counting objects: 445, done.
remote: Compressing objects: 100% (228/228), done.
remote: Total 445 (delta 225), reused 425 (delta 208)
Receiving objects: 100% (445/445), 940.89 KiB | 332 KiB/s, done.
Resolving deltas: 100% (225/225), done.

…y en 10 segundos tenía todos a mi alcance. Me sigue maravillando la cantidad de cosas que quedan cada vez más a nuestro alcance desde GitHub u otros recursos en la nube.

Como dije, Chris se tomó el trabajo en serio y todas las variantes por plataforma están en el formato correcto, con lo que al hacer doble clic sobre los archivos, en la mayoría de los casos, el editor los agrega directamente (en mi caso, TextMate y Terminal lo hicieron, en Vim lo abre y hay que ejecutarlo, ya que es un script completo).

Si les gusta probar temas, pueden tomar esto como mi regalo de navidad.

Si no, aprovecho igualmente para desearle felicidades a todos los lectores.

 

martes, 30 de agosto de 2011

Versión completa de Python Tools for Visual Studio

imageLa versión 1.0 de estas herramientas para programar Python en Visual Studio finalmente está disponible (gracias a @masaez por el aviso).

Este conjunto de herramientas es gratuito y de código abierto (bajo licencia Apache 2.0), y convierten a Visual Studio (que no es gratuito ni abierto) en una IDE muy completa para Python, soportando tanto CPython (la distribución estándar, no incluida en el paquete) como IronPython, la implementación de Python sobre el runtime de .NET.

Algunas de las características principales que hace atractivo el uso de estas herramientas es que agrega al editor básico con coloreo de sintaxis un buen soporte de Intellisense sobre miembros y firmas, navegación sobre el código como encontrar todas las referencias a un miembros, ir a su definición, o inspeccionar objetos. También soporta depuración local y remota, y perfilamiento para análisis de rendimiento.

Integra por supuesto una consola de comandos que puede usarse, al igual que el resto del entorno, también en entornos de clusters HPC y MPI, lo que permite trabajar interactivamente con infraestructura de procesamiento paralelo.

De hecho, sospecho que estos entornos son el motivo principal de la inversión de Microsoft en desarrollar estas herramientas, aún después de haber dejado el desarrollo de IronPython en manos de la comunidad. Python es uno de los lenguajes más utilizados (junto con C/C++) en el mercado de Computación de Alto Rendimiento (HPC), donde Microsoft está creciendo progresivamente a partir del lanzamiento hace unos años de Windows HPC Server. Sobre todo por bibliotecas clásicas en los mercados científicos, financieros e ingenieriles como NumPy o SciPy, y por el hecho de que programar resolución de problemas complejos en arquitecturas masivamente paralelas en C es bastante complejo, Python se ha establecido como una excelente opción.

Microsoft supo aprovechar el trabajo del equipo de IronPython para soportar su implementación en Visual Studio y la generalizo para muchas más áreas, lo que es en general una buena noticia, aún cuando lo cierto es que en la mayor parte de los contextos los programadores Python no solemos necesitar una IDE completa y preferimos la liviandad de un buen editor. En contextos complejos como HPC o uso de Interfaz de Paso de Mensajes (MPI) en ambientes distribuidos, es bueno al menos tener un buen soporte de depuración y algunas herramientas extra.

Debajo una pequeña muestra de las herramientas en acción:

Visual Studio Tools for Python

miércoles, 30 de marzo de 2011

Akshell: Una IDE completa en línea

Akshell

Hace rato vengo esperando ver algo como esto. Hubo intentos anteriores auspiciosos, pero esta vez creo que se aproxima mas a mis expectativas porque además plantea un flujo de trabajo bastante completo.

Publico la reseña antes de hacer muchas pruebas porque me entusiasmó el proyecto: Akshell

Se trata de un entorno de desarrollo en línea completo, para Javascript, incluyendo integración directa con Git y GitHub, y despliegue automatizado (incluyendo un entorno de pruebas provisto, pero que puede enviar a cualquier dominio).

Soporta (por ahora) PostgreSQL utilizando un API de Javascript, e incluye un framework propio de pruebas unitarias basado en la biblioteca unit test de Python.

Veamos rápidamente un pantallazo del entorno, con una mínima aplicación de prueba:

Akshell IDE

Como se ve, hay manejo de proyectos, y en el navegador de la izquierda se ven los diferentes entornos (release y debug por omisión).

El editor tiene coloreo de sintáxis, y también por omisión hay un motor simple de templates para manejar el HTML de la aplicación y hacerlo interactuar con los scripts, como en este ejemplo:

{% extends 'base.html' %}

{% block title %}{{ entry.title }}{% endblock %}

{% block content %}
  {{ entry.title }}
  {{ entry.author }}
  {{ entry.message }}
{% endblock %}

Por ahora esto apunta a un modelo de aplicación bastante específico, pero bastante bien documentado y no lejano a cualquier framework web moderno.

Espero probar un poco más el entorno y poder compartir más datos, y ojalá otros compartan sus experiencias si hacen la prueba.

jueves, 10 de marzo de 2011

Python Tools for Visual Studio

Python Tools for Visual Studio

El equipo de Technical Computing de Microsoft acaba de liberar estas extensiones gratuitas y abiertas para dar soporte a Python dentro de su IDE de cabecera (por ahora en Beta 1).

Este equipo se dedica básicamente a dar soporte a escenarios de computación científica en ambientes distribuidos, clusters de computadoras, etc. Dentro de este ambiente, en el que Python también tiene un uso bastante intensivo como lenguaje de programación para MPI (Interfaz de pasaje de mensajes) que se utiliza para procesamiento en paralelo y distribuido, y mediante el uso de librerías como NumPy y SciPy.

Este plug-in para Visual Studio es producto de estas iniciativas construidas sobre el esfuerzo que hizo previamente el equipo de IronPython (la implementación de Python sobre el framework .NET), pero en este caso el soporte cubre tanto IronPython como el CPython standard, y tiene una serie de características muy interesantes, algunas ya disponibles y otras prometidas.

  • Intellisense, editor completo con coloreo, navegación de objetos y ventana de comandos integrada
  • Depuración local y remota (incluso en clusters)
  • Perfilamiento con múltiples vistas
  • Computación en paralelo interactiva desde la ventana de comandos
  • Soporte a clusters HPC y MPI, incluyendo depuración
  • NumPy y SciPy para .NET
  • Gratuita y de código abierto (licencia Apache 2.0)

Y prometidos para dentro de poco (esperemos que en la próxima Beta):

  • Soporte para Windows Azure
  • Soporte para Dryad (la implementación .NET de Linq para Map/Reduce)

Aunque en general en Python estamos acostumbrados a no usar Intellisense, hay que reconocer que el analizador que utilizan es bastante astuto, y es capaz de inferir los tipos de datos en contextos complejos, como se ve en el ejemplo:

Inferencia de Tipos

Otras características interesantes es la capacidad de saltar directamente entre fuentes, clases y métodos seleccionando de una lista que los agrupa correctamente, o saltar directamente a la definición de cualquier elemento desde algún uso en otra parte del código.

 

martes, 23 de noviembre de 2010

Se confirma la venta de Novell mientras liberan MonoDevelop 2.4.1

Novell

Las noticias no están directamente relacionadas, pero fortuitamente ambos anuncios ocurrieron ayer.

Novell anunció haber sido adquirida por Attachmate, una compañía de servicios de tecnología, en 2.200 millones de dólares. Attachmate espera potenciar su portfolio de soluciones con las marcas y productos Novell y SUSE, pero un detalle muy interesante es que como parte de la misma operación, CPTN Holdings LLC, un consorcio de empresas de tecnología lideradas por Microsoft compró por 450 millones de dólares en efectivo un paquete de 882 patentes de tecnología de Novell.

Antes de ponerse muy nerviosos pensando en Microsoft tomando control de patentes alrededor de Linux, hay que tener en cuenta que Novell sigue teniendo un montón de tecnología de recursos de red, incluyendo un directorio de autenticación que es uno de los principales competidores de ActiveDirectory, y toda una suite de interoperabilidad entre el mundo Windows y Enterprise SUSE. Y por supuesto, Novell es el anfitrión del proyecto Mono y otros relacionados como Moonlight (la implementación abierta de Silverlight para Linux).

MonoDevelop

Casualmente, Miguel de Icaza anunció ayer la disponibilidad de la versión estable de MonoDevelop 2.4.1, la IDE para Mono que corre en Linux, Mac OS y Windows.

Esta versión aumenta soporte para xbuild (la versión Mono de msbuild), soporte a proyectos .NET 4, y mejoras generales en Mac OS X.

 

miércoles, 10 de noviembre de 2010

Mas apertura de Microsoft en la Web

Desde hace un tiempo, el grupo a cargo de las herramientas de desarrollo de Microsoft está avanzando en un ciclo de entregas más ágil, con más feedback directo y temprano por parte de la comunidad, e incluyendo más componentes dentro del espacio de código abierto y herramientas gratuitas.

En ese contexto, en estos días se lanzaron varios productos interesantes:

 

ASP.NET MVC 3 (Release Candidate)

Razor View Engine

Esta es la versión final a nivel de características (puede cambiar algún detalle en el empaquetado final, pero no mucho más), y agrega a as versiones previas de MVC estas novedades:

  • Intellisense para Razor en Visual Studio Razor es un nuevo motor de vistas que permite embeber expresiones y código en forma bastante liviana dentro del markup (aunque me quedan mis reservas sobre la idea), y ahora tiene soporte completo en el editor.
  • Cache parcial dentro de las páginas Aunque MVC ya soportaba el manejo de caching en páginas completas, ahora puede controlarse a niveles parciales.
  • Javascript y Validación no intrusivos Esto significa que se mejora el soporte a ambas cosas sin tener que inyectar scripts inline dentro del HTML, dejando código mucho más prolijo y óptimo en ejecución. Las validaciones en MVC 3 además, usan jQuery Validate por omisión.
  • Mejoras y extensibilidad para crear nuevos proyectos, vistas, etc.

Detalles completos en el clásico post de Scott Guthrie.

 

NuGet Community Technical Preview 2

NuGet

NuGet (hasta hace poco llamado NuPack, pero renombrado por voto de la comunidad cuando se descubrió que había otro proyecto previo con ese nombre) es un administrador de librerías y dependencias para .NET, al estilo de las Gem de Ruby. Notablemente, los componentes cliente y servidor son gratuitos y de código abierto, mantenidos por Microsoft y la comunidad.

Esta versión de NuGet puede obtenerse desde el sitio en CodePlex (binarios o fuentes), está incluida en ASP.NET MVC 3 RC (anunciado más arriba), o a través de la Visual Studio Gallery desde dentro de la IDE.

Sobre NuGet en detalle pueden ver este post de Phil Haack, o este video de Scott Hanselman en PDC10.

 

WebMatrix Beta 3

WebMatrix

Finalmente, también se anunció la disponibilidad de este paquete gratuito de Microsoft para desarrollo web.

Se trata de una cominación de IDE con herramientas de publicación, IIS Express (una versión de desarrollo del web server, gratuita y liviana, que no requiere privilegios de administrador local) y SQL Server Compact (un motor de bases de datos relacionales que corre embebido, al estilo SQL Lite).

Lo interesante de WebMatrix es que además de ASP.NET, incorpora soporte directo para integrar Umbrado, Wordpress, Joomla, DotNetNuke y otras plataformas.

 

miércoles, 3 de noviembre de 2010

Cloud9: La IDE de Javascript en Javascript

Cloud9 IDE

Hace un par de años escribí un post en mi blog personal sobre el avance de Javascript en general, y en el lapso desde ahora, el panorama no cambió tanto, pero la adopción de Javascript no se detuvo. Por otro lado, vengo esperando desde hace tiempo que las IDEs migren del escritorio a la nube, y aunque ya hay varios casos, no es algo que haya explotado aún.

El proyecto Cloud9 tiene un aire parecido al Bespin de Mozilla, recientemente rebautizado Skywriter. Ambos proyectos apuntan a brindar una IDE utilizable online, aunque Skywriter es más maduro. La diferencia de Cloud9 es que en lugar de utilizar Canvas de HTML 5 para hacer la presentación del código, utiliza el DOM. Ambos métodos tienen sus ventajas y desventajas, como siempre, pero es bueno que se exploren ambas alternativas.

La otra gran diferencia de Cloud9 (que por ahora está disponible para uso local) es que está diseñado siguiendo el estilo de Eclipse, en que la mayor parte de la funcionalidad se obtiene mediante un sistema de plugins.

La mejor noticia es que ambos proyectos (Cloud9 y Skywriter) han decidido colaborar, inicialmente en áreas como el sistema de plugins, configuración, coloreo de sintáxis, comandos y temas.