Ace: Compatibilidad con iOS

Creado en 11 ene. 2011  ·  160Comentarios  ·  Fuente: ajaxorg/ace

Ace podría ser un editor ideal en dispositivos IOS (iPad, iPhone) si pudieras escribir, pero desafortunadamente el teclado virtual nunca aparece con ACE, también creo que alguien tenía un parche para bespin para que eso funcione.
@gissues : {"order": 96.27329192546586, "status": "backlog"}

mobile

Comentario más útil

¡Hola chicos! Acabo de crear una solicitud de extracción que soluciona algunos de los problemas en iOS. Proporciona una experiencia de usuario agradable, si tiene un teclado externo.

Si te gusta, podría pensar en solucionar los problemas restantes :)

Puedes verlo en acción en https://ipad-undo.gomix.me

¡Disfrutar!

Todos 160 comentarios

Lo sabemos, y pronto nos ocuparemos de ello. ¡Gracias por la sugerencia!

¿Podrías buscarnos el parche?

También estoy interesado en la compatibilidad con iOS (y en particular con iPad).
Espero escuchar sobre su progreso en ese frente.

Puede consultar la sucursal de ipad. Aún no es perfecto, pero al menos teclear funciona. Utilice dos dedos para desplazarse.

Excelente, no me había fijado en la rama del ipad.
¡Gracias, lo echaré un vistazo!

El teclado no se mostró usando la rama ipad. Usando la rama maestra se muestra, pero hay un error con el posicionamiento del cursor. : /

¡Olvida lo que te he dicho! ¡Es genial que el teclado no apareció! Podría escribir su propio teclado, mucho más amigable para los programadores y que ocupe menos espacio. : o)

Prueba en iPad con iOS 4.3; el maestro actual no muestra el teclado o el punto de inserción y no se desplaza verticalmente (puedo desplazarme horizontalmente con dos dedos, si el texto es más ancho que el área disponible).

La rama de iPad no se ha actualizado desde el 3 de febrero ... probándola, veo que el desplazamiento vertical funciona con dos dedos (¡sí!) pero es muy lento. Puedo poner el foco en el editor y hacer que aparezca el teclado en pantalla, pero el punto de inserción termina volando lejos del editor cuando la ventana se desplaza hacia arriba para ajustarse al teclado.

Intentar hacer tapping alrededor del editor parece problemático; Puedo tocar dentro de la línea que se está editando, pero al tocar otras líneas arriba parece _perder_ el foco y cerrar el teclado. Solo puedo enfocar de manera confiable al final del documento.

Mientras se desplaza verticalmente, el punto de inserción parece saltar arriba / abajo de una línea a la vez, pero cuando empiezo a escribir, vuelve al final del documento para agregar nuevos caracteres.

(La rama de iPad en Firefox 4 normal también tiene problemas; parece hacer suposiciones sobre la posición de desplazamiento de la ventana, y hacer clic en el editor termina colocando el signo de intercalación en la posición incorrecta si he desplazado la _ventana_ hacia abajo para ajustar el editor en el espacio visible.)

alguna actualización sobre la rama ipad?

Lamentablemente no. Esta rama no se encuentra actualmente en desarrollo activo. Planeamos resucitarlo pero no tenemos un tiempo estimado para cuando.

Lamento resucitar un hilo muerto, pero ¿ha habido algún progreso en el frente de iOS?

Obviamente, existe un gran interés en esto. Echaré un vistazo y veré si puedo ayudar.

+1

Un componente basado en la web que no es compatible con el iPad ya no se puede llamar legítimamente un componente basado en la web, en mi opinión.

Secundo esto. Estoy escribiendo en un iPad en este momento, deseando estar usando ACE para programar en su lugar ...

+1 también lo necesito con mucha urgencia en iPad

+1 a la urgencia

También me gustaría tener soporte para iOS, y muy pronto. Si puedo encontrar el tiempo, estaré feliz de sentarme y hacer esto yo mismo. Entonces, si hay alguna sugerencia sobre dónde debería comenzar en el código y detalles sobre cómo va mal, se agradecería.

De acuerdo: contribuiría a un fondo de kickstarter para completar esto si fuera necesario

El sábado 7 de abril de 2012 a las 2:53 p.m., Joe
[email protected]
escribió:

También me gustaría tener soporte para iOS, y muy pronto. Si puedo encontrar el tiempo, estaré feliz de sentarme y hacer esto yo mismo. Entonces, si hay alguna sugerencia sobre dónde debería comenzar en el código y detalles sobre cómo va mal, se agradecería.


Responda a este correo electrónico directamente o véalo en GitHub:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5006423

No hay forma de traer ese maldito teclado con javascript, aprobación para un teclado personalizado.

No es verdad. Asigne un elemento como contenido editable y ellos le darán foco, y debería aparecer el teclado. También puede hacer trucos con áreas de texto y entradas de texto para que funcione.

El teclado también incluye la versión de Ace que estoy usando en mi sitio, simplemente no se puede usar.

@PlayMyCode Si no puedo llamar a algo como ios.showKeyboard() entonces es cierto que no puedo mencionarlo con javascript, esto que dijiste son soluciones rápidas ...

Simplemente no funciona así.

Si el contenido no se puede editar o si no es una entrada de texto, ¿por qué se mostraría el teclado? Los caracteres no irán a ninguna parte, no recibirás entrada desde el teclado.

Las teclas tienen que ir a algún lugar para que se muestre el teclado. Si no tienen adónde ir, entonces no aparece. Si tienen un lugar adonde ir, aparecerá. Eso no es un truco, es solo cómo funciona la entrada de texto.

@PlayMyCode : los personajes no necesariamente necesitan una entrada de texto para ir, simplemente podrían "ir" a javascript; si tuviera un conjunto de oyentes de pulsaciones de teclas, podría obtener los caracteres y colocarlos donde quisiera. ..

@hjwp tiene razón, pero nuevamente no es tan simple. Creo que los elementos deben poder obtener el foco, o el navegador no enviará el evento al elemento y muchos elementos no pueden recibir el foco. Por ejemplo, el lienzo solo escuchará eventos clave si agrega un índice de pestaña (o al menos lo estoy encontrando ahora en Chrome). iOS también solo muestra el teclado para lienzo si configura el contenido como editable.

O fue este un argumento académico. La compatibilidad con iOS es lo importante, y no debe dejarse de lado simplemente porque una solución se parezca demasiado a un truco (a menos que, por supuesto, haya una alternativa mejor).

¿Qué tal si pone el foco en una entrada de texto oculta y borra esto al presionar una tecla?

Sí, así es como funcionan muchos WYSIWYG.

El 9 de abril de 2012, a las 4:56 a. M., "André Fiedler"
[email protected]
escribió:

¿Qué tal si pone el foco en una entrada de texto oculta y borra esto al presionar una tecla?


Responda a este correo electrónico directamente o véalo en GitHub:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5024068

¿Las versiones anteriores de Ace no colocaban originalmente un área de texto o un elemento de entrada debajo de la entrada? Ese enfoque hará que aparezca el teclado.

¿No estaban las versiones anteriores de Ace colocando un área de texto o elemento de entrada debajo de la entrada, originalmente

