Entornos de desarrollo para ciegos

Bienvenidos a e-Bastón Blanco, un blog que os ofrece la ayuda que necesitáis para desenvolveros en el mundo digital. Me llamo Javier, tengo retinosis pigmentaria  y soy ingeniero informático. Mi resto visual es prácticamente nulo, y utilizo el PC con el lector de pantalla abierto y gratuito NVDA.

Como entrada inaugural para este proyecto personal, me gustaría dejaros unos cuantos consejos a aquellos que, en mi misma situación, queráis acercaros al mundo del desarrollo software. Ya me hubiera gustado encontrar algo así a mí hace más de diez años, cuando empecé mi pequeña aventura entre ceros y unos. Espero que os sirva para aterrizar de forma más suave que yo.


Mi experiencia

Antes de nada, os cuento un poco mi experiencia. Empecé a programar con unos quince años, cuando todavía iba a secundaria. Por aquel entonces, todavía tenía resto visual. Mi primera aproximación fue el lenguaje de programación Pascal. Nos lo enseñaron en clase de tecnología y yo, un chaval con afición por los videojuegos y bastante creatividad, empecé a estudiar por mi cuenta para hacer las cosas a las que me gustaba jugar. Claro, que enseguida me di cuenta de que no era tan fácil como había pensado. Pero me sirvió para saber que aquella era una actividad que me gustaba y se me daba bastante bien.

A los dieciocho empecé la universidad. Allí me reencontré con mi viejo amigo Pascal, aunque mis ojos ya no tenían la agudeza de antaño. Había empezado a utilizar el lector de pantalla Jaws, pero el entorno de desarrollo de Free Pascal en Turbo Visión no era del todo accesible. Aun así, me manejaba. Los problemas de verdad vinieron con Java y otros lenguajes, para los que había mil y un IDEs. Por aquel entonces, apenas empezaba a controlar el ordenador por teclado y lector, así que me resultaba muy complicado acostumbrarme a cada nueva interfaz, muchas de ellas inaccesibles. Así pues, la primera solución que hallé fue utilizar el bloc de notas, Notepad++ después, y compilar mis programas por consola de comandos.

Era un engorro y tardaba mucho más que mis compañeros. No obstante, creo que tuvo algo bueno. Aprendí a realizar todo el proceso de manera manual. Buscaba siempre tener los menores errores posibles para no tener que repetir el proceso. Me acostumbré a leer con cuidado la documentación en vez de dejarme ayudar por el asistente de autocompletado del editor. Poco a poco, descubrí que había herramientas, como Make, que me ayudaban a automatizar el proceso. Refinaba mi flujo de trabajo y cada vez me encontraba más cómodo.

Entonces empecé a descubrir IDEs accesibles. Eclipse fue mi compañero durante muchísimos años. Me encantaba la versatilidad que tenía, aunque es verdad que la integración dependía mucho del plugin de turno que tuviera que utilizar. Posteriormente, tuve que apañármelas con Android Studio y Visual Studio por motivos del guion. Poco a poco, parecía que las herramientas se adaptaban cada vez más a mis necesidades. Sin duda, al echar la vista atrás, creo que hoy vivimos en un mundo mucho más preparado para un desarrollador ciego que hace apenas diez años.

Los entornos que recomiendo

Obviamente, todo depende del caso concreto. Sin embargo, en términos generales, creo que Windows 10 + NVDA + Visual Studio Code son, hasta ahora, la opción más accesible que he encontrado. VS Code es un entorno moderno y adaptable a muchas necesidades de desarrollo. Es gratis, personalizable y muy ligero, superando en mucho a otros rivales en cuanto a tiempos de carga se refiere. Lo mejor es que prestan bastante atención a los aspectos relacionados con la accesibilidad. Sin ir más lejos, en la última versión liberada el mes pasado, se ha mejorado de forma notable la accesibilidad de varios componentes de la interfaz con el lector de pantalla.

