PDA

Ver la Versión Completa : [ IDEA ] Usar Javascript en Tasker escribiendo el código desde el PC


danko9696
11/08/17, 21:09:17
He observado que algunos usuarios que comienzan a dar sus primeros pasos en Javascript o bien que les atrae la idea pero les intimida, algo lógico, pues es muy distinto del interface de Tasker. Pero creo que (al menos gran parte de ello) se debe a lo engorroso de usar un lenguaje de texto en un móvil/tablet, que echa para atrás si la idea es desarrollar una tarea de Tasker compuesta en su mayoría o totalmente por código Javascript. Por eso me he decido a mostrar de forma más visual la diferencia que supone y que en mi opinión sí puede merecer la pena el esfuerzo si se van a crear scripts con regularidad.

Tenemos este código de Javascript de una tarea dentro de un Javascriptlet. Pongo una foto porque así es como vamos a manejarlo:
https://image.ibb.co/hgHNhF/Screenshot_2017_08_11_18_55_30_result.png https://image.ibb.co/hfW4wa/Screenshot_2017_08_11_18_56_14_result.png
Sin duda es un lío a primera vista. Los comentarios no ayudan mucho a clarificar el código sino casi al contrario, resulta casi mejor no ponerlos.


Ahora tenemos dos posibilidades (posiblemente haya más) si queremos manejar el código en el PC:
- Seleccionamos todo dentro del texto en Tasker, copiamos y en el editor del PC pegamos directamente, usando una app para compartir portapapeles entre android y pc como JOIN, CLIPSYNC y no estoy seguro de si también PUSHBULLET.
- En lugar de un Javascriptlet ponemos un archivo de texto con el código (en el móvil) con la extensión que queramos conteniendo el código y seleccionandolo con la acción Javascript (a secas). Este archivo puede ser abierto directamente desde el PC, aunque puede ser necesario un servidor como SAMBA FILESHARING o SAMBADROID para hacerlo vía wifi, así podemos tener acceso al móvil como si fuese una unidad de red. O sea, podríamos abrir desde el editor de PC directamente los archivos javascript, editarlos y guardar para ejecutar la tarea en Tasker.


Ahora, veamos que tal queda ese código en un editor de texto de PC (notepad++) y guardado de forma local (aunque no es necesario) como archivo de texto ".txt":
https://thumb.ibb.co/ftGMba/notepadpp_1_result.png (https://ibb.co/ftGMba)
Mucho mejor. No solo se ve más código a la vez, también se puede tabular/indentar selecciones de texto en grupo enteras simplemente seleccionando un párrafo y pulsando TAB o MAY+TAB. Además puedes tener varias pestañas y copiar rapidamente texto de una a otra, etc...


Si en el mismo editor en lugar de guardar ese texto como ".txt" lo hacemos como ".js" :
https://thumb.ibb.co/m93dNF/notepadpp_2_result.png (https://ibb.co/m93dNF)

Similar al anterior pero ahora aplica un cierto formateo de colores según la sintaxis al detectar la extensión. Solo por el hecho de que los comentarios se muestren en distinto color aumenta mucho la legibilidad, y es mejorable con plugins especificos pero lo dejamos ahí.


Y ahora pongamos el mismo código en un editor de texto de PC específico para ello como Visual Studio Code (gratuito). No es más que copiar el texto anterior desde Tasker, pegarlo en un nuevo documento de VSCode en el PC (o si lo hemos hecho con el método alternativo buscar y abrir el archivo en el móvil desde VSCode en el PC), pulsar en este abajo derecha donde pone "Plain Text" y seleccionar Javascript.:
https://thumb.ibb.co/mgBMba/vscode_1_result.png (https://ibb.co/mgBMba)


No solo el formateo es mejor de serie que en Notepad++. Principalmente, ahora dispone de autompletar y sugerencias sobre la marcha, lo que reduce el tener que consultar documentación externa, el revisar porciones de código anterior y los errores.
https://thumb.ibb.co/c3fEwa/vscode_sugerencias_1_result.png (https://ibb.co/c3fEwa) https://thumb.ibb.co/cxG9Uv/vscode_sugerencias_2_result.png (https://ibb.co/cxG9Uv)

Por ejemplo si escribo "ct" enseguida me sugiere variables mías como ct_cdesk, ct_cdock, etc... Si escribo "spli" me sugiere "splice" y "split", si completo "splice", en cuanto abra el paréntesis inmediatamente me muestra la sintaxis y lo que significa cada parámetro.


Conclusión: obviamente no está dirigido al que da sus primeros pasos en Tasker sino al que ya está familiarizado con acciones de Tasker y baraja la posibilidad de añadir algo de Javascript, o al que ya lo hace pero no se atreve a dar el salto a hacer (casi) todo en JS. Entre meter el código JS anterior con el móvil a hacerlo desde el PC va un mundo. Mucho más legible, mucho más fácil de hacer cambios más adelante, los comentarios que incluyamos se ven mucho mejor y podemos extendernos lo que queramos, mucho más rápido de escribir al poder usar un teclado extendido y atajos de teclado, etc... Eso por no hablar de comparar el código visto en vscode con lo que sería el equivalente en acciones de Tasker, que no quiero ni imaginarmelo.

Caravantes
12/08/17, 02:30:09
Hola.
No puedo ver los spoilers: creo que se llama así a esas zonas marcadas como de TEXTO OCULTO (Click para mostrar/ocultar). Estoy identificado en HTCmania, con dos navegadores distintos (Chrome y Firefox), pero no me permite abrir esos spoilers. Porfa, ¿alguien más puede decir si le funcionan o no?

Nunca antes me había pasado, siempre he podido abrirlos. Por ejemplo, en el recopilatorio del foro también hay spoilers: uno al comienzo de la página, y otros más abajo; se localizan fácilmente buscando por "Click para mostrar/ocultar". Todos puedo abrirlos sin problemas.
http://www.htcmania.com/showthread.php?t=541152

Se me ocurre pensar que tal vez los spoilers de esta página no funcionen bien porque quizá contengan imágenes, aunque no estoy seguro.

leromaro
12/08/17, 03:33:02
Es cierto Caravantes, no se pueden abrir.

danko9696
12/08/17, 13:05:24
He probado otro servicio de hosting de imágenes. ¿Os funciona?

i81ique
12/08/17, 13:14:55
He probado otro servicio de hosting de imágenes. ¿Os funciona?

Yo si las veo

Caravantes
12/08/17, 13:51:32
He probado otro servicio de hosting de imágenes. ¿Os funciona?

Ahora sí funciona, muchas gracias.