Ace: Compatibilité IOS

Créé le 11 janv. 2011  ·  160Commentaires  ·  Source: ajaxorg/ace

Ace pourrait être un éditeur idéal sur les appareils IOS (iPad, iPhone) si vous pouviez simplement taper, mais malheureusement, le clavier virtuel ne s'affiche jamais avec ACE. Je pense également que quelqu'un avait un correctif pour que cela fonctionne.
@gissues :{"order":96.27329192546586,"status":"backlog"}

mobile

Commentaire le plus utile

Salut les gars! Je viens de créer une pull request qui résout certains des problèmes sur iOS. Il offre une expérience utilisateur agréable, si vous avez un clavier externe.

Si vous l'aimez, je pourrais penser à résoudre les problèmes restants :)

Vous pouvez le voir en action sur https://ipad-undo.gomix.me

Profitez!

Tous les 160 commentaires

Nous le savons, et ce sera bientôt réglé. Merci pour la suggestion!

pourriez-vous rechercher le patch pour nous ?

Je suis également intéressé par la prise en charge d'iOS (et en particulier de l'iPad).
J'ai hâte d'entendre parler de vos progrès sur ce front.

Vous pouvez consulter la branche ipad. Ce n'est pas encore parfait mais au moins la dactylographie fonctionne. Utilisez deux doigts pour faire défiler.

Excellent, je n'avais pas remarqué la branche ipad.
Merci, je vais regarder ça !

Le clavier ne s'affichait pas en utilisant la branche ipad. En utilisant la branche master, cela se voit, mais il y a un bug avec le positionnement du curseur. :/

Oubliez ce que j'ai dit ! C'est cool que le clavier ne s'affiche pas ! Vous pouvez écrire votre propre clavier, beaucoup plus convivial pour les programmeurs et moins encombrant. :o)

Test sur iPad sous iOS 4.3 ; Le maître actuel n'affiche pas le clavier ou le point d'insertion et ne fait pas défiler verticalement (je peux faire défiler horizontalement avec deux doigts, si le texte est plus large que la zone disponible).

La branche iPad n'a pas été mise à jour depuis le 3 février... en la testant, je constate que le défilement vertical fonctionne à deux doigts (yay !) mais est très lent. Je peux mettre le focus sur l'éditeur et faire apparaître le clavier à l'écran, mais le point d'insertion finit par s'éloigner de l'éditeur lorsque la fenêtre défile vers le haut pour s'adapter au clavier.

Essayer de tapoter dans l'éditeur semble problématique ; Je peux en quelque sorte appuyer sur la ligne en cours d'édition, mais appuyer sur d'autres lignes ci-dessus semble _perdre_ le focus et fermer le clavier. Je ne peux mettre l'accent de manière fiable qu'à la fin du document.

Lors du défilement vertical, le point d'insertion semble monter/descendre une ligne à la fois, mais lorsque je commence à taper, il revient à la fin du document pour ajouter de nouveaux caractères.

(La branche iPad sur Firefox 4 standard a également des problèmes - elle semble faire des hypothèses sur la position de défilement de la fenêtre, et cliquer dans l'éditeur finit par placer le curseur à la mauvaise position si j'ai fait défiler la _fenêtre_ vers le bas pour ajuster l'éditeur dans le espace visible.)

des mises à jour sur la branche ipad?

Malheureusement non. Cette branche n'est actuellement pas en développement actif. Nous prévoyons de le ressusciter, mais nous n'avons pas de temps estimé quand.

Désolé de ressusciter un fil mort, mais y a-t-il eu des progrès sur le front iOS ?

De toute évidence, il y a un intérêt énorme pour cela. Je vais jeter un oeil et voir si je peux aider

+1

Un composant Web qui ne prend pas en charge l'iPad ne peut plus être appelé à juste titre un composant Web, IMO.

Je seconde ceci. J'écris sur un iPad en ce moment, souhaitant utiliser ACE pour programmer à la place...

+1 besoin de cela de toute urgence aussi sur iPad

+1 à l'urgence

J'aimerais aussi le support iOS aussi, et très bientôt. Si je peux trouver le temps, je serais heureux de m'asseoir et de le faire moi-même. Donc, s'il y a des pointeurs sur l'endroit où je devrais commencer dans le code, et des détails sur la façon dont cela se passe mal, ce serait apprécié.

D'accord - je contribuerais à un fonds kickstarter pour compléter cela si besoin est

Le sam. 7 avr. 2012 à 14:53, Joe
[email protected]
a écrit:

J'aimerais aussi le support iOS aussi, et très bientôt. Si je peux trouver le temps, je serais heureux de m'asseoir et de le faire moi-même. Donc, s'il y a des pointeurs sur l'endroit où je devrais commencer dans le code, et des détails sur la façon dont cela se passe mal, ce serait apprécié.


Répondez directement à cet e-mail ou consultez-le sur GitHub :
https://github.com/ajaxorg/ace/issues/37#issuecomment -5006423

Il n'y a aucun moyen d'afficher ce foutu clavier avec javascript, bravo pour un clavier personnalisé.

Pas vrai. Attribuez un élément en tant que contenu modifiable et lui donner le focus, et le clavier devrait apparaître. Vous pouvez également faire des astuces avec des textreas et des entrées de texte pour le faire fonctionner.

Le clavier propose également la version d'Ace que j'utilise sur mon site, ce n'est tout simplement pas utilisable.

@PlayMyCode Si je ne peux pas appeler quelque chose comme ios.showKeyboard() il est vrai que je ne peux pas l'appeler avec javascript, ce que vous avez dit sont toutes des solutions rapides ...

Ça ne marche pas comme ça.

Si le contenu n'est pas modifiable, ou s'il ne s'agit pas d'une saisie de texte, pourquoi le clavier s'afficherait-il ? Les caractères n'iront nulle part, vous ne recevrez pas d'entrée du clavier.

Les touches doivent aller quelque part pour que le clavier s'affiche. S'ils n'ont nulle part où aller, cela n'apparaît pas. S'ils ont quelque part où aller, il apparaîtra. Ce n'est pas un hack, c'est juste comment fonctionne la saisie de texte.

@PlayMyCode - les personnages n'ont pas nécessairement besoin d'une entrée de texte, ils pourraient simplement "aller" en javascript - si vous aviez un ensemble d'écouteurs de touches, vous seriez en mesure d'obtenir les caractères et de les placer où vous le souhaitez. ..

@hjwp votre droit, mais encore une fois ce n'est pas si simple. Je pense que les éléments doivent pouvoir obtenir le focus, sinon le navigateur n'enverra pas l'événement à l'élément, et de nombreux éléments ne peuvent pas recevoir le focus. Par exemple, le canevas n'écoutera les événements clés que si vous ajoutez un index de tabulation (ou du moins je le trouve tout à l'heure dans Chrome). iOS n'affiche également le clavier pour le canevas que si vous définissez le contenu modifiable.

Soit c'était un argument académique. Le support iOS est ce qui est important, et il ne devrait pas être mis de côté simplement parce qu'une solution ressemble trop à un hack (à moins bien sûr qu'il n'y ait une meilleure alternative).

Que diriez-vous de mettre le focus sur une entrée de texte masquée et de l'effacer en appuyant sur une touche ?

Oui, c'est comme ça que fonctionnent les WYSIWYG.

Le 09/04/2012, à 04h56, "André Fiedler"
[email protected]
a écrit:

Que diriez-vous de mettre le focus sur une entrée de texte masquée et de l'effacer en appuyant sur une touche ?


Répondez directement à cet e-mail ou consultez-le sur GitHub :
https://github.com/ajaxorg/ace/issues/37#issuecomment -5024068