las nuevas versiones de ace hacen lo mismo.
textarea no está sincronizado con el cursor mientras se desplaza, pero eso es fácil de arreglar
No he visto ace en el ipad, pero en Android, escribir y mover el cursor funciona, solo que no hay forma de seleccionar texto.
pero mas importante

  • ace en el navegador de Android es súper lento, fennec es un poco mejor pero aún inutilizable (tal vez usar setTimeout aquí con un intervalo más largo podría ayudar, pero no estoy seguro)
  • El teclado predeterminado y las sugerencias de autocompletado son completamente inútiles para la programación (por lo que hacer un teclado personalizado en lugar de intentar mostrar uno predeterminado parece una buena idea).
    En general, no creo que Ace pueda ser útil todavía en tabletas.

¡El teclado personalizado suena bien!

Soy escéptico acerca de un teclado personalizado. Construir un buen teclado pulido no es trivial y es digno de ser un gran proyecto por derecho propio. También esperaría que un teclado HTML puro sea más lento que el incorporado.

También debería funcionar bien en diferentes tamaños de pantalla y diferentes orientaciones de diseño. Por ejemplo, no me gustaría usar el teclado del iPad en el iPhone, y no es agradable usar el teclado del iPhone en el iPad. Tienen diferentes teclados por una razón. Sobre todo, significa que todo en el iPad y el iPhone usa un solo teclado, excepto Ace. En resumen, los usuarios ya tienen un teclado que esperan y, en muchos casos, está personalizado (como la configuración como un teclado dividido).

Mi recomendación sería simplemente hacer que el teclado funcione, ya que esperaría que esto sea menos trabajo que construir un teclado personalizado. Luego, preocúpese por crear un teclado personalizado en el futuro como un problema independiente. También le permitiría recurrir opcionalmente al teclado del sistema operativo como alternativa a uno personalizado, como si no funcionara bien en un dispositivo en particular.

Este sitio también dice que puede desactivar el autocompletado y el uso automático de mayúsculas en entradas particulares: http://davidbcalhoun.com/tag/javascript

Un teclado personalizado tampoco podrá usar el ancho de pantalla completo si Ace se coloca dentro de un iframe.

Esto puede parecer un caso de esquina, pero tanto JSFiddle como JS.do.it le permiten incrustar editores dentro de iframes en otros sitios, y es algo que me gustaría hacer yo mismo.

@PlayMyCode -

@PlayMyCode - Estoy de acuerdo, el teclado personalizado suena peligroso. También sospecho que aquellos que lo han sugerido tienen poca o ninguna experiencia trabajando con las API de iOS. Pero podría estar equivocado, solo sigo lo que dijo ios.showKeyboard() , las API nativas no tienen nada equivalente a eso ... Lo más cercano sería llamar a becomeFirstResponder en un UITextInput control ... pero estoy divagando.

Esto debería ser completamente factible, probablemente con poco esfuerzo. Supongo que va en la línea de dar foco a un elemento que tiene contenteditable establecido. Desde iOS 5.0, se admite contenteditable , consulte el final de Creación de contenido web compatible

Hay un JavaScript para editar código dentro de un navegador que enciende un teclado en iOS: CodeMirror, consulte, por ejemplo, http://codemirror.net/mode/r/index.html para una demostración (funciona en el iPhone) y codemirror.net en general. Entonces, ¿tal vez hay algo en su código que podría ayudar a iOS en ace?

@bertoltmeyer , CodeMirror se basa en textareas, por eso puede abrir el teclado de iOS, as es mucho más complicado ...

@cranic en realidad Codemirror2 es muy similar a ace and uses, que usa el mismo textareas
si Codemirror2 funciona en ipad, arreglar ace, para que funcione de la misma manera no debería ser difícil

Estoy escribiendo desde la perspectiva de un estadístico de R que, como miles de otros, usa RStudio para codificar. RStudio es el IDE para R más popular y se basa en ace. Si ace es compatible con iOS, también lo sería RStudio Server. En este mundo ideal, podría acceder a nuestro servidor RStudio desde mi iPad y hacer toda mi codificación desde allí. Yo (y miles de otros tipos de R) ya no tendríamos que usar mi computadora portátil. En serio, la falta de soporte de Ace para iOS es la única razón por la que todavía llevo una computadora portátil y estoy seguro de que hay muchas otras personas como yo por ahí. Entonces, si hablara javaScript, que no es así, estaría trabajando en esto con la máxima prioridad. Pero como no puedo codificar en js, todo lo que puedo decir es, por favor, por favor, ¿alguien puede intentar solucionar este problema? Suspiro. Yo (y otros) realmente apoyaría un kickstarter sobre este tema si fuera necesario.

Oye, he echado un vistazo rápido al código, pero todo lo que veo es div s; ¿Dónde está el canvas ?

ace nunca usó un canvas , fue bespin

con 2f6a6ce7e0992a2eccbb8a517aa2d6f4954f1214 no se desplazará fuera de la vista.

por cierto. una razón más para hacer un teclado virtual

Me hago eco de @bertoltmeyer en lo que respecta al entusiasmo por llevar As a iOS para que RStudio pueda usarse en un iPad.

Me encantaría ver que esto también funcione en un iPad; permitiría un _mucho_ de funcionalidad en aplicaciones posteriores (también vine aquí a través de RStudio, pero me acabo de dar cuenta de que ACE está en uso en algunas otras herramientas web que uso esporádicamente, por lo que para mí esto resolvería muchos problemas diferentes).

¿Cómo planteamos un kickstarter de proyecto similar para esto? Estoy dispuesto a
ponga $ 100 en el bote ahora mismo
En el lado de las interfaces: el indicador en iOS (un cliente ssh) tiene un gran teclado
que se adapta mejor a la programación / sysadmin que el diseño estándar de iOS.

El jueves 10 de mayo de 2012 a las 5:34 a. M., Rui Carmo <
[email protected]

escribió:

Me encantaría ver que esto funcione también en un iPad; habilitaría un _lot_
de funcionalidad en aplicaciones posteriores (también vine aquí a modo de
RStudio, pero me acabo de dar cuenta de que ACE está en uso en algunas otras herramientas web que
usar esporádicamente, por lo que para mí esto resolvería muchos problemas diferentes).


Responda a este correo electrónico directamente o véalo en GitHub:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5612400

@velniukas Buena idea con kickstarter, no me sorprendería que

Desafortunadamente, no puedo comprometerme en ningún momento con el desarrollo de una solución.
ahora mismo, pero estaría dispuesto a ayudar a configurar un proyecto como este con
algunos colaboradores.

El jueves 10 de mayo de 2012 a las 8:01 a. M., Mike Lawrence <
[email protected]

escribió:

@velniukas Buena idea con kickstarter, no me sorprendería si un buen
pocas personas (como yo) donarían a un proyecto de este tipo.


Responda a este correo electrónico directamente o véalo en GitHub:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5615069

También aportaría al menos 200 USD a un proyecto de kickstarter para obtener compatibilidad con iOS. Estoy seguro de que podríamos recaudar bastante dinero para esto de la comunidad R. No puedo contribuir a la codificación porque no hablo suficiente js, pero estoy dispuesto a ayudar con la recaudación de fondos en la comunidad R si alguien se pone en marcha. @velniukas , ¿podría identificar a posibles colaboradores y contactarlos con respecto a la creación de un proyecto de este tipo?

