Algunos frameworks de código abierto

Onsen UI es un framework para el diseño de aplicaciones

Continuando con nuestra recopilación de programas habituales los fines de mes, haremos una enumeración de algunos frameworks de código abierto. En la industria del desarrollo de software un framework es un conjunto de recursos que permite reducir y facilitar el tiempo de desarrollo del software.

El desarrollo de software es una actividad muy exigente en términos de tiempo, conocimiento y dinero. Cualquier atajo que pueda tomarse resulta muy útil.

Algunos frameworks de código abierto

Hay dos recursos a los que los programadores pueden recurrir para reducir el tiempo de desarrollo, uno es las bibliotecas y el otro los frameworks. Pongamos un ejemplo para entender la diferencia. Supongamos que queremos armar un automóvil. Podemos comprar las piezas por separado (Ruedas, motor, volante, parabrisas, tanque de nafta) o podemos comprar un automóvil y hacer las modificaciones que deseemos como cambiarle el color, modificar el motor para que corra a más velocidad o agregar un soporte al techo para llevar más equipaje.

Las librerías son las piezas. Código diseñado para funciones específicas como ejecutar cálculos matemáticos o imprimir textos. Los frameworks son programas o plantillas completos que podemos modificar para lograr el resultado deseado.

Tipos de frameworks

Frameworks para diseño de sitios y aplicaciones web

Perdón por la obviedad, pero se usa para la creación de sitios web o aplicaciones basadas en tecnologías web. Algunos títulos de código abierto son:

  • Angular: Desarrollado por Google utiliza el lenguaje de programación TypeScript (Una versión mejorada de JavaScript) y es ideal para crear una aplicación web de una sola página.
  • Django: Este framework permite utilizar el popular lenguaje de programación Python para la creación de sitios web como gestores de contenidos o carritos de compra.
  • Ruby on Rails: Se usa para crear aplicaciones del lado del servidor y es ideal para el trabajo con base de datos.
  • Bootstrap: El más conocido de los frameworks centrados en el aspecto del sitio web. Incluye una serie de componentes, diseños y esquemas de colores que se pueden combinar para lograr diseños de calidad profesional. Puede usarse tanto instalado en nuestro propio servidor o agregando un enlace al servidor del proyecto.
  • Pure: Si te van más los diseños sencillos, este framework es minimalista, aunque incluye opciones como menús, botones, columnas y formularios.

Frameworks para diseño de aplicaciones web

Como este artículo fue escrito en colaboración con el Capitán Obvio, me veo obligado a aclarar que este tipo de frameworks se usa para la creación de aplicaciones móviles.

Algunos títulos de código abierto son:

  • Flutter: La segunda contribución de Google a esta lista. Permite crear aplicaciones para Android e iOS utilizando el mismo código base. Incluye widgets, un motor de renderizado e integración con APIs para crear una experiencia de uso nativa.
  • Ionic: Resultado de la combinación de dos grandes, PhoneGap y Angular. Ionic permite construir fácilmente aplicaciones para iOS y Android agregando elementos como filtros, formularios, vistas, menús de navegación y hojas de acciones.
  • Framework7: Debo confesar que no conocía este framework que permite crear tanto aplicaciones web como de escritorio utilizando HTML5, JavaScript y CSS3.  Incluye elementos para la creación de interfaces de usuario como hojas de acción, vista de lista, ventana emergente, paneles laterales, cuadrícula de diseño entre otros.
  • Onsen UI: Este framework es adecuado para la creación de aplicaciones web complejas que funcionan en diferentes plataformas como si fueran nativas   Es compatible con frameworks similares y su sitio web cuenta con un completo material de aprendizaje. Entre los componentes para la creación de aplicaciones se incluyen componentes como pestañas, listas y pila de navegación.

Estos son solo algunos ejemplos de la variedad de ofertas que el código abierto nos proporciona. Por supuesto que la lista no se agota y continuaremos ampliándola.

El tiempo dirá cuál es el impacto que las herramientas de Inteligencia Artificial tendrán en el uso de frameworks, sin embargo falta bastante para que las aplicaciones escritas usando dichas herramientas produzcan código de la misma calidad  que las que produce el código creado por humanos.

from Linux Adictos https://ift.tt/MIHYDTN
via IFTTT

Más programas para crear currículums