Les anciennes versions d'Ace ne positionnaient-elles pas une zone de texte ou un élément d'entrée sous l'entrée, à l'origine ? Cette approche fera apparaître le clavier.

Les anciennes versions d'Ace n'avaient-elles pas positionné une zone de texte ou un élément d'entrée sous l'entrée, à l'origine

les nouvelles versions d'ace font de même.
textarea se désynchronise avec le curseur lors du défilement mais c'est facile à corriger
Je n'ai pas vu d'as sur l'ipad, mais sur Android, la saisie et le déplacement du curseur fonctionnent, mais il n'y a aucun moyen de sélectionner du texte.
mais plus important

  • ace sur le navigateur Android est super lent, le fennec est un peu meilleur mais toujours inutilisable (peut-être qu'utiliser setTimeout ici avec un intervalle plus long pourrait aider mais pas sûr)
  • Les suggestions de clavier par défaut et de saisie semi-automatique sont complètement inutiles pour la programmation (donc créer un clavier personnalisé au lieu d'essayer d'afficher celui par défaut semble être une bonne idée).
    Dans l'ensemble, je ne pense pas que l'as puisse encore être utile sur les tablettes.

le clavier personnalisé sonne bien !

Je suis sceptique quant à un clavier personnalisé. Construire un bon clavier poli n'est pas anodin et mérite d'être un grand projet à part entière. Je m'attendrais également à ce qu'un clavier HTML pur soit plus lent que celui intégré.

Il devrait également bien fonctionner sur différentes tailles d'écran et différentes orientations de mise en page. Par exemple, je ne voudrais pas utiliser le clavier de l'iPad sur l'iPhone, et ce n'est pas agréable d'utiliser le clavier de l'iPhone sur l'iPad. Ils ont des claviers différents pour une raison. Surtout, cela signifie que tout sur l'iPad et l'iPhone utilise un seul clavier, sauf Ace. En bref, les utilisateurs disposent déjà d'un clavier auquel ils s'attendent et, dans de nombreux cas, il est personnalisé (comme la configuration en tant que clavier divisé).

Ma recommandation serait de simplement faire fonctionner le clavier, car je m'attendrais à ce que ce soit moins de travail que la construction d'un clavier personnalisé. Ensuite, s'inquiéter de la construction d'un clavier personnalisé à l'avenir en tant que problème distinct. Cela vous permettrait également de vous rabattre éventuellement sur le clavier du système d'exploitation comme alternative à un clavier personnalisé, par exemple s'il ne fonctionnait pas bien sur un appareil particulier.

Ce site indique également que vous pouvez désactiver la saisie semi-automatique et la capitalisation automatique sur des entrées particulières : http://davidbcalhoun.com/tag/javascript

Un clavier personnalisé ne pourra pas non plus utiliser la largeur plein écran si Ace est placé dans un iframe.

Cela peut sembler un cas de coin, mais JSFiddle et JS.do.it vous permettent d'intégrer des éditeurs dans des iframes sur d'autres sites, et c'est quelque chose que j'aimerais faire moi-même.

@PlayMyCode - Secondé : un clavier personnalisé serait une très mauvaise idée pour la plupart des raisons que vous avez mentionnées et plus encore.

@PlayMyCode - Je suis d'accord, le clavier personnalisé semble périlleux. Je soupçonne également que ceux qui l'ont suggéré ont peu ou pas d'expérience avec les API iOS. Mais je peux me tromper, je me fie à ce que ios.showKeyboard() , les API natives n'ont rien d'équivalent à ça... Le plus proche serait d'appeler becomeFirstResponder sur un UITextInput contrôle ... mais je m'éloigne du sujet.

Cela devrait être tout à fait faisable, probablement avec peu d'effort. Je suppose que c'est dans le sens de donner le focus à un élément qui a contenteditable défini. À partir d'iOS 5.0, contenteditable est pris en charge, voir la toute fin de Création de contenu Web compatible

Il existe un JavaScript pour éditer le code dans un navigateur qui lance un clavier sur iOS : CodeMirror, voir par exemple http://codemirror.net/mode/r/index.html pour une démo (fonctionne sur l'iPhone) et codemirror.net pour général. Alors peut-être qu'il y a quelque chose dans leur code qui pourrait aider à prendre en charge iOS dans ace ?

@bertoltmeyer , CodeMirror est basé sur des zones de texte, c'est pourquoi il peut ouvrir le clavier iOS, ace est beaucoup plus compliqué...

@cranic en fait Codemirror2 est très similaire à as et utilise, qui utilise le même textareas
si Codemirror2 fonctionne sur ipad, réparer ace, travailler de la même manière ne devrait pas être difficile

J'écris du point de vue d'un statisticien R qui, comme des milliers d'autres, utilise RStudio pour le codage. RStudio est l'IDE le plus populaire pour R et est construit sur ace. Si ace supportait iOS, RStudio Server le ferait aussi. Dans ce monde idéal, je pourrais simplement accéder à notre serveur RStudio depuis mon iPad et faire tout mon codage à partir de là. Moi (et des milliers d'autres gars de R) n'aurais plus besoin d'utiliser mon ordinateur portable. Donc sérieusement, le manque de support d'ace pour iOS est la _seule_ raison pour laquelle je transporte toujours un ordinateur portable et je suis sûr qu'il y a plein d'autres personnes comme moi là-bas. Donc, si je parlais javaScript, ce que je ne fais pas, je travaillerais là-dessus en priorité. Mais comme je ne peux pas coder en js, tout ce que je peux vraiment dire, c'est s'il vous plaît s'il vous plaît, s'il vous plaît, quelqu'un peut-il essayer de résoudre ce problème. Soupir. Je (et d'autres) soutiendrais vraiment un kickstarter sur cette question si nécessaire.

Hé, j'ai jeté un coup d'œil au code mais tout ce que je vois c'est div s; où est le canvas ?

ace n'a jamais utilisé un canvas , c'était un bespin

avec 2f6a6ce7e0992a2eccbb8a517aa2d6f4954f1214 ne sera pas masqué.

d'ailleurs. une raison de plus pour créer un clavier virtuel

Je fais écho à @bertoltmeyer en ce qui concerne l'enthousiasme pour obtenir ace sur iOS afin que RStudio puisse être utilisé sur un iPad.

J'aimerais voir cela fonctionner également sur un iPad - cela permettrait un _beaucoup_ de fonctionnalités dans les applications en aval (je suis également venu ici via RStudio, mais je viens de me rendre compte qu'ACE est utilisé dans quelques autres outils Web que j'utilise sporadiquement, donc pour moi cela résoudrait de nombreux problèmes différents).

Comment pouvons-nous élever un kickstarter de projet similaire pour cela? je suis prêt à
mettre 100$ dans le pot maintenant
Côté interfaces - Prompt sur iOS (un client ssh) a un super clavier
qui est mieux adapté à sysadmin/programmation que la disposition iOS standard.

Le jeu. 10 mai 2012 à 5h34, Rui Carmo <
[email protected]

a écrit:

J'adorerais voir cela fonctionner également sur un iPad - cela permettrait un _lot_
de fonctionnalités dans les applications en aval (je suis également venu ici en
RStudio, mais je viens de réaliser que ACE est utilisé dans quelques autres outils Web que j'ai
utiliser sporadiquement, donc pour moi, cela résoudrait de nombreux problèmes différents).


Répondez directement à cet e-mail ou consultez-le sur GitHub :
https://github.com/ajaxorg/ace/issues/37#issuecomment -5612400

@velniukas Bonne idée avec kickstarter, je ne serais pas surpris si pas mal de gens (comme moi) faisaient un don à un tel projet.

Malheureusement, je ne suis pas en mesure de m'engager dans le développement d'un correctif
tout à l'heure, mais je serais prêt à aider à mettre en place un projet comme celui-ci avec
certains collaborateurs.

Le jeu. 10 mai 2012 à 08:01, Mike Lawrence <
[email protected]

a écrit:

@velniukas Bonne idée avec kickstarter, je ne serais pas surpris si tout un
peu de gens (comme moi) feraient un don à un tel projet.


Répondez directement à cet e-mail ou consultez-le sur GitHub :
https://github.com/ajaxorg/ace/issues/37#issuecomment -5615069

Je contribuerais également au moins 200 USD à un projet kickstarter pour la compatibilité ace iOS. Je suis sûr que nous serions en mesure de collecter pas mal d'argent pour cela auprès de la communauté R. Je ne peux pas contribuer au codage car je ne parle pas assez js, mais je suis prêt à aider à la collecte de fonds dans la communauté R si quelqu'un lance un kickstarter. @velniukas , seriez-vous en mesure d'identifier des collaborateurs potentiels et de les contacter pour la mise en place d'un tel projet ?

Fera - toute personne intéressée à aider à configurer un kickstarter - envoyez-moi un pm

Acclamations
Steve
10xEngineer.me

Le jeu. 10 mai 2012 à 14:59, Bertolt Meyer <
[email protected]

a écrit:

Je contribuerais également au moins 200 USD à un projet kickstarter pour ace iOS
compatibilité. Je suis sûr que nous serions en mesure de soulever pas mal de
de l'argent pour cela de la communauté R. Je ne suis pas en mesure de contribuer au
coder parce que je ne parle pas assez js, mais je suis prêt à aider avec le
collecte de fonds dans la communauté R si quelqu'un lance un kickstarter.
@velniukas , seriez-vous en mesure d'identifier des collaborateurs potentiels et
les contacter pour la mise en place d'un tel projet ?


Répondez directement à cet e-mail ou consultez-le sur GitHub :
https://github.com/ajaxorg/ace/issues/37#issuecomment -5619266

Ce n'est pas une question d'argent, mais c'est une question d'avoir suffisamment de capacité de développement pour cela.

Je sais - mais parfois l'argent peut aider les gens à être motivés pour libérer leurs capacités. ;-)

Le fait est que c'est un travail difficile et que tout le monde a des priorités. Faites-le correctement en embauchant de grands talents. C'est un petit prix entre nous tous.

Envoyé de mon iPhone

Le 10 mai 2012, à 22h18, Jan [email protected] a écrit :

Ce n'est pas une question d'argent, mais c'est une question d'avoir suffisamment de capacité de développement pour cela.


Répondez directement à cet e-mail ou consultez-le sur GitHub :
https://github.com/ajaxorg/ace/issues/37#issuecomment -5626268

Une option serait de publier une description de ce qui doit être fait sur vWorker.com et de solliciter des offres afin que nous puissions avoir une idée du nombre de développeurs disponibles pour cela et à quels tarifs.

OMG comme j'aimerais pouvoir me désinscrire des mises à jour sur ce fil...

@Gozala suppose que vous cherchez une antenne en bas de page : )

