DevCleaner: limpia tus desarrollos

DevCleaner limpia tus desarrollos

Hace poco tiempo me di cuenta de que almacenaba en mi equipo un gran número de proyectos de desarrollo, que había ido acumulando a lo largo de los meses. Estos proyectos cada vez ocupaban más espacio y, por lo tanto, era importante limpiarlos.

Estructura de un proyecto de desarrollo

Normalmente todos los proyectos de desarrollo tienen la siguiente estructura:

  1. Una o varias carpetas donde se almacena el código fuente.
  2. Otra carpeta donde se guardan recursos: imágenes, traducciones, archivos de configuración, etc.
  3. Un conjunto de carpetas donde se guardan dependencias, archivos con el código precompilado, paquetes y los archivos finales para ser publicados.

Está bastante claro que ni se quiere perder el código de las aplicaciones, ni los archivos auxiliares necesarios para que la misma funcione correctamente. Pero todos los archivos del punto 3, son candidatos a ser eliminados, puesto que se pueden volver a generar a partir de los archivos de los puntos 1 y 2.

Leer más

Aprende a ser un desarrollador WordPress profesional paso a paso

Aprende a ser un desarrollador WordPress profesional

En los últimos años WordPress se ha convertido en una de las mayores plataformas para crear proyectos web, evolucionando desde un CMS para crear tu blog, a soportar la creación de foros, páginas de e-commerce, etc. Esto es debido a que es una plataforma muy flexible, gratuita y con una gran comunidad que la mantiene y desarrollo innumerables plugins y temas. Sin embargo, el puesto de desarrollador WordPress profesional todavía es muy importante en proyectos donde el cliente quiere una personalización completa de su sitio. En esta guía, te mostraré las principales cosas que debes conocer para alcanzar ese nivel.

¿Qué es un desarrollador WordPress profesional?

Hay muchos desarrolladores que trabajan con WordPress, que no son profesionales, ya que se limitan a instalar el CMS, configurarlo con un buen puñado de plugins e instalar un tema (de pago o gratuito) del gusto del cliente. Algunos, además realizan una pequeña personalización con CSS de este tema, para mejorar su aspecto. Sin embargo, esto dista mucho de lo que se busca en un desarrollador WordPress profesional.

Además de la optimización de WordPress, que siempre es necesaria, un buen desarrollador tiene principalmente dos cometidos:

  • Desarrollar módulos o plugins para conseguir aquella funcionalidad específica del cliente.
  • Crear el mejor tema posible para cada cliente.

Como puedes ver, la principal diferencia entre los profesionales y los que no lo son, es que los primeros crean, mientras que los segundos instalan. Esto no quiere decir que un profesional no use plugins y todo lo tenga que desarrollar desde cero.

Leer más

Cómo crear aplicaciones multiplataforma con Xamarin y C#

Como crear aplicaciones multiplataforma con Xamarin y C#

La necesidad de crear aplicaciones (principalmente para móviles), cada vez es mayor para cualquier tipo de servicio y/o empresa. Por ello en esta guía te enseño cómo crear aplicaciones multiplataforma con Xamarin y el lenguaje de programación C#.

La necesidad de Xamarin

Aunque cada vez se crean más aplicaciones y se necesitan que sean compatibles con varias plataformas, su desarrollo todavía sigue siendo un proceso costoso y largo. Esto es debido a que cada plataforma cuenta con un lenguaje de programación propio, impidiendo la compartición de recursos, por esta razón han surgido varias aproximaciones para crear aplicaciones multiplataformas:

  • Utilizar los lenguajes y tecnologías web (HTML, CSS y JavaScript), aprovechando que todos los dispositivos cuentan con un navegador web y un componente para representar este código.
  • Utilizar Xamarin junto con C#, para unificar el desarrollo gracias al proyecto Mono.

Ventajas del uso de Xamarin frente a las aplicaciones web

Seguramente habrás notado que los navegadores son un tipo de software cuyo consumo es elevado y, en muchos casos, no dan el rendimiento esperado. Esto, junto con las limitaciones que de HTML5 hace que las aplicaciones basadas en tecnologías web (Ionic, PhoneGap…), suelen tener un menor rendimiento, mayor consumo de batería y limitaciones para el acceso a algunas características de los dispositivos.