Lo haré, cualquiera que esté interesado en ayudar a configurar un kickstarter, envíeme un mensaje de la tarde

Salud
Steve
10xEngineer.me

El jueves 10 de mayo de 2012 a las 2:59 p.m., Bertolt Meyer <
[email protected]

escribió:

También aportaría al menos 200 USD a un proyecto de kickstarter para ace iOS
compatibilidad. Estoy seguro de que podríamos recaudar bastante
dinero para esto de la comunidad R. No puedo contribuir al
codificación porque no hablo suficiente js, pero estoy dispuesto a ayudar con el
recaudación de fondos en la comunidad R si alguien se pone en marcha.
@velniukas , ¿podrías identificar posibles colaboradores y
ponerse en contacto con ellos con respecto a la creación de un proyecto de este tipo?


Responda a este correo electrónico directamente o véalo en GitHub:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5619266

No es una cuestión de dinero, sino de tener suficiente capacidad de desarrollo para ello.

Lo sé, pero a veces el dinero puede ayudar a las personas a estar motivadas para desarrollar sus capacidades. ;-)

El hecho es que este es un trabajo duro y todos tienen prioridades. Haga esto correctamente contratando grandes talentos. Es un pequeño precio entre todos.

Enviado desde mi iPhone

El 10 de mayo de 2012, a las 22:18, Jan [email protected] escribió:

No es una cuestión de dinero, sino de tener suficiente capacidad de desarrollo para ello.


Responda a este correo electrónico directamente o véalo en GitHub:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5626268

Una opción sería publicar una descripción de lo que se debe hacer en vWorker.com y solicitar ofertas para que podamos tener una idea de cuántos desarrolladores estarían disponibles para esto y a qué tarifas.

Dios mío, cómo me gustaría poder cancelar la suscripción a las actualizaciones de este hilo ...

@Gozala supongo que está buscando una antena en la parte inferior de la página

¿Puede alguien que tenga una prueba de ipad http://c9.io/nightwing/ace/workspace/kitchen-sink.html
es solo una mejora para ime, pero también debe mejorar la escritura en el ipad

El teclado

@nightwing Oh, gracias: D ¡Me

@nightwing Quizás le lleve esto a @fjakobs cuando venga a San Francisco esta semana. Hacer que el teclado aparezca en iOS 5 es extremadamente fácil: http://c9.io/gjtorikian/ace/workspace/build/kitchen-sink.html Simplemente agregue un contenteditable al cuerpo, boom, listo .

Sin embargo, la navegación no funciona, lo que obviamente es más difícil. Simplemente se encuentra en {row: 0, column: 0} . Supongo que tiene que ver con el <textarea> que es el primer hijo de ace_editor que parece actuar como una especie de cursor.

+1 para compatibilidad con iOS

Tenga en cuenta el compromiso del 15 de enero de 2011 en la bifurcación @javruben , ¿tal vez funcione?
https://github.com/javruben/ace/commits/master

@Gozala Puede darse de baja de las notificaciones y al final de esta página con el enlace "deshabilitar notificaciones para este problema"

En referencia a comentarios anteriores de miembros de la comunidad R, instalé la versión 0.96.228 del servidor R-Studio en Ubuntu y usé Wireshark para examinar el tráfico de red entrante. Inicié sesión en el servidor de R-Studio en el iPad con éxito usando Safari. El teclado aparece bien ahora, tanto en los cuadros de texto (por ejemplo, para la búsqueda) como en el panel del navegador que contiene R-console. El problema surge al presionar Retorno al escribir en el panel que contiene la consola R: el navegador del iPad envía FIN, ACK, lo que hace que la aplicación del servidor R-Studio reinicie la sesión. ¿Alguna idea de qué causa esto?

Cualquier actualización sobre esto, estoy a favor de ofrecer una recompensa por esta función, si podemos encontrar desarrolladores adecuados que comprendan el problema.

Puede agregar otro nombre a la lista de personas a las que les gustaría que ACE funcione con navegadores móviles, en particular tabletas. Dicho esto, estoy seguro de que esta no es una tarea trivial. ¿Qué podemos hacer aquellos de nosotros que estamos interesados ​​en que esto suceda, pero que no tenemos las habilidades de JavaScript para hacerlo, para ayudar a que esto suceda? Yo estaría dispuesto a poner dinero en un proyecto de Kickstarter si ayudara.

/ cc @javruben

La última vez que trabajé en esto (es cierto, hace años) probé en el iPhone y obtuve el teclado. La escritura funcionó, pero el cursor estaba desplazado y creo que al insertar un \ n se insertarían dos.

Hay los siguientes problemas que resolver:

  1. Teclado para aparecer
  2. Cualquier interacción de mecanografía debe ser probada
  3. Selección con eventos táctiles
  4. Para que el desplazamiento sea rápido, se debe implementar un nuevo renderizador sin una ventana virtual
  5. Posiblemente agregue un teclado falso para un acceso más rápido a las teclas utilizadas por el modo de idioma (dinámico)

Por favor comente si está dispuesto y es capaz de ayudar con una de estas tareas. Veré qué otros recursos puedo reunir.

Rubén

No tengo un desarrollador de iOS a mano, pero uno de mis chicos web debería estar
capaz de ayudar en un futuro no muy lejano, una vez que tengamos el próximo lanzamiento en
alrededor de 2-3 semanas.

Saludos
Steve

El miércoles, 1 de agosto de 2012 a la 1:09 a. M., Ruben Daniels <
[email protected]

escribió:

La última vez que trabajé en esto (es cierto que hace años) probé en el
iPhone y conseguí que apareciera el teclado. La escritura funcionó, pero el cursor estaba
compensado y creo que insertar un \ n insertaría dos.

Hay los siguientes problemas que resolver:

  1. Teclado para aparecer
  2. Cualquier interacción de mecanografía debe ser probada
  3. Selección con eventos táctiles
  4. Para que el desplazamiento sea rápido, se debe implementar un nuevo renderizador sin un
    ventana virtual
  5. Posiblemente agregue un teclado falso para un acceso más rápido a las teclas utilizadas por el
    modo de idioma (dinámico)

Por favor comente si está dispuesto y es capaz de ayudar con uno de estos
Tareas. Veré qué otros recursos puedo reunir.


Responda a este correo electrónico directamente o véalo en GitHub:
https://github.com/ajaxorg/ace/issues/37#issuecomment -7404954

¡Una gran noticia! Solo quiero decir que todavía estamos mirando y emocionados
esta. Veo oportunidades increíbles para apoyar el iPad. Yo realmente no
tengo la necesidad de desarrollar código en la nube cuando tengo un mac en mi
yemas de los dedos. Estoy demasiado apegado a mi conjunto de herramientas. Pero la capacidad de desarrollar
usar mi iPad lo cambia todo. Gracias por estar al tanto de esto y
haciendo algo increíble! Hágame saber si puedo ayudar.

El martes, 31 de julio de 2012 a las 8:02 p.m., velniukas <
[email protected]

escribió:

Rubén

No tengo un desarrollador de iOS a mano, pero uno de mis chicos web debería estar
capaz de ayudar en un futuro no muy lejano, una vez que tengamos el próximo lanzamiento en
alrededor de 2-3 semanas.