quelqu'un qui a un test ipad peut-il http://c9.io/nightwing/ace/workspace/kitchen-sink.html
ce n'est qu'une amélioration de ime mais doit également améliorer la frappe sur ipad

Le clavier s'affiche pas sur iPad.

@nightwing Oh merci :D Vous avez fait ma journée !

@nightwing Je vais peut-être en parler à http://c9.io/gjtorikian/ace/workspace/build/kitchen-sink.html Ajoutez simplement un contenteditable au corps, boum, c'est fait .

La navigation ne fonctionne pas, ce qui est évidemment plus difficile. Il se situe juste à {row: 0, column: 0} . Je suppose que cela doit faire quelque chose avec le <textarea> qui est le premier enfant de ace_editor qui semble agir comme une sorte de curseur.

+1 pour la compatibilité iOS

Veuillez noter le commit du 15 janvier 2011 au fork de
https://github.com/javruben/ace/commits/master

@Gozala Vous pouvez vous désinscrire des notifications à la fin de cette page avec le lien "désactiver les notifications pour ce problème"

En référence aux commentaires précédents des membres de la communauté R, j'ai installé la version 0.96.228 du serveur R-Studio sur Ubuntu et utilisé Wireshark pour examiner le trafic réseau entrant. Je me suis connecté avec succès au serveur R-Studio sur l'iPad à l'aide de Safari. Le clavier s'affiche correctement maintenant, à la fois dans les zones de texte (par exemple, pour la recherche) et dans le volet du navigateur qui contient R-console. Le problème survient lorsque vous appuyez sur Retour lors de la saisie dans le volet qui contient la console R : le navigateur de l'iPad envoie FIN, ACK, ce qui provoque la réinitialisation de la session par l'application serveur R-Studio. Une idée de ce qui cause cela ?

Toute mise à jour à ce sujet - je suis favorable à l'offre d'une prime sur cette fonctionnalité - si nous pouvons trouver des développeurs appropriés qui comprennent le problème.

Vous pouvez ajouter un autre nom à la liste des personnes qui aimeraient voir ACE fonctionner avec les navigateurs mobiles, en particulier les tablettes. Cela dit, je suis sûr que ce n'est pas une tâche triviale. Que peuvent faire ceux d'entre nous qui sont intéressés à voir cela se produire mais qui n'ont pas les compétences JavaScript pour le faire pour aider à ce que cela se produise ? Je serais prêt à investir de l'argent dans un projet Kickstarter si cela pouvait aider.

/cc @javruben

La dernière fois que j'ai travaillé dessus (il y a certes un an (s?)), j'ai testé sur l'iphone et j'ai fait apparaître le clavier. La frappe a fonctionné, mais le curseur était décalé et je pense que l'insertion d'un \n en insérerait deux.

Il y a les problèmes suivants à résoudre :

  1. Clavier à afficher
  2. Toute interaction de frappe doit être testée
  3. Sélection avec événements tactiles
  4. Pour que le défilement soit rapide, un nouveau moteur de rendu doit être implémenté sans fenêtre virtuelle
  5. Ajouter éventuellement un faux clavier pour un accès plus rapide aux touches utilisées par le mode langue (dynamique)

Veuillez commenter si vous êtes disposé et capable d'aider avec l'une de ces tâches. Je vais voir quelles autres ressources je peux rassembler.

Ruben,

Je n'ai pas de développeur iOS à portée de main - mais l'un de mes gars du Web devrait être
capable d'aider dans un avenir pas trop lointain, une fois que nous aurons la prochaine version dans
environ 2-3 semaines.

Salutations
Steve

Le mer. 1 août 2012 à 01h09, Ruben Daniels <
[email protected]

a écrit:

La dernière fois que j'ai travaillé dessus (il y a certes des années ?) j'ai testé sur le
iphone et j'ai obtenu le clavier pour apparaître. La frappe a fonctionné, mais le curseur était
décalé et je pense que l'insertion d'un \n en insérerait deux.

Il y a les problèmes suivants à résoudre :

  1. Clavier à afficher
  2. Toute interaction de frappe doit être testée
  3. Sélection avec événements tactiles
  4. Pour que le défilement soit rapide, un nouveau moteur de rendu doit être implémenté sans
    fenêtre virtuelle
  5. Ajouter éventuellement un faux clavier pour un accès plus rapide aux touches utilisées par le
    mode de langue (dynamique)

S'il vous plaît commenter si vous êtes prêt et capable d'aider avec l'un de ces
Tâches. Je vais voir quelles autres ressources je peux rassembler.


Répondez directement à cet e-mail ou consultez-le sur GitHub :
https://github.com/ajaxorg/ace/issues/37#issuecomment -7404954

