menu

Salient es un equipo de desarrollo de software a medida. Estamos especializados en tecnologías y aplicaciones para web y gestión de bases de datos. Tambien programamos aplicaciones industriales para PC y dispositivos móviles.

Trabajamos como equipo externo y Software Factory de estudios de diseño gráfico, creativos o agencias de publicidad, pero tambien de todo tipo de empresas que necesiten ayuda con sus proyectos de software o desarrollo web.

Servicios

Aplicaciones online a medida

CRMs y ERPs a medida, paneles de visualización y control, automatización de procesos de negocio...

Aplicaciones utilizando PHP y las tecnologías de la web (HTML, JavaScript, CSS). Pueden ser públicas o privadas, para automatizar tareas, realizar cálculos, transformar y visualizar datos, etc…

A menudo es una alternativa más económica a aplicaciones de escritorio o aplicaciones de móviles sin perder funcionalidad. La mayoría de características que eran exclusivas de los dispositivos ya son accesibles en las aplicaciones web mediante el uso de Progressive Web Applications (PWA).

Desarrollo web a medida

Webs corporativas, portales de acceso a datos, microwebs de producto…

Tomamos tus especificaciones, layouts y diseños gráficos y los transformamos en maquetas y plantillas HTML5. Probamos el resultado en diversos navegadores y tamaños y trabajamos con los diseñadores para que todos ofrezcan una buena experiencia al usuario.

Paralelamente podemos desarrollar la base de datos y un gestor de contenidos. Finalmente integramos las maquetas y plantillas con los contenidos que nos sirve la base de datos utilizando PHP.

Testearemos la web a fondo para asegurar que todo funciona como es esperado y publicaremos cuando todo esté listo.

Proporcionamos asesoramiento sobre como diseñarla teniendo en cuenta especificaciones para navegación táctil, facilidad de uso, navegación intuitiva, o diseño para móvil y responsive.

Conversión y sincronización de Bases de Datos

Podemos transferir datos entre webs, diferentes CMS (Wordpress, Joomla, etc.) y aplicaciones diversas. En definitiva, desde cualquier lugar que se pueda acceder a una base de datos o se pueda crear un archivo Excel, XML o CSV, entre otros. Muy útil para reformar una web existente sin tener que introducir los contenidos de nuevo.

Este proceso se puede automatizar para tener permanentemente sincronizada una base de datos con la fuente original de datos.

Responsive, móviles y alta resolución

Preparar la web para que se adapte todos los tamaños y resoluciones de pantalla.

Es imprescindible contar con una versión de móvil debido a que muchas webs reciben más visitas de móviles que de ordenadores. Además, los buscadores tienden a posicionar mejor las webs adaptadas a móvil.

También es importante considerar que muchos dispositivos son táctiles, lo que ha cambiado el modo de diseñar la interfaces de usuario.

Además abundan ya las pantallas de alta definición (pantallas Retina, monitores 4K, tablets, etc.), que han hecho que muchas imágenes queden ahora pobres de resolución. Para servir la calidad adecuada, se definen diferentes versiones de cada imagen que informan al navegador sobre qué formato debe escojer en cada caso, sin aumentar innecesariamente el tiempo de carga.

Tiendas y blogs con CMS

Has elegido una plantilla de un gestor de contenidos (CMS), ya sea Wordpress, Prestashop u otro, tienes clara la estructura y los contenidos y necesitas ayuda para montarla en el servidor, realizar algún retoque en la estructura o una mejora de su funcionamiento y publicarla sin errores.

Cuando no quieres reinventar la rueda, necesitas algo rápido y sin complicaciones, o no tienes requerimientos fuera de lo común, esta puede ser la solución ideal.

Para soluciones más personalizadas podemos también adaptar cualquier CMS a las necesidades del proyecto o incluso programarlo desde cero.

Mailings

Sistemas de mailing que están integrados con tu web, tu base de datos o tu aplicación. Para el envío de newsletters, envíos automatizados periódicos o en respuesta a eventos.

Podemos utilizar herramientas como Mailchimp o bien desarrollar una aplicación a medida residente en tu servidor con todas tus especificaciones.