Por otro lado, Xamarin permite el desarrollo nativo para cada plataforma, lo que permite obtener un rendimiento similar a las aplicaciones creadas en el lenguaje de cada plataforma y el acceso completo a todas las APIs del sistema.

Leer más

Por qué deberías usar Git como sistema de control de versiones

Por qué deberías usar Git como sistema de control de versiones

Seguramente, como visitante de esta página, estarás acostumbrado a programar y a trabajar en algunos proyectos más o menos extensos, ¿pero lo estás también a usar un sistema de control de versiones?. Es muy posible que la respuesta a esta pregunta sea que no.

¿Qué es un sistema de control de versiones?

Un sistema de control de versiones es un software que permite mantener un histórico de las distintas versiones de un desarrollo. Este sistema básicamente y a grandes rasgos, consiste en almacenar copias de los ficheros que contienen el código fuente del proyecto en cada uno de sus estados. Esto permite tener siempre a mano el código fuente disponible de un programa, en cada una de sus versiones y/o en una fecha concreta.

Ventajas del uso de un sistema de control de versiones

Utilizar un sistema de control de versiones tiene, entre otras, las siguientes ventajas:

  • Permite mantener un histórico de todo el desarrollo del proyecto.
  • Añade trazabilidad al desarrollo de software, ya que se puede ver qué cambios se han hecho en el código en cada versión.
  • Muestra mucha información estadística de cómo se está desarrollando el proyecto (principales autores, número de versiones, cambios, etc.).
  • Facilita mucho el trabajo en equipo.
  • Permite desarrollar varias versiones de un mismo programa a la vez.

Inconvenientes del uso de un sistema de control de versiones

Los principales inconvenientes del uso de un sistema de control de versiones son:

  • Presentan una curva de aprendizaje un poco elevada.
  • Sólo se aprovechan de manera completa si se tiene este sistema en un servidor siempre disponible.
  • Su uso sin interfaz gráfica puede resultar bastante complejo.

 

Como puedes ver, las ventajas superan ampliamente a las desventajas, pero todavía hay en muchas organizaciones que no se utilizan. Esto es debido, en muchos casos, a que sus empleados no están formados en el uso de estas herramientas. Por ejemplo, en mi universidad no se enseña a usarlos y en los grados de formación profesional que conozco, tampoco.

Leer más

3 componentes básicos para tu app con C#

3 componentes básicos para tu app con C#

En los dos últimos meses he estado desarrollando algunas aplicaciones tanto para móviles (vía Xamarin), como para escritorio (WPF) y en todas ellas hay 3 componentes que siempre se repiten.

PRISM

Como muchos de vosotros sabréis, la arquitectura propuesta por Microsoft para desarrollar aplicaciones es la denominada MVVM (Model View ViewModel). Esta arquitectura requiere escribir bastante código para algunas características simples, así que suele ir siempre apoyada por un framework. En mi caso, la elección es PRISM debido a que es:

  • El framework diseñado por Microsoft
  • Uno de los desarrollos más completos en el soporte de MVVM
  • Un sistema muy estable y maduro
  • Un desarrollo que soporta todo tipo de aplicaciones realizadas con C#

Este proyecto es software libre y puede ser consultado en GitHub, donde también están presentes enlaces a la documentación y a los paquetes de NuGet.

Leer más

Las 3 mejores tipografías para programar

Las 3 mejores tipografías para programar

El mundo de la programación, es un sector que ha evolucionado de manera muy rápida en los últimos años. Esta evolución ha permitido el nacimiento de multitud de lenguajes y tecnologías. Pero hay otras cosas que no han cambiado tanto, como los editores o las fuentes que estos mismos utilizan.

La programación y la tipografía

Cuando uno piensa en tipografía y en programación, siempre se le viene a la cabeza las fuentes monoespaciadas. Aquellas que dedican el mismo espacio a cada símbolo. Sin embargo, hay otros conceptos que no se tienen presentes:

  • En programación se hace un uso intensivo de los símbolos, ya que forman estos forman parte de la sintaxis de muchos lenguajes. Por ejemplo, ‘#’ en Markdown, <= para hacer comparaciones, ! para negar un valor…
  • Se utilizan mucho los números. En un documento de texto o en un libro no es muy frecuente su uso, pero en programación suelen utilizarse de manera constante.
  • La programación saca partido de la identación, al contrario de los documentos textuales clásicos.