Bonne nouvelle! Je veux juste dire que nous regardons toujours et excités à propos de
cette. Je vois des opportunités incroyables pour prendre en charge l'iPad. je ne fais pas vraiment
avoir besoin de développer du code dans le cloud quand j'ai un mac à mon
bout des doigts. Je suis trop attaché à ma panoplie d'outils. Mais la capacité de se développer
utiliser mon iPad change tout. Merci d'être resté au courant et
faire quelque chose d'incroyable ! Faites-moi savoir si je peux vous aider.

Le mar. 31 juil. 2012 à 20:02, velniukas <
[email protected]

a écrit:

Ruben,

Je n'ai pas de développeur iOS à portée de main - mais l'un de mes gars du Web devrait être
capable d'aider dans un avenir pas trop lointain, une fois que nous aurons la prochaine version dans
environ 2-3 semaines.

Salutations
Steve

Le mer. 1 août 2012 à 01h09, Ruben Daniels <
[email protected]

a écrit:

La dernière fois que j'ai travaillé dessus (il y a certes des années ?) j'ai testé sur le
iphone et j'ai obtenu le clavier pour apparaître. La frappe a fonctionné, mais le curseur
a été
décalé et je pense que l'insertion d'un \n en insérerait deux.

Il y a les problèmes suivants à résoudre :

  1. Clavier à afficher
  2. Toute interaction de frappe doit être testée
  3. Sélection avec événements tactiles
  4. Pour que le défilement soit rapide, un nouveau moteur de rendu doit être implémenté sans
    une
    fenêtre virtuelle
  5. Ajouter éventuellement un faux clavier pour un accès plus rapide aux touches utilisées par le
    mode de langue (dynamique)

Veuillez commenter si vous êtes disposé et capable d'aider avec l'un des
ces
Tâches. Je vais voir quelles autres ressources je peux rassembler.


Répondez directement à cet e-mail ou consultez-le sur GitHub :
https://github.com/ajaxorg/ace/issues/37#issuecomment -7404954


Répondez directement à cet e-mail ou consultez-le sur GitHub :
https://github.com/ajaxorg/ace/issues/37#issuecomment -7414813

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

J'attends aussi cela avec impatience. Création d'une application qui nécessite l'édition de code sur le Web. C'est à peu près la seule chose qui m'empêche de l'envoyer dans le monde réel.

@velniukas des mises à jour à ce sujet ? On dirait qu'il y a tellement de gens qui demandent cette fonctionnalité, et beaucoup de gens prêts à aider. Organisons-nous et faisons-le !

@tzikis +1

Cela doit être la fonctionnalité « must have » numéro un. Pourquoi? Parce que sans compatibilité iPad, la crédibilité d'ACE est complètement minée et vulnérable aux projets concurrents qui peuvent offrir et offrent ce niveau de support. En tant qu'entreprise, nous envisageons déjà de changer. Après tout, ce problème a été soulevé pour la première fois il y a plus de 2 ans et n'a montré aucun signe de disparition.

@emeraldspy J'apprécie l'honnêteté que vous prenez avec cette situation. La réalité est : vous avez raison ! Le support mobile dans ACE est un must. En fait, nous avons lancé un appel à la communauté il y a 2 semaines pour apporter notre soutien à cet effort :

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

et la liste des problèmes référencés dans le blog :

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

Réponse? Rien. Alors que chez Cloud9, nous gérons le projet, nous ne pouvons pas nous consacrer à cet effort à plein temps. Nous ne pouvons apporter que des améliorations progressives. Alors, que pouvons-nous faire? Que feriez-vous dans cette situation? Nous espérions qu'en créant une licence plus ouverte, il recueillerait plus de contributions vers le support mobile, mais cela n'a pas encore eu lieu.

Nous pensons qu'ACE est un projet vraiment spécial et nous voulons que beaucoup plus de développeurs à l'avenir bénéficient de ses performances exceptionnelles et de ses fonctionnalités sophistiquées. Mais nous ne pouvons pas _forcer_ les autres à simplement contribuer au support mobile. Nous avons donc proposé quelques idées qui peuvent fonctionner :

  • Organisez un week-end hackathon dédié à la mise en œuvre de ces fonctionnalités
  • Travaillez directement avec une autre entreprise qui utilise ACE et peut dédier des ressources de développement
  • Retravailler notre matériel promotionnel (comme ace.ajax.org) pour amener cette tâche à plus de globes oculaires

Ce projet souffre peut-être de « l'effet spectateur ». C'est-à-dire que ACE suscite un tel intérêt que quelqu'un supposera que d'autres mettront en œuvre la nouvelle demande de fonctionnalité. La réalité est la suivante : seules quelques personnes contribuent. Bien sûr, nous aimons ces contributions et ces corrections de bugs ! Mais ces contributions ne se sont pas ajoutées au support mobile de bout en bout. Actuellement, seul Android fonctionne bien.

Si tous ceux d'entre vous qui lisez ceci ont des idées, veuillez les apporter ici. Nous ne voulons pas que cette mission meure dans un gémissement silencieux « quelqu'un d'autre s'en occupera ». Nous sommes motivés, nous n'avons tout simplement pas les ressources pour tout faire nous-mêmes. Nous avons donc besoin de votre soutien !

Alors, passons déjà à l'action ! Et si vous souhaitez m'envoyer un e-mail directement pour dédier vos propres développeurs à cet effort, alors s'il vous plaît, faites-le : mon e-mail est [email protected]. Et je suis presque toujours dans #ace sur irc.freenode.net. Allons-y!

Mat

Nous avons fait une analyse du travail requis et sommes arrivés à quelques
conclusions qui ont mis cela plus tard sur notre feuille de route :

  1. La navigation va être délicate
  2. La gestion du DOM est difficile et lente sur mobile
  3. Les claviers à l'écran des tablettes ne sont pas bien configurés pour les tâches de programmation
  4. Le mobile n'était plus aussi nécessaire qu'avant - avec les mac airs et les ultrabooks, un
    beaucoup plus de gens transportent des ordinateurs complets plutôt qu'une tablette et
    un clavier, pour les tâches de programmation

Nous pensions que si nous développions dans cette voie, une application hybride pourrait
être nécessaire pour contourner certains de ces problèmes.
Pouvez-vous me contacter directement pour discuter de la suite à donner ?

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

Le mercredi 3 octobre 2012 à 03h48, Matt [email protected] a écrit :

@emeraldspy https://github.com/emeraldspy J'apprécie l'honnêteté morte
vous prenez avec cette situation. La réalité est : vous avez raison ! Mobile
le support dans ACE est un must. En fait, nous avons fait un appel à la communauté 2 semaines
il y a pour apporter son soutien à cet effort :

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

et la liste des problèmes référencés dans le blog :

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

Réponse? Rien. Alors que chez Cloud9, nous gérons le projet, nous ne pouvons pas
consacrer à cet effort à plein temps. Nous ne pouvons que faire progressivement
améliorations. Alors, que pouvons-nous faire? Que feriez-vous dans cette situation?
Nous espérions qu'en créant une licence plus ouverte, elle recueillerait plus
contributions à l'assistance mobile, mais cela n'a pas encore été fait.

Nous pensons qu'ACE est un projet vraiment spécial et nous voulons beaucoup plus de développeurs
à l'avenir pour bénéficier de ses performances exceptionnelles et sophistiquées
jeu de fonctionnalités. Mais nous ne pouvons pas _forcer_ les autres à simplement contribuer au mobile
Support. Nous avons donc proposé quelques idées qui peuvent fonctionner :

  • Organisez un week-end hackathon dédié à la mise en œuvre de ces fonctionnalités
  • Travaillez directement avec une autre entreprise qui utilise ACE et peut se consacrer au développement
    Ressources
  • Retravailler nos supports promotionnels (comme ace.ajax.org) pour apporter ce
    tâche à plus de globes oculaires

