BlogSoftware Libre

Habitualmente usamos un montón de herramientas para nuestro desenvolvimiento diario en computador o en el móvil, pero poco sabemos si la herramienta es Software, Freeware(Software Libre) o Freemium(una mezcla, en unas líneas lo explicaré).

Estaba navegando en mi Timeline de Twitter y me tope con este tuit de Kaleidos Open Source @kaleidosnet 

y esta imágen me llamó mucho la atención

https://kaleidos.net/#weapons

Software Libre

La Lista Kaleidos

Todo lo que está ahí es software libre y mucho de eso se usa muy seguido.
primero expliquemos la diferencia:

Software

Es un sistema que alguien desarrolló y lo vende o licencia su uso a cambio de dinero, Microsoft Office, Photoshop, Pro Tools y otro montón de software son software “propietarios” y hay que pagar por usarlos.

“Nosotros en perfectcodex.com recomendamos ampliamente el pago de las licencias de software, hoy día son mucho más accesibles que anteriormente y tener el software sin limites provee una ventaja incomparable con el software pirateado”

Software Libre

Es un sistema que alguien desarrolló y puedes usarlo sin pagar, es de libre uso, generalmente está soportado por una enorme comunidad de desarrollo. los siguientes sistemas en este post son todos software libre.

Freemium

Es un sistema que alguien desarrolló y deja que lo uses gratuitamente para que sepas como es y cómo funciona, pero este está limitado, debes pagar para desbloquear funciones, es una práctica muy común en las apps y juegos de vídeo. 

 

La Lista Kaleidos (Software Libre)
https://kaleidos.net/#weapons

Esta lista me llamó mucho la atención y proceso a listar cada uno y contar qué es y para qué sirve, confieso que hay varios que no conozco así que esta vez estaremos aprendiendo en “tiempo real” 

Nota: puse un diccionario de términos al final

 

Las conocidas

 

CSS3
https://www.w3.org/Style/CSS/

Por sus siglas en inglés “Cascading Style Sheets” es un lenguaje que te permite definir las reglas de diseño de tu sistema en un solo documento o librería y manejar desde este punto todo el detalle de diseño de tu aplicación o sitio web.

Es decir, haces un sistema que tiene 100 botones, antes del CSS tenías que decirle a cada botón como debía verse, con CSS solo escribes en tu hoja de estilo css como se ven los botones y listo, cambias 100 botones en un solo punto. el día que decidas qué quieres esos 100 botones de una forma diferente solo vas y cambias el estilo del botón y así no tienes que hacer 100 cambios, solo haces 1.

 

Git
https://git-scm.com/

Es un “sistema” para hacer el control de versiones de tus archivos. Básicamente tenemos la carpeta de trabajo y en ella vemos crecer nuestros proyectos desde cero hasta convertirse en el producto final, si trabajamos solos no suele ser un problema, pero al trabajar en equipo se puede convertir en un dolor de cabeza saber cómo manejar estos archivos, con Git es simple, existe una línea principal de la versión de los archivos que es la que el supervisor mantiene organizada, cada miembro del equipo trabaja en una rama a parte de la principal, así que cada persona tiene su propia versión del archivo, git se encarga de guardar de forma organizada cada versión del archivo y sus diferencias, incluso si al acoplar el trabajo existe algún conflicto Git te informa y puedes manejarlo de forma ordenada. 

Además puedes ver y manipular las versiones de tus archivos en cualquier punto de su historia. es decir que puedes recuperar eso que  estaba una versión en el pasado.

En PerfectCodex.com manejamos servidores con Git para grandes equipos, tenemos la tecnología para mantener a salvo e íntegro el código fuente de tus proyectos.

No hay forma de escribir Software Libre en equipo sin un buen repositorio git

 

HTML5
https://html.spec.whatwg.org/multipage/

La base de toda la tecnología web, todo lo que ves en un navegador web y una gran parte de las aplicaciones de hoy día son basadas en HTML.

Es un código que permite organizar información de forma que los navegadores web puedan mostrarla, es sin duda el lenguaje más sencillo del ecosistema y allí radica su grandeza, con tablas, contenedores y listas, etiquetas de formateo de texto y la habilidad de de identificar grupos de clases y bloques específicos con un ID, este lenguaje permite realizar todo lo que vemos en un navegador, desde la simple Wikipedia o el Home de Google hasta increíbles animaciones y juegos complejos. 

El HTML es la base de todo lo que vemos en internet, compañero inseparable de las hojas de estilo CSS, la tecnología responsive y en perfectcodex.com siempre de la mano con jQuery.

 