Saludos
Steve

El miércoles, 1 de agosto de 2012 a la 1:09 a. M., Ruben Daniels <
[email protected]

escribió:

La última vez que trabajé en esto (es cierto que hace años) probé en el
iPhone y conseguí que apareciera el teclado. La escritura funcionó, pero el cursor
era
compensado y creo que insertar un \ n insertaría dos.

Hay los siguientes problemas que resolver:

  1. Teclado para aparecer
  2. Cualquier interacción de mecanografía debe ser probada
  3. Selección con eventos táctiles
  4. Para que el desplazamiento sea rápido, se debe implementar un nuevo renderizador sin
    a
    ventana virtual
  5. Posiblemente agregue un teclado falso para un acceso más rápido a las teclas utilizadas por el
    modo de idioma (dinámico)

Por favor comente si está dispuesto y es capaz de ayudar con uno de los
estos
Tareas. Veré qué otros recursos puedo reunir.


Responda a este correo electrónico directamente o véalo en GitHub:
https://github.com/ajaxorg/ace/issues/37#issuecomment -7404954


Responda a este correo electrónico directamente o véalo en GitHub:
https://github.com/ajaxorg/ace/issues/37#issuecomment -7414813

Zarse oxidado
http://LeVo.us
[email protected]
m: 404-510-1134

También estoy deseando que llegue esto. Crear una aplicación que requiera edición de código en la web. Esto es lo único que me impide enviarlo al mundo real.

@velniukas ¿ alguna actualización sobre esto? Parece que hay muchas personas que solicitan esta función y muchas personas dispuestas a ayudar. ¡Organicemos y hagámoslo!

@tzikis +1

Esta tiene que ser la característica "imprescindible" número uno. ¿Por qué? Porque sin la compatibilidad con iPad, la credibilidad de ACE se ve completamente socavada y vulnerable a los proyectos de la competencia que pueden ofrecer y ofrecen este nivel de soporte. Como empresa, ya estamos pensando en cambiar. Después de todo, este problema se planteó por primera vez hace más de 2 años y no ha dado señales de desaparecer.

@emeraldspy Aprecio la total honestidad que estás tomando con esta situación. La realidad es: ¡tienes razón! El soporte móvil en ACE es imprescindible. De hecho, hicimos un llamado a la comunidad hace 2 semanas para brindar apoyo a este esfuerzo:

https://c9.io/site/blog/2012/09/the-ace-editor-hits-v1-0/

y la lista de problemas a los que se hace referencia en el blog:

https://github.com/ajaxorg/ace/issues?milestone=2&state=open

¿Respuesta? Nada. Si bien en Cloud9 guiamos el proyecto, no podemos dedicarnos a este esfuerzo a tiempo completo. Solo podemos realizar mejoras graduales. Entonces, ¿qué podemos hacer? ¿Qué haría usted en esta situación? Esperábamos que al crear una licencia más abierta se obtendrían más contribuciones hacia el soporte móvil, pero esto aún no ha sucedido.

Creemos que ACE es un proyecto realmente especial y queremos que muchos más desarrolladores en el futuro se beneficien de su rendimiento excepcional y su conjunto de características sofisticadas. Pero no podemos _forzar_ a otros a que simplemente contribuyan con soporte móvil. Así que hemos presentado algunas ideas que pueden funcionar:

  • Organice un hackathon de fin de semana dedicado a implementar estas funciones
  • Trabaje directamente con otra empresa que utilice ACE y pueda dedicar recursos de desarrollo
  • Rehaga nuestros materiales promocionales (como ace.ajax.org) para llevar esta tarea a más ojos.

Este proyecto puede estar sufriendo el "efecto espectador". Es decir, hay un nivel de interés tan alto en ACE, que alguien asumirá que otros implementarán la nueva solicitud de función. La realidad es que solo unas pocas personas contribuyen. ¡Por supuesto que nos encantan esas contribuciones y correcciones de errores! Pero esas contribuciones no se han sumado al soporte móvil de un extremo a otro. Actualmente, solo Android funciona bien.

Si todos los que están leyendo esto tienen ideas, por favor contribuyan con ellas aquí. No queremos que esta misión muera en un silencioso quejido de "alguien más se encargará de ella". Estamos motivados, simplemente no tenemos los recursos para hacer todo esto por nosotros mismos. ¡ Necesitamos su apoyo !

¡Así que actuemos ya! Y si desea enviarme un correo electrónico directamente sobre cómo dedicar sus propios desarrolladores a este esfuerzo, hágalo: mi correo electrónico es [email protected]. Y casi siempre estoy en #ace en irc.freenode.net. ¡Vamos!

Mate

Hicimos un análisis del trabajo requerido y llegamos a un par de
conclusiones que ponen esto más adelante en nuestra hoja de ruta:

  1. La navegación va a ser complicada
  2. El manejo de DOM es difícil y lento en dispositivos móviles
  3. Los teclados en pantalla de la tableta no están bien configurados para tareas de programación
  4. Los dispositivos móviles no eran tan necesarios como antes: con mac airs y ultrabooks, un
    mucha más gente lleva consigo ordenadores completos en lugar de una tableta y
    un teclado, para tareas de programación

Pensamos que si desarrollábamos esta ruta, una aplicación híbrida podría
Sería necesario eludir algunas de estas cuestiones.
¿Puede comunicarse conmigo directamente para discutir cómo llevar esto adelante?

Saludos
Steve
http://10xEngineer.me
skype: steve_messina

El miércoles 3 de octubre de 2012 a las 3:48 a. M., Matt [email protected] escribió:

@emeraldspy https://github.com/emeraldspy Aprecio la honestidad muerta
te estás tomando con esta situación. La realidad es: ¡tienes razón! Móvil
El apoyo en ACE es imprescindible. De hecho, hicimos una llamada a la comunidad 2 semanas
hace para apoyar este esfuerzo:

https://c9.io/site/blog/2012/09/the-ace-editor-hits-v1-0/

y la lista de problemas a los que se hace referencia en el blog:

https://github.com/ajaxorg/ace/issues?milestone=2&state=open

¿Respuesta? Nada. Mientras nosotros en Cloud9 guiamos el proyecto, no podemos
dedicarnos a este esfuerzo a tiempo completo. Solo podemos hacer gradual
mejoras. Entonces, ¿qué podemos hacer? ¿Qué haría usted en esta situación?
Esperábamos que al crear una licencia más abierta obtendría más
contribuciones hacia el soporte móvil, pero esto aún no ha sucedido.

Creemos que ACE es un proyecto realmente especial y queremos muchos más desarrolladores.
en el futuro para beneficiarse de su rendimiento excepcional y sofisticado
conjunto de características. Pero no podemos _forzar_ a otros a que simplemente contribuyan
apoyo. Así que hemos presentado algunas ideas que pueden funcionar:

  • Organice un hackathon de fin de semana dedicado a implementar estas funciones
  • Trabaje directamente con otra empresa que use ACE y pueda dedicar desarrollo
    recursos
  • Rehaga nuestros materiales promocionales (como ace.ajax.org) para traer esto
    tarea a más globos oculares