Traslado de hosting y dominos

Cambiar el servidor de correo sin perder acceso al correo corporativo, traspaso de webs, dominios, consolidaciones. Si es necesario, también acondicionamos la web para el nuevo servidor.

Nos encargamos de toda la gestión con el proveedor de hosting o el registrador del dominio. Nos aseguramos de que no se pierdan datos y de que haya la máxima continuidad en todos los servicios online.

SEO y SEM

Search Engine Optimization, es decir, optimización para motores de búsqueda. Son todas las medidas que se toman para hacer que la web sea comprensible para los buscadores. ¿Quién sabe qué algoritmos tiene escondidos el equipo de Google?, pero seguro que intentan que quien busca encuentre a algo interesante.

Primera regla: hacer la página interesante.

Segunda regla: ser honesto, no intentar engañar a Google, es mucho más productivo destinar los esfuerzos en la primera regla.

Tercera regla: construir bien el HTML (de esto no hay que preocuparse, nosotros nos encargamos).

Por último, el SEM (marketing en motores de búsqueda), puede ayudar a mejorar el posicionamiento y la accesibilidad de tu web en los buscadores. Apoyándonos también en las técnicas SEO, utilizamos anuncios de pago en Google Ads para promover tu web. Paralelamente, una campaña utilizando el programa Display de Google Ads permite aparecer en un sinfín de medios online. Programas similares de esponsorización de contenidos en redes sociales (Facebook, Instagram, LinkedIn, Twitter, YouTube) pueden complementar una estrategia completa para hacer llegar tu web a tu público objetivo.

Tecnologías

HTML

Acrónimo de Hyper Text Markup Language, más o menos traducido como lenguaje de marcado de hipertexto. Marcaje significa que tiene etiquetas (tags) que nos indican que función tiene cada parte del texto. Hipertexto significa que va más allá del texto, ya que tiene enlaces (links) a otros textos conformado una hiper-estructura que acaba relacionando páginas de todo el mundo. Y no, no es un lenguaje de programación.

Actualmente se utiliza HTML5, sustituyendo al XHTML, que pese a no ser estríctamente HTML, sinó más bien XML, fue considerado el sucesor de HTML durante un tiempo.

El HTML5 nace con la voluntad de simplificar las cosas e ir al grano, además que añade toda una serie de etiquetas que aumentan las posibilidades de marcado semántico.

PHP

PHP es uno de los más populares lenguaje de programación para decir a los servidores qué deben servir cuando alguien les pide una página.

Es muy flexible. Tanto, que uno con un poco de esfuerzo se puede hacer un código totalmente desordenado, absolutamente incomprensible y prácticamente imposible de actualizar. Pero bien llevado, en combinación con una buena base de datos, puede hacer cualquier cosa. El código puede ser tan elegante como lo sea el programador.