Javascript
https://es.wikipedia.org/wiki/JavaScript

Es un lenguaje de programación interpretado, es decir es un lenguaje que le envías al dispositivo y este lo ejecuta, a diferencia de otros lenguajes compilados que envías al dispositivo el resultado de la corrida del programa. su característica principal es que opera del lado del cliente o el usuario. y te permite hacer cosas como darle mensajes al usuario, validar sus formularios antes de enviar los datos al servidor, y  un sin fin de cosas más.

jQuery es un framework que opera sobre JavaScript y es responsable de gran parte de las Animaciones, efectos, responsive, validaciones, customizaciones y muchas cosas más en la manipulación del HTML de todo lo que sucede en nuestro navegador mientras usamos internet o algo basado en HTML.

 

Linux
https://en.wikipedia.org/wiki/Linux

Es una familia sistemas operativos, son una especie de sistema UNIX desarrollado en software libre, existen bastantes distribuciones y variantes de Linux en la web. se caracteriza por su estabilidad y seguridad. incluso se puede decir que esta blindado contra el usuario inexperto.

En perfectcodex.com lo usamos para nuestros servidores, el 100% de ellos están sobre linux, la mayoría corren en Ubuntu, y tenemos ya dos grandes servidores en Debian, estamos comparando a fondo la seguridad y estabilidad de ambos.

El Software Libre no sería lo mismo sin las distribuciones linux.

 

NGINX
http://wiki.nginx.org/

Es un servidor HTTP de alto rendimiento, un servidor web.

Es una tecnología muy estable que consume mucho menos recursos que el resto de los servidores similares y es compatible con PHP, Rails y Postfix. su configuración es bastante sencilla comparada con otros servicios similares y en PerfectCodex.com simplemente lo amamos.

 

PostgreSQL
https://www.postgresql.org/

Postgre es el más poderoso motor de bases de datos que conocemos, muchos lo comparan con su alternativa paga Oracle, es una herramienta super poderosa y permite hacer todo lo posible con las bases de datos en la actualidad. además es super seguro, tiene manejo óptimo de usuarios y perfiles.

 

Python
https://www.python.org/

Este es un lenguaje de programación, está entre nosotros desde hace mucho tiempo y seguirá estando hasta el fin de los tiempos, es de esos lenguajes que su potencial es tan desconocido que cada día sorprenden al mundo con algo desarrollado enteramente en este lenguaje.

El año pasado desarrollamos una herramienta que usaba la data de google earth para analizar y graficar corrientes de viento sobre un mapa, con factores de elevación y temperatura, todo eso analizado con python y un par de webservices.

Actualmente tratamos de desarrollar una red neuronal y comparamos el rendimiento del proceso de aprendizaje en Ruby on Rail con el de Python, aún es pronto para un veredicto, pero estamos hablando de Machine Learning e Inteligencia Artificial y sí es probable que al final del camino El servidor de Inteligencia Artificial y las redes Neuronales solo tenga Linux y Python, esto será más que suficiente para que iniciemos el proceso de la “Matrix”.

 

SASS
https://sass-lang.com/

Es una extensión de CSS y es muy poderosa, es la librería que en perfectcodex.com usamos en el sistema del banco en panamá al que le damos soporte a sus aplicación Ruby On Rails. 

Es muy sencilla de usar y maneja el responsive muy bien.