Este proyecto puede estar sufriendo el "efecto espectador". Es decir, hay
tiene un nivel de interés tan alto en ACE, que alguien asumirá que otros
implementará la nueva solicitud de función. La realidad es: solo unas pocas personas
contribuir. ¡Por supuesto que nos encantan esas contribuciones y correcciones de errores! Pero esos
las contribuciones no se han sumado al soporte móvil de un extremo a otro. Actualmente
solo Android funciona bien.

Si todos los que están leyendo esto tienen ideas, por favor contribuyan con ellas.
aquí. No queremos que esta misión muera en un silencio "alguien más lo hará
cuídalo "lloriquear. Estamos motivados, simplemente no tenemos el
recursos para hacer todo esto nosotros mismos. ¡Por eso, necesitamos su apoyo!

¡Así que actuemos ya! Y si quieres enviarme un correo electrónico directamente
acerca de dedicar sus propios desarrolladores a este esfuerzo, entonces haga: mi
El correo electrónico es [email protected]. Y casi siempre estoy en #ace en irc.freenode.net.
¡Vamos!

-
Responda a este correo electrónico directamente o véalo en Gi

¡Gracias Steve! Te agregué a Skype. Para todos aquellos interesados ​​en los resultados de nuestra conversación (y cualquier conversación futura que tengamos con otros que estén dispuestos a contribuir), publicaremos actualizaciones en un foro público (prob GitHub).

@mattpardee , asegúrese de publicar cualquier actualización. En nombre del equipo de codebender, estábamos interesados ​​en participar en un hackathon como sugirió en su respuesta a @emeraldspy

Vamos a hacer esto, joder

@tzikis Impresionante. Estamos discutiendo opciones con Steve, pero un hackathon de Google Hangout de fin de semana internacional parece la manera perfecta de lograrlo. Estamos buscando opciones. ¡Manténganse al tanto!

actualización: para ser más claros sobre lo que estamos discutiendo, Steve ha investigado un poco el rendimiento del soporte móvil y estamos analizando el rendimiento que puede tener un cliente móvil.

Si hacemos este hackathon de fin de semana, tendré que forjarlo en las próximas dos semanas mientras la plancha esté caliente. Idealmente, nos coordinaremos con @nightwing y @fjakobs para brindar orientación sobre las mejores prácticas. Espere ver más sobre esto pronto.

Estoy usando ACE solo como un resaltador de sintaxis de archivos XML (solo lectura, sin edición).
Todo funciona bien excepto el scroll en dispositivos móviles.

Resolver este problema debería ser un comienzo. El desplazamiento es un gran problema en ACE debido a la representación parcial de las líneas de código.
Al menos todo lo demás me funciona en un dispositivo iOS (más o menos).
De lo contrario, podría proporcionar una forma de representar las líneas completas (al menos para archivos pequeños o medianos)
e intenta resolver el problema.

También estoy abierto a colaborar en un hackaton. ¡Vamos a hacerlo!

Solo un aviso. Un hackathon no será un evento trivial. Será un
semana o tres al menos dependiendo de a quién podamos subir a bordo.
Problemas en juego:

  • Simplificar la estructura div para mejorar el rendimiento
  • Mostrar el teclado / teclado personalizado
  • Navegación

Posiblemente opte por una solución híbrida con un teclado como el
El excelente indicador de iOS podría ser la mejor manera de hacerlo.

El jueves 4 de octubre de 2012 a las 9:30 p.m., avillegasn [email protected] escribió:

Estoy usando ACE solo como un resaltador de sintaxis de archivos XML (solo lectura, no
edición).
Todo funciona bien excepto el scroll en dispositivos móviles.

Resolver este problema debería ser un comienzo. El desplazamiento es un gran problema en ACE
debido a la representación parcial de las líneas de código.
Al menos todo lo demás me funciona en un dispositivo iOS (más o menos).
De lo contrario, podría proporcionar una forma de renderizar las líneas completas (al menos para
archivos pequeños a medianos)
e intenta resolver el problema.

También estoy abierto a colaborar en un hackaton. ¡Vamos a hacerlo!

-
Responda a este correo electrónico directamente o véalo en Gi

Hola @velniukas.

Estamos en el proceso de concretar un lugar en SF para coordinar el hackathon; estamos estimando alrededor de 4 semanas a partir de ahora. Estoy reuniendo materiales de orientación de @nightwing y @fjakobs y

Hasta ahora tenemos desarrolladores de Hong Kong, Amsterdam, Grecia, Armenia y SF interesados. Así que estamos promoviendo esta idea como un Hackathon internacional (¿quizás el primero de este tipo?).

@nightwing tiene ideas sobre cómo podemos obtener una implementación móvil de mayor rendimiento que sería una pieza distinta de la forma en que los navegadores de escritorio manejan el renderizador virtual. Mantendremos a todos informados de su guía y muy pronto concretaremos un fin de semana.

Mi equipo 5-7 desarrolladores está en: SF, Praga, Ucrania, Rusia, India, Moscú, HK. 4
semanas a partir de ahora es perfecto para nosotros. Además, reuniré al desarrollador de inicio local
comunidad aquí en Hong Kong si podemos conseguir una agenda y tareas aproximadas
al menos 2 semanas antes. Probablemente pueda patrocinar uno de los espacios de coworking
para esto.

Steve
http://10xEngineer.me

El viernes, 5 de octubre de 2012 a las 12:35 a. M., Matt [email protected] escribió:

Hola @velniukas https://github.com/velniukas.

Estamos en el proceso de concretar un lugar en SF para coordinar la
hackathon; estamos estimando alrededor de 4 semanas a partir de ahora. Estoy armando
materiales de orientación de @nightwing https://github.com/nightwing y
@fjakobs https://github.com/fjakobs y desarrollando un sitio para promocionar
eso. Estamos persiguiendo la idea de mantenerlo durante un par de días. La primera
día dedicado a cubrir la mayor cantidad de funciones, y el segundo a traer
estos cambios juntos en una pieza cohesiva.

Hasta ahora contamos con desarrolladores de Hong Kong, Amsterdam, Grecia, Armenia y
SF interesado. Así que estamos promoviendo esta idea como un Hackathon internacional.
(¿Quizás el primero de su tipo?).

@nightwing https://github.com/nightwing tiene ideas sobre cómo podemos obtener un
implementación móvil de mayor rendimiento que sería una pieza distinta de
la forma en que los navegadores de escritorio manejan los documentos. Mantendremos a todos informados
de su guía y concretar un fin de semana muy pronto.

-
Responda a este correo electrónico directamente o véalo en Gi

¡Fantástico, Steve! Esto podría convertirse en un evento histórico. Dadas las zonas horarias, preferiría comenzar muy tarde el viernes, temprano el sábado PST y continuar durante 24 horas. El sitio en el que estoy trabajando administrará equipos para elegir tareas específicas para que nadie duplique el trabajo. Si alguien ha hecho esto antes o tiene ideas sobre cómo hacerlo _mejor_, hágamelo saber.

Para su información, todavía estoy reuniendo los detalles de este evento. Cimentar las fechas, reunir un lugar, enviar correos electrónicos a los equipos potenciales y construir el sitio web. Cuando tenga más información interesante, la publicaré aquí. ¡Espero que esto suceda!