Recopilación de programas para currículums

En el post anterior habíamos mencionado tres programas útiles para postularse a un nuevo trabajo. En este continuaremos enumerando más herramientas para la creación de currículums.

A la hora de crear un currículum es necesario decidir si se prioriza la creatividad, la facilidad de lectura o lo completo de la información. La opción mejor dependerá del tipo de trabajo.

Más programas para crear currículums

JSON Resume

Este programa de código abierto nació con la intención de ser el estándar para la creación de currículums en formato JSON. Fue creado por desarrolladores para facilitar que los desarrolladores consigan trabajo.

JSON significa Notación de objetos de JavaScript y se trata de un formato de intercambio de datos que resulta fácil de leer y escribir para las personas y al mismo tiempo fácil de analizar y generar para los ordenadores. Los desarrolladores de la aplicación optaron por este formato porque lo consideran liviano y fácil de usar.

El programa se usa desde la línea de comandos en Windows, Linux y OSX y dispone de más de 400 temas instalables desde npm, el gestor de paquetes de NodeJS. Existe además una extensión para Chrome que permite importar los datos desde Linkedin.

WTF Resume

Se trata de una herramienta basada en la web que permite crear un currículum con un diseño simple arrastrando y soltando o cambiando la posición de los conmutadores. Está diseñado en React y NextJS y puede usarse vía web o descargarse de GitHub. No requiere registración.

Puede guardarse en formato JSON o PDF.

Suddi

Es un generador de sitios estáticos que en base de los datos del currículum expresados en formato JSON crea un sitio web que puede subirse a un servidor para poder verlo online. No se puede variar la plantilla.

El generador de sitios estáticos es un programa al que se le agregan ciertos datos y luego se lo compila dando como resultado código HTML y CSS.

JSON-LD Resume

Otra aplicación de código abierto que puede usarse desde su sitio web o descargando e instalando el programa en un servidor web.

El programa permite crear los currículums en forma visual usando el navegador. Algunas de sus características son:

  • Crea currículums aptos para las herramientas de selección de personal basadas en Inteligencia artificial.
  • Selección entre seis plantillas de currículums.
  • Diseño y estructura personalizables.
  • Traducción al español.
  • Posibilidad de variar la combinación de colores.
  • Posibilidad de variar la tipografía.

ResumeGenie

Este programa tiene integrada la herramienta de reconocimientos de caracteres de código abierto Tesseract para facilitar la digitalización de currículums en formato impreso.

Algunas características:

  • Interfaz fácil de usar para crear y editar currículums.
  • Todas las prestaciones están disponibles en forma gratuita.
  • Exportación a PDF en un solo clic.
  • Diseño y cambios de secciones personalizables.
  • Soporte al modo oscuro.
  • Múltiples plantillas.
  • En un futuro se promete integración con herramientas de Inteligencia Artificial para facilitar la creación de currículums.

ezcv

Por fin tenemos una herramienta que no está basada en tecnologías web sino en Python. Aunque también es un generador de sitios estáticos, en este caso para la creación de currículums y portafolios. Es ideal para quienes necesitan mostrar su trabajo en línea.

Algunas características del programa son:

  • Amplia colección de plantillas.
  • Plantillas flexibles con Jinja2, un lenguaje de creación de plantillas para usar con Python.
  • Personalización de archivos y secciones de configuración.
  • Uso del lenguaje Markdown para el formateado.
  • Creación de sitios usando HTML.
  • Integración con herramientas de análisis de tráfico de Google.

Resume Vita

Otra herramienta para la creación de currículums con la novedad de que además de PDF y HTML permite la exportación en formato .doc.

El programa permite:

  • Crear, eliminar y recuperar datos de la cuenta.
  • Añadir y editar currículums
  • Compartir currículums usando un enlace.
  • Ver los diferentes currículums creados.

La verdad, es que no sé si se justifica el uso de estas herramientas, al menos las que producen currículums para imprimir. Pero, lo bueno del código abierto es que nos ofrece opciones.

from Linux Adictos https://ift.tt/YgawIv2
via IFTTT

Software libre para crear currículums

Herramientas para crear currículums

Estamos viviendo una época donde la gente cambia muy seguido de trabajo y, el acreditar una buena formación y experiencia es un punto a favor a la hora de tratar de conseguirlo. En este post veremos algunos títulos de software libre para crear currículums.