Ce projet souffre peut-être de « l'effet spectateur ». c'est-à-dire là
est un tel niveau d'intérêt pour ACE, que quelqu'un supposera que d'autres
mettra en œuvre la nouvelle demande de fonctionnalité. La réalité est la suivante : seules quelques personnes
contribuer. Bien sûr, nous aimons ces contributions et ces corrections de bugs ! Mais ceux
les contributions ne se sont pas ajoutées au support mobile de bout en bout. Actuellement
seul Android fonctionne bien.

Si tous ceux d'entre vous qui lisez ceci ont des idées, merci de les apporter
ici. Nous ne voulons pas que cette mission meure dans un silence "quelqu'un d'autre
prends-en soin" gémit. Nous sommes motivés, nous n'avons juste pas le
ressources pour faire tout cela nous-mêmes. Alors nous _avons besoin de votre soutien_ !

Alors, passons déjà à l'action ! Et si vous voulez m'envoyer un e-mail directement
à propos de consacrer vos propres développeurs à cet effort, alors s'il vous plaît faites : mon
l'e-mail est [email protected]. Et je suis presque toujours dans #ace sur irc.freenode.net.
Allons-y!

-
Répondez directement à cet e-mail ou consultez-le sur Gi tHubhttps://github.com/ajaxorg/ace/issues/37#issuecomment -9084281.

Merci Steeve ! Je t'ai ajouté sur Skype. Pour tous ceux qui s'intéressent aux résultats de notre conversation (et à toute conversation future que nous aurons avec d'autres désireux de contribuer), nous publierons des mises à jour dans un forum public (prob GitHub).

@mattpardee , assurez-vous de publier toutes les mises à jour. Au nom de l'équipe de codebender, nous étions intéressés à participer à un hackathon comme vous l'avez suggéré dans votre réponse à @emeraldspy

Putain, faisons ça

@tzikis Génial. Nous discutons des options avec Steve, mais un hackathon Google Hangout transnational le week-end semble être le moyen idéal pour y parvenir. Nous examinons les options. Restez à l'écoute!

mise à jour : pour être plus clair sur ce dont nous discutons, Steve a effectué des recherches sur les performances du support mobile et nous examinons les performances d'un client mobile.

Si nous faisons ce hackathon du week-end, je suis obligé de le forger dans les deux prochaines semaines pendant que le fer est chaud. Idéalement, nous nous coordonnerons avec @nightwing et @fjakobs pour fournir des conseils sur les meilleures pratiques. Attendez-vous à en savoir plus à ce sujet bientôt.

J'utilise ACE juste comme surligneur de syntaxe de fichiers XML (lecture seule, pas d'édition).
Tout fonctionne bien sauf le défilement dans les appareils mobiles.

Résoudre ce problème devrait être un début. Le défilement est un gros problème dans ACE en raison du rendu partiel des lignes de code.
Au moins tout le reste fonctionne pour moi dans un appareil iOS (plus ou moins).
Sinon, vous pouvez fournir un moyen de rendre les lignes entières (au moins pour les fichiers petits à moyens)
et essayez de résoudre le problème.

Je suis également ouvert à collaborer dans un hackaton. Faisons-le!

Juste un avertissement. Un hackathon va être un événement non trivial. Va etre un
semaine ou trois au moins selon qui nous pouvons embarquer.
Problèmes à gagner :

  • Simplifier la structure div pour améliorer les performances
  • Afficher le clavier / clavier personnalisé
  • La navigation

Opter éventuellement pour une solution hybride avec un clavier à l'image du
superbe invite iOS pourrait être la meilleure voie à suivre.

Le jeu. 4 octobre 2012 à 21h30, avillegasn [email protected] a écrit :

J'utilise ACE juste comme surligneur de syntaxe de fichiers XML (en lecture seule, non
édition).
Tout fonctionne bien sauf le défilement dans les appareils mobiles.

Résoudre ce problème devrait être un début. Le défilement est un gros problème dans ACE
en raison du rendu partiel des lignes de code.
Au moins tout le reste fonctionne pour moi dans un appareil iOS (plus ou moins).
Sinon, vous pourriez fournir un moyen de rendre les lignes entières (au moins pour
fichiers petits à moyens)
et essayez de résoudre le problème.

Je suis également ouvert à collaborer dans un hackaton. Faisons-le!

-
Répondez directement à cet e-mail ou consultez-le sur Gi tHubhttps://github.com/ajaxorg/ace/issues/37#issuecomment -9141191.

Salut @velniukas.

Nous sommes en train de trouver un lieu à SF pour coordonner le hackathon ; nous estimons à environ 4 semaines à partir de maintenant. Je rassemble des documents d'orientation de @nightwing et @fjakobs et

Jusqu'à présent, nous avons des développeurs de Hong Kong, Amsterdam, Grèce, Arménie et SF intéressés. Nous promouvons donc cette idée en tant que Hackathon international (peut-être le premier du genre ?).

@nightwing a des idées sur la façon dont nous pouvons obtenir une implémentation mobile plus performante qui serait un élément distinct de la façon dont les navigateurs de bureau gèrent le moteur de rendu virtuel. Nous tiendrons tout le monde au courant de ses conseils et fixerons un week-end très bientôt.

Mon équipe de 5 à 7 développeurs est à : SF, Prague, Ukraine, Russie, Inde, Moscou, HK. 4
semaines à partir de maintenant est parfait pour nous. De plus, je vais rassembler le développeur de démarrage local
communauté ici à Hong Kong si nous pouvons obtenir un programme et des tâches approximatives
au moins 2 semaines avant. Peut probablement parrainer l'un des espaces de co-working
pour ça.

Steve
http://10xEngineer.me

Le vendredi 5 octobre 2012 à 00h35, Matt [email protected] a écrit :

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

Nous sommes en train de fixer un lieu à SF pour coordonner le
hackathon; nous estimons à environ 4 semaines à partir de maintenant. je rassemble
documents d'orientation de @nightwing https://github.com/nightwing et
@fjakobs https://github.com/fjakobs et développer un site à promouvoir
ce. Nous poursuivons l'idée de le tenir sur quelques jours. La première
journée dédiée à couvrir autant de fonctionnalités, et la 2ème à apporter
ces changements ensemble en un seul morceau cohérent.

Jusqu'à présent, nous avons des développeurs de Hong Kong, Amsterdam, Grèce, Arménie et
SF intéressé. Nous promouvons donc cette idée en tant que Hackathon international
(peut-être le premier du genre ?).

@nightwing https://github.com/nightwing a des idées sur la façon dont nous pouvons obtenir un
implémentation mobile plus performante qui serait une pièce distincte de
la façon dont les navigateurs de bureau traitent les documents. Nous tiendrons tout le monde au courant
de ses conseils et fixer un week-end très bientôt.

-
Répondez directement à cet e-mail ou consultez-le sur Gi tHubhttps://github.com/ajaxorg/ace/issues/37#issuecomment -9147909.

Fantastique, Steve ! Cela pourrait devenir un événement marquant. Compte tenu des fuseaux horaires, je préférerais commencer très tard le vendredi, tôt le samedi PST et continuer pendant 24 heures. Le site sur lequel je travaille gérera des équipes pour choisir des tâches spécifiques afin que personne ne duplique le travail. Si quelqu'un l'a déjà fait ou a des idées sur la façon dont cela peut se passer le mieux, faites-le moi savoir.