Esto sería genial. Actualmente tengo que usar codemirror para necesidades móviles. Me encantaría usar ace para todas las necesidades.

De acuerdo a todos los que estén viendo este número. Tenemos un primer paso en la dirección correcta con la compatibilidad con iOS _scrolling_. Antes de probar el enlace a continuación, hay algunas órdenes de operación y advertencias que debe tener en cuenta:

  1. Espere a que se cargue todo el archivo
  2. Una vez que se haya cargado el archivo, haga clic en la casilla de verificación "Modo móvil" en la parte inferior izquierda
  3. No cambies de orientación.
  4. Empiece a desplazarse
  5. Probé esto en iPad v1 y iPhone 5. El iPhone funcionó de manera brillante, pero el iPad 1 fue bastante terrible. Más sobre esto en un segundo.

https://c9.io/c9developer/ace/workspace/kitchen-sink.html

Cómo se logró esto

  • Creé un div que superpone al editor con el siguiente CSS:
#scroll_div {
     -webkit-overflow-scrolling: touch;
     overflow-y: scroll;
     pointer-events: none;
}

La regla 1 es necesaria para el desplazamiento suave basado en el tacto, y la regla 3 es permitir que la superposición se coloque en la parte superior pero no reciba ninguno de los eventos que queremos enviar a los elementos de abajo. Esto deja abierta la oportunidad de incorporar un soporte de mecanografía preciso en el futuro.

  • Construyó un algoritmo de inercia personalizado. Este es el algoritmo más simple que pude idear que se acercó "lo suficiente" a lo que iOS hace de forma nativa. Simplemente itera sobre un intervalo de 24 ms y disminuye la velocidad en un 94,9% para cada intervalo. La velocidad inicial se establece en función de la distancia en píxeles entre el último toque y el penúltimo toque (la matemática de esto probablemente podría mejorarse incorporando la cantidad de milisegundos entre los dos últimos toques también).
  • Siempre que cambia la posición más nueva del intervalo, también se actualiza la superposición de desplazamiento táctil. Esto es para que el algoritmo personalizado tenga prioridad sobre el algoritmo de iOS y los divs no se desincronicen.

Influencias

Joe Hewitt exploró estas mismas ideas extensamente durante su trabajo de scrollability, como se escribió en un blog aquí: http://joehewitt.com/2011/10/05/fast-animation-with-ios-webkit

¿Por qué no utilicé la capacidad de desplazamiento en primer lugar? Ace depende de una ventana gráfica virtual y Joe terminó usando animaciones webkit. Los dos no son compatibles. Tengo que establecer la posición "scrollTop" de Ace, que luego tiene que actualizar el renderizador virtual para cambiar la posición. Podría haber pirateado el código de Joe en el div desplazable y luego aplicar los resultados de sus transformaciones 3D a la capa Ace, pero eh, la aventura fue más divertida :-)

Futuro

Como se señaló, esto es solo para desplazarse. Todavía necesitamos obtener un soporte de mecanografía preciso allí.

Para dispositivos iOS más modernos que pueden manejar la velocidad, este enfoque funciona muy bien. Pero definitivamente hay optimizaciones que se pueden hacer. Continuaremos explorando opciones en hardware nuevo y antiguo por igual.

Dado que esto es solo una demostración y no parte del código base principal de Ace, el siguiente paso es ponerlo en el núcleo.

Esperamos obtener la experiencia de sus muchachos en diferentes dispositivos y comentarios sobre cómo se puede mejorar. Saludos ~

Hola Matt,

Estoy muy feliz de informar que esto es mucho más estable en mi iPad4 hoy más que ayer. ¡Buen trabajo! También lo probé en mi Samsung Galaxy Nexus con Android 4.2 y se ve bien. (Por favor, no creemos una solución que sea solo para iOS). La inserción de texto también funcionó sin problemas en Android, mientras que mi iPad tenía un extraño problema de doble cursor (pero aún podía escribir).

@mattpardee ¡ Eso es increíble!

Desafortunadamente, parece romper completamente la compatibilidad con el navegador Android (Android v4.1.1) y Chrome Mobile (v18.0, noviembre de 2012). Esos navegadores tenían problemas menores antes, pero ahora solo obtengo un gran div blanco en lugar de Ace.

¡¡Impresionante!!

@lennartcl ¿qué dispositivo estás usando? ¿Y esto solo sucede cuando marca la opción Modo móvil?

@mattpardee Eso está en el Galaxy S3, y sucedió independientemente de la opción móvil. Pero en realidad lo intenté nuevamente hoy, y ahora parece funcionar como antes en ambos navegadores.

¡Estupendo! Ahora puedo seguir dominando el mundo.

Estaba probando el fregadero de la cocina del maestro en iOS Simulator con ipad iOS v5 y no parece comenzar a editar.

Cuando estaba golpeando el fregadero de la cocina del sitio en vivo con mi ipad 3 iOS 5.1, editaba, pero siempre trataba de poner las letras en mayúscula. Parece que está continuamente en un modo de selección con los botones azules de inicio y parada de copia.

¿Es este último código en maestro o deberíamos estar mirando una rama o una solicitud de extracción?

Hola Jeff,

Echa un vistazo a la función / rama ioscroll.

https://github.com/ajaxorg/ace/tree/feature/ioscroll

Esto debería al menos habilitar el desplazamiento en el editor (y no tiene que seleccionar ninguna opción para habilitarlo).

@mattpardee Sí, eso habilitó el desplazamiento en el simulador de iOS, pero no pude encontrar la manera de que aparezca el editor para permitir la edición. ¿Supongo que todavía está en proceso?

Sí, todavía estoy en las obras, aunque es cierto que no sé si tengo la capacidad de hacer que eso funcione yo mismo. Parte de esto está relacionado con eventos táctiles para invocar el enfoque o el desenfoque en el área de texto subyacente, pero la mayor parte del trabajo duro sería actualizar el controlador del cursor. La distancia del desplazamiento del cursor desde su verdadera posición de edición se acumula hacia el final de la línea, por lo que hay algo básico en las matemáticas que está haciendo.

¡Esperando que alguien esté a la altura del desafío!

está bien. gracias por la actualización.

¿Hay alguna manera de que al menos pueda detectar si el navegador tiene los requisitos mínimos para ejecutar ACE en el navegador para poder volver al área de texto?

@jfromaniello podrías usar Modernizr

Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser.

@faceleg sí, pero qué funciones necesita ACE ... Por ejemplo, iOS tiene muchas funciones pero el teclado en pantalla no se muestra.

¿Alguna actualización sobre la posición del cursor? El desplazamiento se ve bien.

¿Alguien sigue trabajando activamente en esto?

@MarkMurphy Para ser honesto, creo que no. Consulte el comentario anterior de @mattpardee para conocer el último estado.

En cuanto al desplazamiento, ¿qué pasa al revés?
Como crear un div lo suficientemente grande como height: 10000px; y desplazarlo dentro de otro div más pequeño. No es perfecto, aunque se preferiría el desplazamiento nativo al uso de recursos adicionales para emularlo. Consulte la publicación del blog de Dylan "Hacer que el editor Ace llene el espacio disponible"

Al menos ahora sabemos cómo debería verse y comportarse el teclado virtual: http://www.textasticapp.com/