Hay que decir que existen muchas herramientas en línea (Algunas basadas en Inteligencia Artificial) que nos permiten crearlos, sin embargo, crearlos utilizando herramientas libres tiene sus ventajas.

Software libre para la creación de currículums

¿Qué es un currículum?

El término currículum se refiere, de acuerdo con el Diccionario de la Lengua Española a «la relación de títulos, honores, cargos, trabajos realizados y datos biográficos que hacen que una persona sea apta para un puesto«. Aunque tienen el mismo origen, la palabra latina curriculum que significa recorrer, no debe confundirse con currículo que es la lista de asignaturas que debe aprobar un estudiante.

Tipos de currículums

  1. Cronológico: Suele ser el formato más utilizado ya que permite al contratante determinar si el postulante cuenta con la formación y la experiencia necesaria para el puesto.  Los empleos anteriores se muestran en orden inverso y también se incluyen las certificaciones académicas y habilidades especiales. Este currículum es ideal si se quiere demostrar el crecimiento dentro de determinada industria o conseguir prestigios por asociación con empresas prestigiosas del sector.
  2. Funcional: Pone el foco en las habilidades del postulante antes que en la experiencia previa. Tampoco es necesario informar sobre la fecha de inicio y duración de los trabajos anteriores. Es ideal para postular a un trabajo en otro sector o cuando no se tiene experiencia en el mundo laboral.
  3. Combinado o híbrido: Como se habrán imaginado es una combinación de las anteriores. Incluye las habilidades funcionales además del historial cronológico.  Se recomienda cuando se quiere hacer la transición a un puesto similar o no se tiene un historial laboral consistente.
  4. Perfil profesional: Es un tipo de currículum que está cobrando gran popularidad en esta época en que los reclutadores tienen poco tiempo para leer y tratan de evitar acusaciones de discriminación.  Se trata de una breve descripción de las fortalezas, habilidades y conocimientos aplicables al puesto solicitado que no ocupan más de 4 oraciones o viñetas. Es ideal cuando se tiene una carrera que habla por sí sola.
  5. No tradicional: Incluye diagramación, información o formatos no tradicionales. Ideales para puestos en industrias innovadoras o puestos en los que se requiera un perfil creativo.
  6. Específico: Es un currículum cronológico o funcional en el que solo se enumera aquella información que es relevante para el puesto a que se aspira.  Esto permite reducir el tiempo de lectura, mantener la atención y enfatizar palabras claves.

Algunos programas para hacer currículums

LibreOffice, OnlyOffice o cualquiera de los otros procesadores de textos de código abierto compatibles con Microsoft Office pueden abrir y editar las plantillas disponibles en la red. Sin embargo, si quieres crear tus propias plantillas a las varias herramientas que puedes usar.

Scribus

Aunque cualquier procesador de textos puede crear un currículum bastante aceptable, un creador de publicaciones de escritorio como Scribus nos permite tener un mayor control de las ubicaciones de los diferentes elementos y formatos que integran un currículum. Además, aunque no seas hábil con el diseño gráfico, su interfaz de usuario te facilitará imitar las plantillas que ves en la web. Por otra parte, se puede guardar en pdf y trabaja con la paleta de colores CMYK por lo que da un mayor control del resultado de la impresión.

Scribus está en los repositorios de las principales distribuciones Linux.

LibreOffice Draw

La aplicación de dibujo de LibreOffice, permite editar plantillas en PDF y da mayor control de los diferentes elementos que integran un currículum que su hermano dedicado al procesamiento de textos. También, está en los repositorios de las principales distribuciones Linux.

Reactive Resume

La única de las tres herramientas comentadas en este post que es específica para la creación de currículums. Puede usarse tanto desde su página web (Requiere registro, pero aseguran que no hace seguimiento) o descargarse e instalarse en nuestro ordenador usando contenedores. Algunas de sus características son:

  • Importación de currículums desde LinkedIn o JSON Resume.
  • Exportación a PDF o JSON.
  • 6 plantillas.
  • Traducción al español.
  • Posibilidad de usar las tipografías de Google.

from Linux Adictos https://ift.tt/4GzIebJ
via IFTTT

Cómo se puede cerrar el código abierto