Pour info, je suis toujours en train de mettre les détails de cet événement ensemble. Fixer les dates, réunir un lieu, envoyer des e-mails aux équipes potentielles et créer le site Web. Quand j'aurai des informations plus intéressantes, je posterai ici. J'ai hâte que cela se produise !

Ce serait génial. Actuellement, je dois utiliser codemirror pour les besoins mobiles. J'adorerais utiliser ace pour tous les besoins.

OK tout le monde regarde ce problème. Nous avons un premier pas dans la bonne direction avec le support iOS _scrolling_. Avant de tester le lien ci-dessous, il y a quelques ordres de fonctionnement et mises en garde à connaître :

  1. Attendez que le fichier entier se charge
  2. Une fois le fichier chargé, cochez la case "Mode mobile" tout en bas à gauche
  3. Ne changez pas d'orientation.
  4. Démarrer le défilement
  5. J'ai testé cela sur iPad v1 et iPhone 5. L'iPhone a fonctionné avec brio, mais l'iPad 1 était assez terrible. Plus à ce sujet dans une seconde.

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

Comment cela a été réalisé

  • J'ai créé un div qui recouvre l'éditeur avec le CSS suivant :
#scroll_div {
     -webkit-overflow-scrolling: touch;
     overflow-y: scroll;
     pointer-events: none;
}

La règle 1 est requise pour un défilement tactile fluide et la règle 3 consiste à permettre à la superposition de s'asseoir sur le dessus mais de ne recevoir aucun des événements que nous souhaitons envoyer aux éléments ci-dessous. Cela laisse la possibilité de mettre en place une prise en charge précise de la frappe à l'avenir.

  • Construit un algorithme d'inertie personnalisé. Il s'agit de l'algorithme le plus simple que j'ai pu concevoir et qui se soit "assez proche" de ce que iOS fait nativement. Il itère simplement sur un intervalle de 24 ms et diminue la vitesse de 94,9 % pour chaque intervalle. La vitesse initiale est définie en fonction de la distance en pixels entre la dernière touche et l'avant-dernière touche (le calcul mathématique pourrait probablement être amélioré en incorporant également la quantité de ms entre les deux dernières touches).
  • Chaque fois que la position la plus récente de l'intervalle change, la superposition tactile est également mise à jour. C'est ainsi que l'algorithme personnalisé a la priorité sur l'algorithme iOS et que les divs ne se désynchronisent pas.

Influences

Joe Hewitt a largement exploré ces mêmes idées au cours de son travail de défilement, comme blogué ici : http://joehewitt.com/2011/10/05/fast-animation-with-ios-webkit

Pourquoi n'ai-je pas utilisé le défilement en premier lieu ? Ace dépend d'une fenêtre virtuelle et Joe a fini par utiliser des animations Webkit. Les deux ne sont pas compatibles. Je dois définir la position "scrollTop" d'Ace qui doit ensuite mettre à jour le moteur de rendu virtuel pour modifier la position. J'aurais pu pirater le code de Joe dans la div déroulante, puis appliquer les résultats de ses transformations 3D à la couche Ace, mais hein -- l'aventure était plus amusante :-)

Futur

Comme indiqué, c'est juste pour le défilement. Nous avons toujours besoin d'une prise en charge précise de la saisie.

Pour les appareils iOS plus modernes capables de gérer la vitesse, cette approche fonctionne remarquablement bien. Mais il y a certainement des optimisations qui peuvent être faites. Nous continuerons à explorer les options sur l'ancien et le nouveau matériel.

Puisqu'il ne s'agit que d'une démo et ne fait pas partie de la base de code principale d'Ace, la prochaine étape consiste à la mettre dans le noyau.

J'ai hâte d'avoir l'expérience de vos gars sur différents appareils et des commentaires sur la façon dont cela peut être amélioré. Salut ~

Salut Matt,

Super heureux de signaler que c'est beaucoup plus stable sur mon iPad4 aujourd'hui qu'hier. Bon travail! Je l'ai également testé sur mon Samsung Galaxy Nexus sous Android 4.2 et il a l'air bien. (Veuillez ne pas créer une solution uniquement pour iOS.) L'insertion de texte a également fonctionné parfaitement sur Android, tandis que mon iPad avait un problème étrange de double curseur (mais je pouvais toujours taper.)

@mattpardee C'est incroyable !

Malheureusement, il semble que la prise en charge des navigateurs Android (Android v4.1.1) et Chrome Mobile (v18.0, novembre 2012) soit complètement interrompue pour moi. Ces navigateurs avaient des problèmes mineurs auparavant, mais maintenant je reçois juste un gros div blanc à la place de Ace.

Impressionnant!!

@lennartcl quel appareil utilisez-vous ? Et cela ne se produit que lorsque vous cochez l'option Mode mobile ?

@mattpardee C'est sur le Galaxy S3 et cela s'est produit quelle que soit l'option mobile. Mais j'ai en fait réessayé aujourd'hui, et maintenant cela semble fonctionner comme avant dans les deux navigateurs.

Super! Maintenant, je peux continuer à dominer le monde.

J'essayais juste un évier de cuisine de master sur iOS Simulator avec ipad iOS v5 et il ne semble pas commencer à éditer.

Lorsque je frappais l'évier de la cuisine du site en direct avec mon ipad 3 iOS 5.1, il a été modifié, mais j'ai toujours essayé de mettre les lettres en majuscule. On dirait qu'il est en permanence dans un mode de sélection avec les boutons de copie bleus de démarrage et d'arrêt.

Ce dernier code est-il dans le maître ou devrions-nous examiner une branche ou une demande d'extraction ?

Salut Jeff,

Découvrez la branche fonctionnalité/ioscroll.

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

Cela devrait au moins permettre le défilement dans l'éditeur (et vous n'avez pas besoin de sélectionner d'options pour l'activer).

@mattpardee Oui, cela a permis le défilement dans le simulateur iOS, mais je n'ai pas trouvé de moyen d'afficher l'éditeur pour permettre l'édition. Je suppose que c'est toujours en cours?

Oui, toujours en préparation, même si je ne sais pas si j'ai la capacité de le faire fonctionner moi-même. Certains d'entre eux sont liés à des événements tactiles pour invoquer le focus ou le flou sur la zone de texte sous-jacente, mais la majorité du travail acharné consisterait à mettre à jour le gestionnaire de curseur. La distance du décalage du curseur par rapport à sa véritable position d'édition s'accumule vers la fin de la ligne, il y a donc quelque chose de basique dans les mathématiques qu'il fait.

En espérant que quelqu'un soit à la hauteur du défi !

d'accord. Merci pour la mise à jour.

Existe-t-il au moins un moyen de détecter si le navigateur a les exigences minimales pour exécuter ACE le navigateur afin que je puisse revenir à textarea?

@jfromaniello vous pouvez utiliser Modernizr

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

@faceleg oui, mais de quelles fonctionnalités ACE a-t-il besoin. Par exemple, iOS a beaucoup de fonctionnalités mais le clavier à l'écran ne s'affiche pas.

Une mise à jour sur la position du curseur ? Le défilement a l'air bien.

Quelqu'un y travaille-t-il encore activement ?

@MarkMurphy Pour être honnête, je ne pense pas. Voir le commentaire de @mattpardee ci-dessus pour le dernier état.

Concernant le défilement, qu'en est-il de l'inverse ?
Comme créer un div assez grand tel que height: 10000px; et le déplacer dans un autre div plus petit. Ce n'est pas parfait, même si le défilement natif serait de loin préférable à l'utilisation de ressources supplémentaires pour l'émuler. Voir le blog de Dylan "Making Ace Editor Fill the Available Space"

Au moins, nous savons maintenant à quoi devrait ressembler et se comporter le clavier virtuel : http://www.textasticapp.com/