¿Podemos usar VS Code en otros entornos? Actualmente, la accesibilidad en Linux está soportada sólo en la beta y no puedo deciros qué tal funciona. Aun así, Orca me parece un lector de pantalla inferior en prestaciones a NVDA o Jaws. Por otra parte, he podido probar VS Code en MacOS. Vaya por delante que nunca he sido un usuario de la manzana y que mi experiencia es limitada. Aun así, VoiceOver me ha parecido mucho más engorroso de usar que las alternativas que encontramos en Windows. Además, tuve problemas con el foco y algunos elementos emergentes de VS Code, motivo por el que pedí a mis jefes que me proporcionaran un PC con Windows para trabajar. De hecho, la configuración que os menciono es la que se recomienda en la documentación oficial de VS Code.

Eclipse sigue siendo una buena opción. Aunque es más pesado y se siente menos moderno que VS Code, en desarrollo para Java ofrece un soporte ligeramente mejor. Lo he probado tanto en Windows como en Linux, y en ambos sistemas me ha dado buenos resultados. En cambio, en MacOs apenas logré hacer nada. Por lo que he visto en internet, el soporte de la accesibilidad en este sistema de Eclipse es muy pobre.

También para Java, IntelliJ es una buena opción. Podéis encontrarlo gratuito para proyectos de Android y aplicaciones de escritorio. Android Studio está basado en él, así que también podéis utilizarlo. Para aplicaciones empresariales con servidores, hay que utilizar la versión de pago, pero podéis obtener una licencia gratuita si estáis en periodo educativo. Con la última versión de NVDA parece que se ha terminado la pesadilla con el Java Access Bridge y podemos utilizar los programas de Java en 64 bits sin problemas.

Por supuesto, si vais a trabajar con tecnologías .Net, Visual Studio es vuestro amigo. Podéis descargaros la versión Community de manera gratuita. No he llegado a desarrollar mucho con él. pero no me he topado con problemas de accesibilidad bloqueantes.

Y si lo que queréis es desarrollar para los sistemas de la manzana, tampoco tenéis muchas alternativas. MacOS y XCode son la única opción. No es una opción mala, al contrario. El entorno es perfectamente accesible, al menos para los usuarios que sepan utilizar las funciones más avanzadas de VoiceOver. Como ya he dicho, personalmente no me gusta. Estoy demasiado hecho al esquema de navegación que ofrecen el resto de sistemas. Pero lo he usado y he podido desarrollar con más o menos comodidad.

Esto es todo por hoy. Espero que este repaso a los principales entornos de desarrollo os sea útil. ¡Nos vemos en la próxima entrada!