El código abierto se está cerrando
El sábado nos preguntábamos que significaba la decisión de Canonical de hacerse cargo del proyecto LXD y excluir como mantenedores a quienes no sean empleados de la empresa. Esa es una de las formas cómo se puede cerrar el código abierto, pero, no es la única.

Ya habíamos hablamos bastante en Linux Adictos de la movida de Red Hat (IBM) para restringir el acceso al código fuente de la distribución

De principios y finales

Una vieja máxima del marxismo (Linea Groucho) es «Estos son mis principios, pero si no les gusta tengo estos otros. Pero, también es posible respetar la letra y violar el espíritu.

Comencemos recordando cuáles son esos principios:

Las 4 libertades del software libre

  • La libertad de ejecutar el programa como se desee, con cualquier propósito (libertad 0.
  • La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga lo que se desee (libertad 1). El acceso al código fuente es una condición necesaria.
  • La libertad de redistribuir copias para ayudar a otros (libertad 2)
  • La libertad de distribuir copias de sus versiones modificadas a terceros (libertad 3).

Los 10 criterios del código abierto

  1. Libre redistribución: Para ser considerada de código abierto una licencia no podrá restringir la venta o distribución gratuita ni exigir una regalía cuando se produzca, Esto se aplica tanto si el programa se distribuye en forma individual o como parte de un conjunto de programas.
  2. Disponibilidad del código fuente: El código fuente tiene que distribuirse con el programa o haber una forma bien publicitada y razonablemente accesible de conseguirlo. No debe ofuscarse de ninguna manera el código fuente ni cambiarlo por el código procesado por un compilador.
  3. Trabajos derivados: La licencia debe permitir la creación de programas derivados y que estos sean distribuidos bajo la misma licencia.
  4. Integridad del código fuente del autor: Una licencia puede limitar la libre distribución del código fuente con modificaciones con la condición de permitir en cambio la distribución de «archivos de parches» junto al código fuente que hagan posible modificar el programa en el momento de la compilación. También debe garantizar explícitamente la distribución de software creado a partir del código fuente modificado estableciendo si se desea que los trabajos derivados lleven un nombre o número de versión diferente del software original.
  5. No discriminar usuarios: No establecer discriminación entre personas o grupos de personas.
  6. No discriminar usos: La licencia no puede establecer en que actividades se usa el programa.
  7. Distribución de licencia: Todos los derechos establecidos en la licencia se aplican a todos los usuarios sin necesidad de un trámite adicional.
  8. La licencia no es específica de un producto: La licencia del programa no depende del contexto. Una parte de un programa se puede distribuir y aplicar en otro contexto bajo los mismos términos.
  9. La licencia no debe limitar a otros programas: Una licencia de código abierto no puede exigir que los demás programas distribuidos con ella sean de código abierto.
  10. Licencia tecnológicamente neutral: La licencia no debe obligar al uso de determinada tecnología.

Cómo se puede cerrar el código abierto

Cabe mencionar que en este post nos tomamos la licencia de usar software libre y código abierto como sinónimos. En ese sentido hablamos de «cerrar» como una forma de restringir el acceso al código fuente, la libertad de modificarlo o la capacidad de redistribuirlo.

Algunas formas de hacerlo son:

  • Controlando el financiamiento: Desarrollar software es algo muy costoso y cuando el financiamiento depende de una empresa, esta determina el rumbo del proyecto, aunque nominalmente esté en manos de la comunidad. El caso más conocido es el de CentOS que dejó de ser compatible con la última versión de Red Hat para pasar a ser su banco de pruebas.
  • Acoso y derribo de personas molestas: Desde muchos proyectos comunitarios se alentó hace un par de años un ataque contra Richard Stallman por supuestos comentarios políticamente incorrectos. Stallman es el principal obstáculo para el proceso que estamos describiendo.
  • Falsa meritocracia:  Muchas comunidades de código abierto se basan en un sistema de ascenso en base a lo valioso de las contribuciones. Sin embargo, los que valoran las contribuciones son los líderes de los proyectos. Una forma genial de sacarse de encima a los disidentes.

En teoría cualquiera de nosotros puede crear su propio proyecto de código abierto o una bifurcación de uno existente. Sin embargo, sin los recursos necesarios es difícil que prospere.

from Linux Adictos https://ift.tt/ZB2NvPh
via IFTTT