Hay quien dice que es 10 veces más lento que otras tecnologías (probablemente comparándolo con C# en ASP.Net), pero es que cuando las cosas se complican, es la pobre base de datos la que se carga la mayor parte del trabajo, así que en la práctica no importa mucho.

Mejoró mucho su rendimiento con el paso de la versión 5 a la 7. Para las web que todavía hoy funcionan con la versión 5, el paso a la 7 puede no ser inmediato si hay una bases de datos en juego. El PHP 6, por cierto, nunca llegó a lanzarse.

CSS / Sass / Less

Cascading Style Sheets es un lenguaje para crear hojas de estilo. Si HTML sirve para definir qué función tiene cada parte, CSS sirve para definir cómo debe presentarse y formatearse cada elemento.

Aunque inicialmente solo se controlaba el aspecto, a partir de la versión 3 se añadieron una buena cantidad de funciones para transiciones y efectos (sombreados, redondeados…), o disposicione en en columnas, cubriendo muchos aspectos que antes se debían hacer con Javascript.

JavaScript

Este es el lenguaje de programación que todos los navegadores entienden. Hoy en día es muy extraña la página web que no aproveche esta tecnología para ofrecernos una mejor experiencia.

Existen varias librerías y frameworks que pueden extender el lenguaje, como jQuery, React, Angular o Vue.js.

¿Pero hay alguien que no utilice JavaScript? Pues sí: desarrolladores web cuando quieren comprobar que la página que han hecho funciona también sin JavaScript y paranoicos usuarios de redes oscuras que consideran que JavaScript es una puerta de entrada de ataques contra la intimidad.

TypeScript

Superset de JavaScript para incorporar tipado estático (es decir, definir si las variables son enteros, cadenas de texto, objectos, etc.). El tipado estático ayuda a minimizar los errores en tiempo de ejecución.

Se empezó a utilizar en Angular, pero también vale para React, Vue o en lugar del javascript sin framework.

Usado en la web, el código TypeScript acaba compilado en JavaScript que cualquier navegador puede entender.

Node.js

Es un entorno de ejecución de JavaScript. Así podemos ejecutar JavaScript fuera de un navegador.

Una de sus aplicaciones es ejecutar JavaScript como lenguaje de servidor, convirtiéndose en una alternativa a PHP, ASP.Net y Java. Es bastante utilizado para RESTful API's a las que se conectan aplicaciones de móviles.

EL otro de sus populares usos es establecer entornos de desarrollo para tecnologías del lado del cliente, como JavaScript, CSS y HTML. A través de bundlers, como WebPack, Grunt o Gulp, permite automatizar tareas como la compilación de código y la preparación de versiones comprimidas para su publicación.

React

React es una biblioteca de JavaScript (casi un Framework), mantenido por Facebook que sirve para crear contenido interactivo. Permite tanto extender las funciones de una web tradicional como crear una aplicación web de página única (SPA).

Se puede utilizar en el desarrollo de aplicaciones de móviles a través de otras librerías.

React se usa en conjunto con multitud de librerías, dependiendo de las funciones que se quiera. Es una de las librerías más usadas (más que Angular y Vue).

Angular

Angular es un framework mantenido por Google que trabaja sobre JavaScript y permite desarrollar aplicaciones que pueden ser ejecutadas en un navegador.

Es muy utilizado para construir aplicaciones de unas sola página (SPA) y aplicaciones de móviles y más adecuado si la aplicación se hace compleja. Para tareas más simples tal vez suponga demasiado trabajo en la puesta en marcha inicial.

En realidad existen dos frameworks diferentes:

  1. Angular JS (a veces llamado “Angular 1”) es un framework en el que se programa en JavaScript.
  2. Angular (a veces llamado “Angular 2” o “Angular 2+”) es el sucesor de Angular JS y se programa en TypeScript. Aunque a veces se le llame “Angular 2”, ya van por la versión 9.

Vue.js

Vue es un framework de JavaScript, parecido a Angular pero simplificado y más ligero. De hecho lo creó un antiguo desarrollador de Angular.

Igual que Angular, sirve para construir aplicaciones de una sola página (SPA), pero por su simplicidad es especialmente adecuado también para tareas más simples, como controlar partes dentro de una web de múltiples páginas (MPA).

No está mantenido por ninguna gran empresa, pero existe una gran comunidad de desarrolladores que proporcionan recursos suficientes para cualquier proyecto.

Igual que sus competidores React y Angular, también permite desarrollar aplicaciones de móviles aunque según la opción que elijamos el soporte todavía es todavía limitado.

jQuery

Es una librería de JavaScript. En su época dorada fue casi un estándar de facto en la web.

Permitía cubrir todos los navegadores utilizados sin tener que escribir código duplicado para atender las diferencias, además de simplificar muchas tareas. De ahí su slogan "Write less, do more". También permitía hacer transiciones animadas de forma muy sencilla cuando el soporte CSS3 no era universal.

Ha ido bajando su uso debido a la progresiva desaparición de los navegadores más antiguos (básicamente versiones viejas de Microsoft Internet Explorer) y el uso de transpilers y polyfills que nos permiten cubrir navegadores antiguos sin renunciar a escribir en JavaScript moderno y usando las características más modernas.

El uso de otras librerías y frameworks como React, Angular y Vue también ha influido en su caída, aunque no son perfectos sustitutos y a veces se sigue usando jQuery con ellos. No obstante, no es raro ni desaconsejable hoy en día escribir puro JavaScript.

HTTPS / SSL / TLS

HTTPS significa HTTP sobre SSL. SSL viene de Secure Socket Layer (capa de conector seguro) y es un canal codificado por el que puede transmitirse información de forma secreta para que nadie la pueda interceptar. En relidad SSL es un protocolo antiguo y hoy en día se recomienda TLS, Transport Layer Security, pero se llama a menudo SSL a cualquiera de los dos.

Para usar HTTPS debemos instalar un certificado en el servidor que se renueva cada año y adaptar la web por el cambio de URL. Los certificados más básicos son gratuitos y recomendables en la mayoría de casos, pero se cobra a veces por el servicio de instalarlos y renovarlos. Este coste va incluido en la mayoría de planes de hosting.

Tener la web en HTTPS sirve para garantizar que nuestra web no ha sido suplantada y que las comunicaciones están a salvo de espionaje por terceros. Conseguimos así la buena imagen que da la notificación del navegador de página segura.

Estos canales seguros también usan los programas de correo electrónico para conectarse al servicdor, aunque es habitual que no tengamos que proporcionar ningún certificado porque el serivor de correo es compartido y ya tiene el suyo. Por seguridad, es mejor asegurarse de que conectamos con nuestro servidor IMAP y SMTP con la seguridad SSL o STARTTLS activada.

Progressive Web Applications (PWA)

Son aplicaciones web que funcionan en cualquier navegador pero que además incorporan funciones que hasta hace poco eran exclusivas de dispositivos, que se aprovechan si están disponibles.

Algunas de estas funciones son notifiaciones push, captura de fotos o vídeo, operaciones offline y base de datos local.

No importa si son MPA o SPA, las tecnologías de las PWA son aplicables a cualquier tipo de web y son soportadas por los navegadores y dispositivos modernos.

Pueden ser que en los próximos años sustituyan en gran medida a las tradicionales aplicaciones de móviles o de escritorio. La ventaja es que no requiren instalación.

WebAssembly (WASM)

Es un lenguaje pensado para ser ejecutado en navegadores y generado a partir de diferentes lenguajes (C, C++, Rust, Java). Viene a terminar con JavaScript, dicen algunos detractores de este.

Actualmente lo soportan ya en los principales navegadores y es probable que pronto se pueda usar en lugar de JavaScript, pero no habrá que haya una sustitución completa. JavaScript funciona bien y es razonablemente eficiente en la mayoría de casos.

WASM sí puede llegar a ser un buen complemento de JavaScript, especialmente en partes que tengan alta carga de cálculo, pero todavía no está para producción.

SQL: Bases de datos relacionales

Normalmente todo aquello que no es fijo en una web acaba en una base de datos y la opción más potente es utilizar una base de datos relacional.

Relacionales significa que usan un modelo basado en tablas, donde se definen las columnas que tiene cada tabla y separadamente los valores. SQL (Structured Query Language) es el lenguage que se usa para realizar las peticiones.

Como cualquier otra base de datos, sirve para almacenar datos permanentemente y poder recuperarlos cuando sea necesario. Normalmente se introducen textos, pero se pueden guardar archivos de todo tipo como como por ejemplo imágenes, videos y documentos para descargar.

Una de las más populares es MySQL, de códgio abierto y la más usada en la web. Muy adecuada para proyectos pequeños y medianos. Alternativas similares son MariaDB y PostgreeSQL. Opciones comerciales son Oracle y Microsoft SQL Server.

También existe una versión simplificada llamada SQLite, que puede integrarse en aplicaciones, por ejemplo de móviles, para guardar datos localmente.

NoSQL: Bases de datos no relacionales

Como todas las bases de datos, sirve para almacenar datos, véase el apartado de SQL: Bases de datos relacionales. La diferencia con estas es que no se organizan por tablas y no tenemos predefinidos qué tipo de valores va a contener cada registro, sino que el sistema es mucho más flexible. Igual que SQLite, puede integrarse en aplicaciones.

Un ejemplo muy popular es MongoDB, organizada por colecciones de documentos en lugar de tablas.

Generalmente se definen restricciones en la aplicación en lugar de definirlas en la base de datos. Existen incluso librerías para ello como Mongoose.

Otro ejemplo es IndexedDB, una base de datos disponible en los navegadores principales navegadores.

WAI, WCAG, ARIA

WAI es la iniciativa de accesibilidad de la web. Nació para promover el uso de técnicas que permitieran el acceso a dispositivos para personas con diferentes necesidades de accesibilidad (por ejemplo, invidentes).

Dentro de WAI tenemos WCAG, la guía para accesibilidad de contenidos de la web. Nos dice cómo lograr lo que queríamos. Por ejemplo, que a cada imágen acompañe un texto descriptivo para su interpretación en contextos no visuales.

Además, involuntariamente estas guías son también excelente para optimizar la web para buscadores.

Más adelante salieron las especificaciones WAI-ARIA, que se puede traducir por aplicaciones de internet enriquecidas y accesibles. Indica cómo hacer accesible contenido dinámico y componentes de interfaz de usuario, como formularios, por ejemplo.

AJAX

Se trata de un conjunto de técnicas programadas con JavaScript que permiten a las webs interactuar con el servidor sin recargar la página. Esto permite que se carguen de mánera dinámica datos adicionales (por ejemplo cuando hacemos scroll) o que se transmitan datos de un formulario de manera ágil.

El nombre viene de Asynchronous JavaScript And XML. En sus inicios se usó el lenguaje XML para recibir datos del servidor, pero ahora también es muy usado JSON o directamente HTML.

Hubo un tiempo en que se mencionaba mucho como algo novedoso. Hoy en día ni se menciona porque se considera un recurso más, que está presente en la mayoría de webs.

Herramientas

Consierge

La tercera versión de nuestro gestor de contenidos desarrollado en PHP. Es tan sencillo de utilizar que a menudo no tenemos ni que explicar cómo funciona. Si se quiere, se puede ampliar hasta límites insospechados. Totalmente a medida, sin restricciones.

Wordpress

La más popular de las plataformas de publicación y gestión de contenidos. Si las necesidades encajan en alguna de las miles de plantillas prefabricadas que existen, estás de suerte, una solución económica que bien llevada acaba siendo la web deseada.

Mailchimp

El MailChimp es una aplicación web para el envío de newsletters que permite también gestionar las listas de e-mails.

WooComerce, Prestashop, Magento

Las referencias en e-shops. Permiten realizar una tienda en poco tiempo y con pocos recursos utilizando plantillas prefabricadas. Tienen todo lo necesarias para empezar a vender en la web, incluyendo pasarela de pago, facturación, gestión de pedidos y control de stocks.

NPM / Yarn

Son sistemas de gestion de paquetes para Node.js. Permite instalar multitud de plugins para nuestra aplicación JavaScript tanto de servidor como de front-end.

Ambos hacen prácticamente los mismo, son muy similares y acceden a los mismos repositorios. Yarn quizá es más rápido y más seguro en algunos aspectos, pero para mucha gente no basta para cambiarse de un NPM muy asentado. Difícil elección.

Composer

El gestor de paquetes de PHP. Con el disponemos fácilmente de multitud de funcionalidades para nuestras aplicaciones PHP que nos solucionarán los problemas más tipicos.

Es también una manera de instalar algunos Frameworks como Laravel.

Laravel

Laravel es un framework de PHP basado en Symphony. Cuando hablábamos de PHP, decíamos que era flexible, demasiado tal vez. Laravel proporciona un poco de orden y estructura a la vez que contamos con las funciones más típicas.

Fácilmente podemos crear rutas, conexiones a base de datos, accesos por usuario y contraseña, accesos a múltiples sistemas de archivos, etc. Es difícil hoy en día imaginar el desarrollo de una aplicación web compleja sin el respaldo de un framework.

Contacto

Nuestro equipo está localizado en Barcelona y Berna (Suiza)

Barcelona

Nuestras oficinas en Barcelona

Berna

Nuestra oficina en Suiza