Entonces, si el código tiene sus propias características y es muy distinto a los textos comunes, por qué se utilizan las mismas tipografías. La respuesta es simple, porque hasta hace poco no había nada que mejorase lo que se tenía.

Leer más

JetBrains la empresa de las herramientas de desarrollo

Cuando uno desarrolla software, una de las primeras preguntas que se hace es qué IDE elegir y la segunda de ellas es qué complementos instalar. La respuesta a estas preguntas siempre es complicada, porque dependen de tus gustos y del lenguaje o tecnología que utilices. Sin embargo, una primera aproximación pasa por utilizar aquellas más recomendadas por la comunidad y de eso os vengo a hablar hoy.

JetBrains la empresa de herramientas de desarrollo

Las herramientas de desarrollo

Cuando uno piensa en herramientas de desarrollo, lo primero que le viene a la cabeza son los IDEs, los compiladores, los depuradores, los intérpretes, etc. Es decir, herramientas de desarrollo hay muchísimas y de muy diversos tipos. Sin embargo, la elección de los mismos no es algo trivial.

En mi caso personal, cuando empecé a desarrollar mi trabajo de final de carrera, como iba a utilizar C#, me centré en su IDE más conocido (Visual Studio). Con Visual Studio iba desarrollando cada una de las partes del trabajo, pero todavía notaba que iba demasiado lento ya que había muchas tareas repetitivas.

Leer más

3 maneras de optimizar tus programas en C# 💯

3 maneras de optimizar tus programas en C#

Uno de los problemas que más se repite en los programas que manejan muchos datos o que tienen algoritmos complejos, es el tiempo que tarda el sistema en realizar los cálculos y los recursos que necesita. Por esta razón, hoy te enseñamos 3 maneras de optimizar tus programas en C#

¿Qué es optimizar?

Optimizar es un proceso clave en el mundo empresarial, el cual consiste en reducir los recursos necesarios para alcanzar un objetivo. En este caso queremos reducir el tiempo de computación y la cantidad de memoria, necesaria para ordenar un conjunto de datos grande. La optimización tiene los siguientes problemas:

  • Es un proceso complejo, ya que para alcanzar mejoras en el rendimiento, muchas veces, es necesario utilizar estructuras de datos más complejas.
  • Requiere definir claramente qué queremos optimizar (memoria, tiempo, uso del disco duro, etc), porque en muchos casos al optimizar un parámetro, empeoramos otros.
  • Es necesario conocer a fondo la plataforma y tecnologías que estamos utilizando, para saber qué mejoras son más óptimas.
  • El coste de optimizar suele ser logarítmico, al principio se necesita poco tiempo para conseguir mejoras, pero se llega a un punto donde el coste de desarrollar una mejora es muy alto.

Leer más

Hackr: recursos gratis sobre programación ⌨️

Hackr: recursos gratis sobre programación

Una de las cosas que más se suelen solicitar en el mundo del desarrollo, es dónde encontrar recursos para aprender a utilizar una tecnología o lenguaje concreto. Hoy te enseñamos uno de los sitios que puedes utilizar como referencia.

¿Por qué son tan solicitados los recursos?

Quizás a alguien que está empezando o venga de otro ámbito le resulte curioso, cómo en el campo de la informática siempre se están pidiendo nuevos recursos. Esto ocurre porque:

  • Es un área muy dinámica, donde nacen multitud de tecnologías todos los meses.
  • Los lenguajes actuales evolucionan rápido.
  • Rara es la librería que no se actualiza con grandes cambios cada dos o tres meses.
  • Los desarrolladores y principales fabricantes dejan de soportar las versiones antiguas, quedando tu desarrollo inutil.

Sin embargo, no todo son problemas este cambio contínuo ayuda a que los profesionales mantengan el interés. Además, favorecen la evolución y el aprendizaje contínuo, dos características básicas de un buen desarrollador.

Leer más

Cómo insertar un video de YouTube en WPF o UWP

Cómo insertar un video de YouTube en WPF o UWP

YouTube actualmente se ha convertido en el lugar por excelencia para albergar vídeos, por lo que es bastante común que tengamos que reproducir algún video hosteado en este servicio en nuestras aplicaciones.

Utilizando el control MediaElement

Tanto WPF como UWP tienen el control MediaElement, que no es más que un reproductor nativo de elementos multimedia (video, audio), como se puede ver en la siguiente imagen:

Demostración del control Media Element en UWP

Leer más