Juste curieux : quel était le statut de ceci ? Est-ce toujours un problème non résolu pour iOS ?

Si quelqu'un est motivé pour travailler là-dessus, j'ai un indice et une solution de contournement possible. Le problème semble être que le clavier ne s'affiche pas lorsque la zone de texte ace est sélectionnée au toucher. Cependant, il apparaît lorsque la zone de texte fait partie d'un formulaire et qu'elle est sélectionnée à l'aide des boutons "Suivant" ... "Précédent" fournis par iOS. Je pense...

J'ai remarqué cela il y a quelque temps mais je n'ai pas trouvé le temps de le vérifier. Alors YMMV.

ma page a une sélection pour changer le mode de langue de l'éditeur.

lors du premier chargement de la page, le mot clé logiciel ne se déclenche pas lorsque je touche l'éditeur,
MAIS, après avoir changé manuellement la langue à partir de la sélection, puis appuyez sur l'éditeur pour déclencher le clavier.

espérons que cela aidera.

Bug en aval pour l'utilisation d'Ace par Wikipedia pour éditer les modules de code de modèle : https://bugzilla.wikimedia.org/show_bug.cgi?id=55345

Comme solution de contournement, nous pouvons mettre Ace sur liste noire sur iOS et utiliser une zone de texte simple pour le moment.

CodeAcademy.com utilise Ace et ils l'ont entièrement fonctionnel sur iPad, avec des sélections. Je peux me renseigner là-dessus.

des nouvelles à ce sujet?

Ce bogue casse également Cloud9 IDE sur iOS . :+1: pour que ce problème reçoive un peu d'attention !

salut les gars, y a-t-il quelqu'un?

+1 a également un problème avec l'éditeur sur ipad

+1 — Nous utilisons le mode Markdown pour l'éditeur et copier/coller est une grande chose qui manque à Ace dans iOS.

Impossible d'utiliser c9.io à cause de ce bogue. La démo de l'évier de cuisine ne défilera pas non plus (http://ace.c9.io/build/kitchen-sink.html). Se produit sur ipad et mon Android Transformer (ce qui est génial pour les besoins de développement légers).

Pour mon application Web, j'avais l'habitude d'utiliser CodeMirror. Cependant, je suis récemment passé à l'as en raison de l'abondance de modes et de fonctionnalités. Le manque de support mobile me fait reconsidérer mon choix.

Des progrès ont-ils été réalisés pour permettre le défilement sur les appareils mobiles ? Cela ne fonctionne sur aucun appareil iOS ou Android que j'ai essayé.

@mkaminsky11 +1. Je décide également entre CodeMirror ou Ace, et le support iOS est ce qui me retient.

Comme l'a dit @jakesankey , codeacademy.com utilise as. J'ai essayé de parcourir le code pour voir comment il fonctionnait avec les appareils mobiles, mais en vain. Est-ce que les contacter et demander de l'aide serait une solution viable ?

Nous servons Orion sur mobile chez Codecademy.

C'est réglé maintenant ?

Cela fonctionne très bien sur mon Asus Transformer, si je "Demande une version de bureau". Dommage que le navigateur ne se souvienne pas de ces paramètres.

+1

Salut, juste pour référence, j'utilise ace pour mon projet. Le problème du clavier virtuel est gênant et je finis par faire de l'éditeur une taille de contenu. Il peut y avoir un problème de performances.

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

C'est toujours un problème, vu sur http://3v4l.org/

Ce problème bloque également PlayCanvas.com (iPad Air iOS 8), ce qui est dommage car le reste si l'éditeur prend entièrement en charge l'iPad, et dans l'ensemble, c'est une vitrine assez folle de ce que peut être HTML5 !

+1. étudie actuellement une solution de contournement impliquant la création manuelle de boutons de défilement, pour s'asseoir à côté de l'éditeur, en utilisant scrollBy http://ace.c9.io/#nav =api&api=virtual_renderer

+1 pour les problèmes de défilement.

+1 pour les problèmes de défilement

+1 pour les problèmes de défilement.

+1 pour les problèmes de défilement.

Bonjour les gars, je ne suis pas assez bon / patient pour réparer l'éditeur lui-même, car le concept du toucher par rapport à la souris est différent. Mais avec le script ci-dessous, vous pouvez faire défiler l'éditeur ACE sur les appareils tactiles (IOS / Android). Il suffit de le mettre dans la section de configuration de l'éditeur (où l'éditeur est déclaré et les options sont ajoutées).

http://pastebin.com/1Rh7UDea

@ iq77 Qu'est-ce que ce code est censé faire ? Je l'essaie et jusqu'à présent, cela ne fait aucune différence? Je fais partie de ceux qui aimeraient vraiment que cela fonctionne normalement sur les appareils tactiles...

@tluyben sur "touchstart", il enregistre les coordonnées x/y de l'événement tactile. On "touchmove" calcule la différence entre le début et la fin, puis passe les valeurs x/y au "renderer" d'ACE. Le moteur de rendu fait le défilement. Cela fonctionne sur mon script, mais peut-être devrez-vous adapter certains noms de classes, etc. à vos propres besoins. Il y a aussi du jQuery là-dedans, vous devrez peut-être le remplacer.

C'est un excellent fil de discussion, mais j'ai eu du mal à dire (a) quelle est la nature du "problème de défilement", (b) quels périphériques/versions de système d'exploitation sont affectés et (c) quelles solutions de contournement sont disponibles. Si quelqu'un était prêt à résumer où ils en sont, ce serait superbe.

Je viens de tester l'évier de cuisine sur [iPad Air 2 sous iOS 8 et Safari 8] et [Nexus 10 sous Android 5.1 et Chrome 40], et j'ai pu faire défiler à la fois horizontalement et verticalement (en paysage ; je n'ai pas testé avec des appareils en orientation portrait). Étapes à reproduire :
1) Accédez à http://ace.c9.io/build/kitchen-sink.html
2) Ajoutez un tas de lignes (les lignes vierges fonctionnent bien) dans le volet de l'éditeur jusqu'à ce qu'il y ait plus de lignes que ce qui peut en contenir à l'écran.
3) Si nécessaire, effectuez un zoom arrière pour afficher le navigateur complet. (La modification du contenu du volet de l'éditeur peut automatiquement vous zoomer, ce qui rend difficile de savoir si vous faites défiler le volet ou si vous déplacez simplement la vue agrandie.)
4) Balayez vers le haut/bas sur le bord droit du volet de l'éditeur. Aucune barre de défilement n'apparaîtra, mais le contenu du volet de l'éditeur doit défiler comme prévu.
5) Pour tester hscroll, créez une longue chaîne de caractères plus large que ce qui peut tenir à l'écran ; effectuer un zoom arrière si nécessaire ; balayez vers la gauche/droite sur le bord inférieur du volet de l'éditeur. Je vois une barre de défilement s'estomper sur Android, mais pas de barre de défilement sur iOS... mais le hscrolling fonctionne sur les deux, quoi qu'il en soit.

J'ai recherché à travers les problèmes et d'après ce que je peux trouver, c'est le fil conducteur définitif « tout ce qui touche au toucher ». Corrigez-moi si je me trompe et je continuerai à creuser / déposer un nouveau problème.

iOS touch est apparemment incapable d'afficher le menu contextuel dans un contexte Ace (ce qui est important, cela permet de couper + coller). Normalement, cela peut être déclenché en appuyant sur le curseur, mais Ace remplace ce comportement pour faire avancer le curseur d'un caractère à la place.