Comentarios

  1. hola muy buena entrada en lo personal me gustaría empesar a desarrollar aplicaciones y progrmas la verdad no se nada y no se si me pudieras ayudar a empesar.

    ResponderEliminar
    Respuestas
    1. ¡Hola! Bueno, eso depende bastante de qué quieras aprender. Si estás pensando en temas de web, te recomendaría que empezases con HTML, JavaScript y NodeJS. Para este ecosistema Visual Studio Code es un editor fantástico.

      Si prefieres orientarte más hacia aplicaciones móviles, te recomendaría que empezases por Java con el entorno de Android Studio. Kotlin es un lenguaje más moderno, pero seguramente lo entiendas mejor después de haber visto Java. Además, te servirá para otros entornos profesionales. Y si dispones de un Mac, entonces también puedes empezar con Swift y utilizar XCode como entorno.

      Si quieres orientarte a aplicaciones empresariales, entonces Java creo que sigue siendo de lo más necesario. Puedes utilizar Eclipse en este caso. Es un buen entorno gratuito y extensible. También puedes usar IntelliJ, pero tiene algunos problemas más de accesibilidad.

      En cualquier caso, elijas lo que elijas, en internet hay miles de tutoriales con los que podrás empezar por lo básico e ir avanzando. ¡Sólo busca lo que quieres aprender y ahí lo tendrás!

      Eliminar
  2. Muchas gracias por el apoyo para Podrías compartir material accesible para poder hacer esto así como tutorial donde me enseñe a programar de manera accesible porque la mayoría de los tutoriales no sustantivo perdón porque la mayoría de tutoriales materiales no son tan accesible no sé si hay alguna forma de hacerlo

    ResponderEliminar
    Respuestas
    1. Bueno, en general la mayoría de los tutoriales se pueden seguir. Eso sí, te hará falta un dominio medio del inglés como mínimo. Sitios que ofrezcan el mayor grado de accesibilidad... Pues puedes buscar tutoriales en W3C Schools, que hay un montón, de muchas cosas, o también en las webs de Android Developer y Apple Developer, si es que estás interesado en aplicaciones para móviles.
      Pero vamos, que hay infinitos tutoriales y seguro que alguno accesible para el tema concreto con el que te interese empezar.

      Eliminar
  3. hola : quería consutarte sobre si es necesario alguna configuración en especial para android studio y nvda? estoy en un curso y vamos a trabajar con esa ide '

    ResponderEliminar
    Respuestas
    1. ¡Hola! Si se trata de las versiones más recientes de NVDA y Android Studio, al detectar que estás usando un lector de pantalla, Android Studio te mostrará un diálogo al arrancar para activar el soporte de lector de pantalla. Esto habilita algunas posibilidades, como el autocompletado de forma accesible.

      En cualquier caso, si no aparece el diálogo o una vez activado, te deja de funcionar (a mí me ha pasado), puedes activarlo desde las preferencias de Android Studio, buscando por "screen reader".

      Espero haberte ayudado. Un saludo.

      Eliminar
  4. Hola Francisco:
    Estoy cursando la universidad y estoy recibiendo clases del lenguaje visual basic. estamos trabajando con visual studio, y el amigo no es muy accesible que digamos.
    Me están enseñando a trabajar en una interface gráfica de Windows forms, y no se como poner los TextBox, Los Lavels y todo eso.
    Los tutoriales que encuentro explican de manera muy visual y los profesores de mi universidad son aveces difíciles de entender.
    Si me pudieras ayudar te lo agradecería de sobre manera.
    Lo que más necesito es información para trabajar con el visual studio, ya que estoy cansado de buscar y no encuentro nada
    Saludos!

    ResponderEliminar
    Respuestas
    1. ¡Hola! Pues no tengo mucha experiencia con Visual Studio. En mi caso, trabajábamos más con tecnologías Java. Interfaces de usuario con Swing y eso. Como en tu caso, el editor visual no era accesible. No sé exactamente cómo funcionará Windows Forms, pero generalmente con las interfaces de usuario hay dos métodos que implican picar el código a mano:
      El primero, que la interfaz se defina en un archivo XML, como ocurre con Android o frameworks web. Aquí la cosa es un poco más sencilla porque la estructura se corresponde más o menos con lo que se ve en la pantalla.
      El segundo, como era el caso de Swing, que la interfaz se defina programáticamente. Esto es, llamando a clases y métodos de la API desde el propio código fuente. En este caso, es un poco más complicado, porque el código es algo más farragoso. Pero poder, se puede. Yo el truco que usaba con Swing era utilizar layouts del tipo rejilla, de forma que, aunque no podía ajustar al pixel los elementos de la interfaz, por lo menos estaban colocados de una forma lógica.
      Siento no poder ayudarte más en este aspecto, pero mis conocimientos concretos de la tecnología que usas son limitados. Espero haberte arrojado algo de luz de todos modos.

      Eliminar
  5. Entiendo amigo. no me podrías facilitar los scrips de JAWS para Visual Studio?
    lo de la interface, me di cuentta que puego hacerla bien si la organizo donde va, pero creo que necesitaré ayuda visual para modificarles el tamaño a los elementos y esas cosas.
    Trataré de investigar como mover un elemento de un lugar a otro en una ventana de windows forms.
    Saludos!

    ResponderEliminar
  6. Es genial ver como avanza la tecnología y como a base de líneas de código construimos herramientas que pueden ayudar a otros a hacer su vida mas fácil o entretenida

    ResponderEliminar

Publicar un comentario

Lo más visto

Aplicaciones de ajedrez accesibles para ciegos

¿Android o iPhone? LA mejor elección para ciegos