Solo curiosidad: ¿cuál era el estado de esto? ¿Sigue siendo un problema sin resolver para iOS?

Si alguien está motivado para trabajar en esto, tengo una pista y una posible solución. El problema parece ser que el teclado no aparece cuando se selecciona el área de texto ace al tocar. Sin embargo, aparece cuando el área de texto es parte de un formulario y se selecciona usando los botones "Siguiente" ... "Anterior" proporcionados por iOS. Creo...

Me di cuenta de esto hace algún tiempo, pero no he podido encontrar el tiempo para verificarlo. Entonces YMMV.

mi página tiene una selección para cambiar el modo de idioma del editor.

cuando cargue la página por primera vez, la palabra clave suave no se activará cuando toque el editor,
PERO, después de que cambie manualmente el idioma de la selección, luego toque el editor para activar el teclado.

Espero que esto ayude.

Error posterior para el uso de Ace en Wikipedia para editar módulos de código de plantilla: https://bugzilla.wikimedia.org/show_bug.cgi?id=55345

Como solución, podemos poner Ace en la lista negra en iOS y usar un área de texto simple por ahora.

CodeAcademy.com está usando Ace y lo tienen completamente funcional en iPad, completo con selecciones. Puedo investigar esto.

¿Alguna noticia sobre esto?

Este error también está rompiendo Cloud9 IDE en iOS . : +1: ¡para que se preste atención a este problema!

hola chicos, hay alguien ahí fuera?

+1 también tiene problemas con el editor en ipad

+1: estamos usando el modo Markdown para el editor y copiar / pegar es una gran cosa que falta en Ace en iOS.

No puedo usar c9.io debido a este error. La demostración del fregadero de la cocina tampoco se desplazará (http://ace.c9.io/build/kitchen-sink.html). Sucede en el ipad y en mi Android Transformer (que es increíble para las necesidades de desarrollo livianas).

Para mi aplicación web, solía usar CodeMirror. Sin embargo, recientemente cambié a As debido a la abundancia de modos y funciones. La falta de soporte móvil me está haciendo reconsiderar mi elección.

¿Se ha realizado algún progreso para habilitar el desplazamiento en dispositivos móviles? No funciona en ningún dispositivo iOS o Android que haya probado.

@ mkaminsky11 +1. También estoy decidiendo entre CodeMirror o Ace, y la compatibilidad con iOS es lo que me detiene.

Como dijo @jakesankey , codeacademy.com usa ace. Intenté revisar el código para ver cómo lo hacían funcionar con dispositivos móviles, pero fue en vano. ¿Ponerse en contacto con ellos y pedirles ayuda sería una solución viable?

Servimos a Orion en dispositivos móviles en Codecademy.

¿Está arreglado ahora?

Funciona bien en mi Asus Transformer, si "Solicito la versión de escritorio". Lástima que el navegador no recuerde esas configuraciones.

+1

Hola, solo como referencia, uso ace para mi proyecto. El problema del teclado virtual es problemático y termino haciendo que el editor tenga el tamaño del contenido. Puede que haya un problema de rendimiento.

https://github.com/dai-shi/codeonmobile

Esto sigue siendo un problema, visto en http://3v4l.org/

Este problema también está bloqueando PlayCanvas.com (iPad Air iOS 8), lo cual es una lástima porque el resto si el editor es totalmente compatible con el iPad, ¡y en general es una muestra bastante loca de lo que HTML5 puede ser!

+1. actualmente investigando una solución que implica la creación manual de algunos botones de desplazamiento, para sentarse junto al editor, usando scrollBy http://ace.c9.io/#nav = api & api = virtual_renderer

+1 para problemas de desplazamiento.

+1 por problemas de desplazamiento

+1 para problemas de desplazamiento.

+1 para problemas de desplazamiento.

Hola chicos, no soy lo suficientemente bueno / paciente para arreglar el editor en sí, ya que todo el concepto de tacto versus ratón es diferente. Pero con el siguiente script, puede hacer que el editor ACE se desplace en dispositivos táctiles (IOS / Android). Simplemente colóquelo en la sección de configuración del editor (donde se declara el editor y se agregan opciones).

http://pastebin.com/1Rh7UDea

@ iq77 ¿Qué se supone que debe hacer ese código? ¿Lo estoy probando y hasta ahora no hace ninguna diferencia? Soy una de las personas a las que realmente les gustaría que esto funcione normalmente en dispositivos táctiles ...

@tluyben en "touchstart" guarda las coordenadas x / y del evento táctil. En "touchmove" calcula la diferencia entre el inicio y el final, luego pasa los valores x / y al "renderizador" de ACE. El renderizador realiza el desplazamiento. Funciona en mi script, pero tal vez tengas que adaptar algunos nombres de clases, etc. a tus propias necesidades. También hay algo de jQuery allí, es posible que deba reemplazarlo.

Este es un gran hilo, pero me resultó difícil decir (a) cuál es la naturaleza del "problema de desplazamiento", (b) qué dispositivos / versiones del sistema operativo se ven afectados y (c) qué soluciones alternativas están disponibles. Si alguien estuviera dispuesto a resumir dónde están estos, sería excelente.

Acabo de probar Kitchen Sink en [iPad Air 2 con iOS 8 y Safari 8] y [Nexus 10 con Android 5.1 y Chrome 40], y pude desplazarme tanto horizontal como verticalmente (en horizontal; no probé con dispositivos en Orientación Vertical). Pasos para reproducir:
1) Vaya a http://ace.c9.io/build/kitchen-sink.html
2) Agregue un montón de líneas (las líneas en blanco funcionan bien) en el panel del editor hasta que haya más líneas de las que quepan en la pantalla.
3) Si es necesario, aleje la imagen para ver el navegador completo. (La edición del contenido del panel del editor puede acercarlo automáticamente, lo que dificulta saber si está desplazando el panel o simplemente moviendo la vista ampliada).
4) Desliza hacia arriba / abajo en el borde derecho del panel del editor. No aparecerá ninguna barra de desplazamiento, pero el contenido del panel del editor debería desplazarse como se esperaba.
5) Para probar hscroll, cree una cadena larga de caracteres que sea más ancha de lo que cabe en la pantalla; alejar si es necesario; deslice hacia la izquierda / derecha en el borde inferior del panel del editor. Veo una barra de desplazamiento que se desvanece en Android, pero no una barra de desplazamiento en iOS ... pero hscrolling funciona en ambos, independientemente.

He estado investigando los problemas y, por lo que puedo resolver, este es el hilo definitivo de 'todo lo relacionado con el tacto'. Corríjame si me equivoco y seguiré investigando / presentando un nuevo problema.

iOS touch aparentemente no puede abrir el menú contextual en un contexto Ace (significativamente, esto permite cortar + pegar). Normalmente, esto se puede activar tocando el cursor, pero Ace anula este comportamiento para mover el cursor hacia adelante un carácter en su lugar.

@barneycarroll , este parece ser el hilo relacionado con el tacto. He estado trabajando recientemente tratando de implementar al menos algo de soporte táctil para el desplazamiento. En este momento, puede desplazarse si se desplaza solo sobre el área derecha en el extremo derecho o en la parte inferior del espacio de visualización del editor (donde estarían las barras de desplazamiento). Pero esa no es una solución viable.