@barneycarroll , cela semble être le fil conducteur lié au toucher. J'ai travaillé récemment pour essayer d'obtenir au moins une prise en charge tactile pour le défilement. À l'heure actuelle, vous pouvez faire défiler si vous faites défiler uniquement la zone de droite à l'extrême droite ou en bas de l'espace d'affichage de l'éditeur (là où se trouvent les barres de défilement). Mais ce n'est pas une solution viable.

Je pense que je suis sur quelque chose avec la mise en œuvre d'un support tactile, je le fais fonctionner sur le simulateur iOS. Consultez le fork (https://github.com/AStoker/ace), vous devez actuellement le construire pour compiler (car c'est le code source), mais si vous suivez les instructions de construction dans le domaine, c'est du gâteau. J'aimerais beaucoup d'aide pour toute amélioration, car il ne semble pas que le support tactile soit une priorité élevée en ce moment (mais c'est l'avantage de l'open source, nous pouvons le réparer nous-mêmes). Si tout se passe bien, je ferai une pull request pour le faire implémenter.

+1 pour copier/coller dans iOS. Le problème est la gestion du curseur personnalisé ? Quel serait un plan d'attaque pour résoudre ce problème ?

La version bêta publique de l'iPhone 6 plus ios 9.2 semble bien fonctionner maintenant avec ace. Le défilement fonctionne et l'édition fonctionne comme si vous étiez sur un ordinateur.

A juste besoin d'améliorations dans le copier-coller.

Il est possible de coller et copier mais très difficile à faire.

http://www.apus.com
Le 19 novembre 2015 à 10h52, "paladox" [email protected] a écrit :

La version bêta publique de l'iPhone 6 plus ios 9.2 semble bien fonctionner maintenant avec ace.
Le défilement fonctionne et l'édition fonctionne comme si vous étiez sur un ordinateur.

A juste besoin d'améliorations dans le copier-coller.

Il est possible de coller et copier mais très difficile à faire.

-
Répondez directement à cet e-mail ou consultez-le sur GitHub.

J'ai des problèmes avec les touches fléchées de mon clavier IPad. Le clavier fonctionne bien dans tous les environnements, mais si je me connecte à mon serveur cloud 9 et que je commence à programmer, les touches fléchées sont ignorées. Puis-je les ajouter quelque part ou comment résoudre ce problème ? J'ai besoin de la flèche très souvent pendant le codage.

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

Fait l'affaire dans iOS. Je n'arrive pas à faire fonctionner la mise en évidence de la syntaxe assembly_x86.

Où dois-je inclure ce code ? Je pensais que cela devait être dans le user.settings mais là, il n'y a pas de parties HTML

HTML dans une WebView.

Impossible de le faire fonctionner dans un UIWebView 👎 Il démarre bien, mais dès que j'essaie de déplacer le curseur, tout échoue. Je ne peux pas écrire, ou avec la solution @jcss-org-il ( <div id="editor" class="page-content" contenteditable="true"></div> ) le curseur se déplace en dehors de l'éditeur.

Quelqu'un peut-il m'aider à résoudre un mystère ? L'éditeur de code en ligne GitHub, prétendument basé sur Ace (https://github.com/blog/905-edit-like-an-ace), est incroyable. Il fonctionne parfaitement sur l'iPad, y compris avec un clavier Bluetooth, les touches fléchées fonctionnent (y compris Ctrl-flèche gauche, Alt-flèche gauche, etc.) et les performances sont excellentes, etc.

Voici une capture d'écran d'une session d'édition iPad du fichier README.md de ce référentiel : (https://github.com/ajaxorg/ace/edit/master/Readme.md)

img_0819

Et pourtant, tout le monde sur ce fil (moi y compris), ne peut pas faire fonctionner Ace sur un iPad sans problème (par exemple, les touches fléchées ne fonctionnent pas). (J'ai les mêmes problèmes que ceux signalés ici : https://github.com/ajaxorg/ace/issues/37#issuecomment-195258878)

GitHub exécute-t-il une version personnalisée d'Ace ? Cette version est-elle accessible au public ? J'adorerais exécuter tout ce qu'ils exécutent ! (Capture d'écran de l'inspecteur DOM confirmant qu'il semble exécuter Ace en bas.)

Merci beaucoup!
g

editing_ace_readme_md_at_master_ _ajaxorg_ace

@realgenekim à partir de la capture d'écran, il semble que github utilise une zone de texte sur ipad

@nightwing Théorie fascinante ! Mais, si vous regardez le contrôle de l'éditeur, il y a des numéros de ligne, des capacités de type Ace qui semblent ne pas être simplement une zone de texte HTML standard, comme la largeur de tabulation, l'habillage du texte...

En y regardant de plus près, je suis presque sûr que c'est quelque chose de plus exotique que textarea !

Les numéros de ligne

@nightwing vache sacrée. C'est tellement intriguant - je pense que vous avez tout à fait raison. Je vais essayer d'obtenir une confirmation de quelqu'un chez GitHub...

Je pense que cela signifie que je vais essayer de faire la même chose. C'est-à-dire, détectez au moment de l'exécution s'il s'agit d'un iPad, et ne chargez pas l'éditeur Ace, et utilisez simplement une zone de texte.

Tellement insatisfaisant, mais au moins il sera utilisable jusqu'à ce que quelqu'un propose une bonne solution iPad...

??

Je viens de tester ceci sur mon iPad pro et il montre essentiellement un textarea . Peut-être avec la croissance automatique.

Est-ce quelque chose d'intelligent comme une zone de texte avec une opacité 0 et une instance d'éditeur d'as positionnée immédiatement derrière ? J'imagine qu'avec les performances de l'iPad moderne, il serait possible de conserver l'état (défilement interne et contenu) presque instantanément sur chaque événement d'entrée…

@barneycarroll Non, au moins dans mes tests,

Salut les gars! Je viens de créer une pull request qui résout certains des problèmes sur iOS. Il offre une expérience utilisateur agréable, si vous avez un clavier externe.

Si vous l'aimez, je pourrais penser à résoudre les problèmes restants :)

Vous pouvez le voir en action sur https://ipad-undo.gomix.me

Profitez!

J'utilise simplement votre démo et je vois un problème avec le point d'insertion. Créez une paire de guillemets, par exemple, placez le curseur entre eux et commencez à taper. Il saute aléatoirement à la fin de la ligne. Je ne sais pas si ce changement introduit ce problème ou s'il était là au départ.

Oh, merci @IamNaN , ce bug a été signalé dans le PR en ce moment :) Je pense que je sais comment le corriger... restez à l'écoute de la démo :)

EDIT : démo corrigée :)

@etamponi C'est génial ! Fonctionne-t-il avec :

  1. Branchez-vous comme vim et emac ?
  2. Prise en charge IME avec CKJ?

Actuellement, il semble que cela ne fonctionne pas lorsque vous activez IME.

@episodeyang Je suis vraiment désolé de vous avoir laissé en attente à ce sujet.

Malheureusement, je n'ai pas eu le temps de continuer à travailler sur les relations publiques... Heureusement, quelqu'un d'autre a repris mon travail et l'a terminé, maintenant il est fusionné sous le nom #3310 si je me souviens bien :)

vim n'était déjà pas pris en charge sur iOS et le PR n'en ajoute pas la prise en charge. Je ne connais pas assez l'IME pour savoir avec certitude si mes relations publiques l'ont affecté de quelque manière que ce soit, désolé !

Placer le curseur au milieu d'un mot via un robinet semble être aléatoire (iOS 11.2, Safari) sur la démo fournie par

Actuellement, ace fonctionne assez bien sur IOS pour résoudre ce problème de compatibilité de base. Si vous voyez des bugs ou des fonctionnalités manquantes, veuillez ouvrir un nouveau numéro.

Cette page vous a été utile?
0 / 5 - 0 notes