Una alternativa a SASS es Bootstrap (https://getbootstrap.com/) que personalmente me gusta mucho más y me parece más poderosa.

 

 

Las no tan conocidas

 

Angular
https://angular.io/

Angular es un Framework para hacer apps, en su web dice que tiene la habilidad de hacer aplicaciones multiplataformas.

He solucionado algunos bugs en aplicaciones angular, no tenía idea que era tan poderoso.

 

GIMP
https://www.gimp.org/

Es un editor de imágenes, lo conocí por ser una alternativa a photoshop, es muy bueno versátil y poderoso, no lo uso a diario porque desde siempre he trabajado con Photoshop pero si me ha tocado usarlo y de verdad es una herramienta muy poderosa.

 

Java
https://www.oracle.com/java/technologies/

Es un Lenguaje de programación muy famoso y muy usado, los desarrolladores de este lenguaje son una legión incansable y muy poderosa, literal hacen todo con java y lo hacen muy bien.

Hemos dado soporte a bastantes cosas en Java pero no solemos usarlo para iniciar proyectos desde cero. Estamos seguros que es una herramienta con una versatilidad envidiable.

 

 

Las no conocidas

 

django
https://www.djangoproject.com/

Es un Framework de desarrollo aplicaciones web, está basado en python y su web dice que es increíblemente rápido el desarrollo de sistemas con sus métodos. 

Instagram y Pinterest estan desarrollados con este framework así que su potencial es sencillamente increíble.

 

GNU
http://www.gnu.org/

Este es un sistema operativo Linux, tiene como bandera que “respeta la libertad de los usuarios”. al ser un sistema operativo hay que montarlo y probarlo, sé que mucha gente lo usa.

Muchos de los incansables defensores del Software Libre llevan el GNU/Linux como bandera.

 

Grails
https://grails.org/

Es un framework de desarrollo basado en Groovy diseñado para funcionar con JAVA y JVM(Java Virtual Machine).

Google, Netflix y LinkedIn usan este framework lo que habla muy bien de su capacidad de procesamiento.

 

Groovy
http://groovy-lang.org/

Es un lenguaje de programación que corre sobre JAVA, y entre sus principales características está que es muy fácil de aprender y su poder de procesamiento. 

 

InkScape
https://inkscape.org/

Es la alternativa al super caro CorelDraw y al super famoso Adobe illustrator, es un editor de gráficos en vectores. se ve realmente poderosa, ya la estamos descargando para montar un par de ilustraciones par apublicar en https://www.instagram.com/drawjavierart/, este tipo de software hay que probarlos mucho para dar un veredicto final.

 

RabbitMQ
https://www.rabbitmq.com/

Es un sistema de mensajería, está bastante interesante su documentación y es una genial alternativa si deseas un sistema de mensajería independiente.

En perfectcodex.com estamos ahora mismo experimentando con Telegram, así que el análisis de esta herramienta deberá esperar un poco.

 

React JS
https://reactjs.org/

Es una librería en en JavaScript, que está especializada en interfaces de usuario. actualmente es lo más estudiado por mi ecosistema social en la cuarentena. son realmente eficientes y prácticas las cosas que he visto realizadas con esta herramienta. 

En PerfectCodex.com esperamos hacer un proyecto este año con ella para conocer a fondo el verdadero potencial de la misma.

 

Vue.js
https://vuejs.org/

Es un framework javascript, que tiene como bandera ser progresivo, lo cual entendemos que logra organizar ese posible y común compendio de múltiples librerías en un solo punto lo cual hace que el manejo de código sea más simple y más rápido y eficiente del lado del navegador.

 

PostCSS
https://postcss.org/

Es una herramienta que te permite transformar CSS con Javascript. 

Se ve bastante interesante, aparentemente tiene un poder infinito para la manipulación del css.

 

WebPack
https://webpack.js.org/

Es un servicio(Core) que organiza y empaqueta todos medios digitales, y archivos que se envían al cliente (sitios webs, apps y derivados).

Es un excelente concepto sobre todo si solemos desarrollar plataformas con múltiples Frameworks y tecnologías.

 

Node.js
https://nodejs.org/en/

Es un Framework de desarrollo de interfaces de usuario en Javascript muy poderoso, fuerte competidor de React, y tiene una tasa muy interesante del mercado en todo lo que es Basado en HTML5.

 

 

Diccionario de términos

Framework: Metodología de trabajo, con herramientas, documentación y lenguaje que te permite realizar sistemas específicos con herramientas nuevas, clases y librerías que hacen que el desarrollo sea más rápido y eficiente combinando tecnologías conocidas en un “nuevo” lenguaje.

Multiplataformas: un sistema con tecnología responsive y se puede compilar para dispositivos móviles Android, iOs, Firefox y Windows Mobile y computadores Linux, Windows y Mac.

Tecnología Responsive: Es una forma de hacer el HTML de tu sitio web o aplicación que te permite hacer un solo diseño y que este se adapte a cualquier ancho de cualquier pantalla, desde un enorme TV hasta la pantallita de tu dispositivo móvil.

Conclusión

Hay muchas alternativas en cuanto a tecnología se refiere y todos los elementos de esta lista merecen una buena oportunidad de estudio, un nuevo abanico de soluciones y una genial alternativa a lo que conocíamos o no.

 

Mil gracas a la comunidad de Kaleidos Open Source https://kaleidos.net/ por inspirar este “pequeño” post en nuestro blog y usted por leernos.

 

Erlin Briceño

Desarrollador Web

Twitter @Erlinb

Instagram @Erlinbrice

Perfectcodex.com