Creo que estoy en algo con la implementación de un soporte táctil, lo tengo funcionando en el simulador de iOS. Echa un vistazo a la bifurcación (https://github.com/AStoker/ace), actualmente necesitas compilarla (ya que ese es el código fuente), pero si sigues las instrucciones de compilación en el reino, es pan comido. Me encantaría recibir ayuda con cualquier mejora, ya que no parece que el soporte táctil sea una prioridad en este momento (pero ese es el beneficio del código abierto, podemos solucionarlo nosotros mismos). Si todo se ve bien, haré una solicitud de extracción para implementarlo.

+1 para copiar / pegar en iOS. ¿El problema es el manejo del cursor personalizado? ¿Cuál sería un plan de ataque para resolver eso?

La beta pública del iPhone 6 más ios 9.2 parece funcionar bien ahora con ace. El desplazamiento y la edición funcionan como si estuvieras en una computadora.

Solo necesita mejoras para copiar y pegar.

Es posible pegar y copiar, pero es muy difícil hacerlo.

Http://www.apus.com
El 19 de noviembre de 2015 a las 10:52 a. M., "Paladox" [email protected] escribió:

La beta pública del iPhone 6 más ios 9.2 parece funcionar bien ahora con ace.
El desplazamiento y la edición funcionan como si estuvieras en una computadora.

Solo necesita mejoras para copiar y pegar.

Es posible pegar y copiar, pero es muy difícil hacerlo.

-
Responda a este correo electrónico directamente o véalo en GitHub.

Tengo problemas con las teclas de flecha del teclado de mi iPad. El teclado funciona bien en todos los entornos, pero si me conecto a mi servidor Cloud 9 y comienzo a programar, las teclas de flecha se ignoran. ¿Puedo agregarlos en algún lugar o cómo se puede solucionar esto? Necesito la flecha muy a menudo mientras codifico.

<div id="editor" class="page-content" contenteditable="true"></div>

Hace el truco en iOS. Parece que no puedo hacer que funcione el resaltado de sintaxis de assembly_x86.

¿Dónde tengo que incluir este código? Pensé que esto debe estar en user.settings pero no tiene partes HTML

HTML dentro de un WebView.

No puedo hacer que funcione dentro de un UIWebView 👎 Comienza bien, pero tan pronto como intento mover el cursor, todo falla. No puedo escribir, o con la solución @ jcss-org-il ( <div id="editor" class="page-content" contenteditable="true"></div> ) el cursor se mueve fuera del editor.

¿Alguien puede ayudarme a resolver un misterio? El editor de código en línea de GitHub, supuestamente basado en Ace (https://github.com/blog/905-edit-like-an-ace), es asombroso. Funciona perfectamente en el iPad, incluso con un teclado Bluetooth, las teclas de flecha funcionan (incluidas Ctrl-Flecha izquierda, Alt-Flecha izquierda, etc.) y el rendimiento es excelente, etc.

Aquí hay una captura de pantalla de una sesión de edición de iPad del archivo README.md de este repositorio: (https://github.com/ajaxorg/ace/edit/master/Readme.md)

img_0819

Y, sin embargo, todos en este hilo (incluido yo mismo), no pueden hacer que Ace se ejecute en un iPad sin problemas (por ejemplo, las teclas de flecha no funcionan). (Tengo los mismos problemas que se informaron aquí: https://github.com/ajaxorg/ace/issues/37#issuecomment-195258878)

¿GitHub ejecuta una versión personalizada de Ace? ¿Esa versión está disponible públicamente? ¡Me encantaría ejecutar lo que sea que estén ejecutando! (Captura de pantalla del inspector DOM que confirma que parece estar ejecutando Ace en la parte inferior).

¡Muchas gracias!
GRAMO

editing_ace_readme_md_at_master_ _ajaxorg_ace

@realgenekim de la captura de pantalla, parece que github usa un área de texto en el ipad

@nightwing ¡Teoría fascinante! Pero, si observa el control del editor, hay números de línea, capacidades similares a las de Ace que parecen no ser solo un área de texto HTML estándar, como ancho de pestaña, ajuste de texto ...

Tras una inspección más cercana, estoy bastante seguro de que es algo más exótico que el área de texto.

Los números de línea de

@ nightwing Holy cow. Eso es tan intrigante, creo que tienes toda la razón. Intentaré obtener alguna confirmación de esto de alguien en GitHub ...

Creo que esto significa que intentaré hacer lo mismo. Es decir, detecte en tiempo de ejecución si es un iPad y no cargue el editor Ace, y en su lugar use un área de texto.

Tan insatisfactorio, pero al menos se podrá utilizar hasta que alguien presente una buena solución para iPad ...

😦

Acabo de probar esto en mi iPad pro y básicamente muestra un textarea básico. Quizás con el crecimiento automático.

¿Es algo inteligente como un área de texto con opacidad 0 y una instancia de editor ace colocada inmediatamente detrás? Me imagino que con el rendimiento del iPad moderno sería posible mantener el estado (desplazamiento interno y contenido) casi instantáneamente en cada evento de entrada ...

@barneycarroll No, al menos en mis pruebas estaba editando dentro de un área de texto normal sin números de línea, etc.

¡Hola chicos! Acabo de crear una solicitud de extracción que soluciona algunos de los problemas en iOS. Proporciona una experiencia de usuario agradable, si tiene un teclado externo.

Si te gusta, podría pensar en solucionar los problemas restantes :)

Puedes verlo en acción en https://ipad-undo.gomix.me

¡Disfrutar!

Solo estoy usando su demostración y veo un problema con el punto de inserción. Cree un par de comillas, por ejemplo, coloque el cursor entre ellas y comience a escribir. Salta aleatoriamente al final de la línea. No estoy seguro de si este cambio presenta ese problema o si estaba allí inicialmente.

Oh, gracias @IamNaN , ese error ha sido reportado en las relaciones públicas en este momento :) Creo que sé cómo solucionarlo ... estad atentos a la demostración :)

EDITAR: demostración arreglada :)

@etamponi ¡ Eso se ve increíble! ¿Funciona con:

  1. ¿Conecta como vim y emac?
  2. Soporte IME con CKJ?

Actualmente parece que se estropea cuando enciende IME.

@episodeyang Lamento mucho haberte dejado en espera con esto.

Desafortunadamente, no tuve tiempo para seguir trabajando en las relaciones públicas ... Por suerte, alguien más se hizo cargo de mi trabajo y lo terminó, ahora se fusionó como # 3310 si no recuerdo mal :)

vim ya no era compatible con iOS y el RP no agrega soporte para él. No sé lo suficiente sobre IME para saber con certeza si mi PR lo afectó de alguna manera, ¡lo siento!

Colocar el cursor en la mitad de la palabra con un toque parece ser impredecible (iOS 11.2, Safari) en la demostración proporcionada por @etamponi.¿Hay alguna manera de hacerlo más confiable?

Actualmente, ace funciona lo suficientemente bien en IOS como para cerrar este problema sobre la compatibilidad básica. Si ve algún error o faltan funciones, abra una nueva edición.

¿Fue útil esta página
0 / 5 - 0 calificaciones