Chaussures 4: La prochaine version des chaussures
Les chaussures sont un peu DSL pour la programmation de GUI multiplateforme (Mac, Windows et Linux). Cela ressemble à un vrai rubis, plutôt qu'à un autre wrapper de bibliothèque C ++. Pour certains échantillons, le manuel et un livre gratuit, consultez le site Web des chaussures.
Vous voulez voir à quoi ressemble les chaussures? Eh bien, c'est parti! Étant donné le script:
Shoes . app width : 300 , height : 200 do
background lime .. blue
stack do
para "Welcome to the world of Shoes!"
button "Click me" do alert "Nice click!" end
image "http://shoesrb.com/img/shoes-icon.png" ,
margin_top : 20 , margin_left : 10
end
endIl en résulte l'application suivante:
L'aspect et la sensation diffèrent pour votre système d'exploitation, car les chaussures 4 utilisent des widgets natifs.
Bien à l'époque, il y avait un gars nommé _Why. Il a créé un projet connu sous le nom de Hackety Hack pour enseigner la programmation à tout le monde. Afin d'atteindre tous les coins de la Terre, _Why a décidé de faire fonctionner Hackety Hack sur Windows, Mac OS X et Linux. C'était beaucoup de travail, et donc _Why a décidé de partager sa boîte à outils avec le monde. Ainsi, Shoes est née.
Salut, merci d'avoir vérifié! Shoes 4 est dans l'étape de prévisualisation. Il prend actuellement en charge presque toutes les chaussures DSL, mais il y a encore des endroits non pris en charge et des problèmes connus. Nous publions maintenant régulièrement des versions d'aperçu mises à jour vers RubyGems, pour une installation facile. Si vous n'êtes pas trop aventureux, vous pouvez toujours utiliser les vieilles chaussures!
Il existe deux façons de mettre la main sur les chaussures 4 - la version de prévisualisation GEM et de l'installer directement à partir de GitHub. Pour les deux, vous avez besoin d'une installation JRuBy actuelle.
Nous vous recommandons d'utiliser JRuby 9.x +, avec la majorité de nos tests actuellement contre 9.1. JRUBY 1.7.x peut fonctionner, mais n'a pas été testé depuis 4.0.0.pre6.
Votre première étape consiste donc à installer un JDK (les chaussures fonctionnent également avec OpenJDK) et JRuby. Assurez-vous de saisir la version JRuby appropriée pour votre système d'exploitation. Sur Linux / Mac, vous pouvez également utiliser des outils d'installation Ruby pour installer JRuby. Par exemple RVM:
$ rvm install jruby
Version JDK Remarque: JRuby version 9 nécessite une version JDK de 7 ou 8 - JDK 9 ne fonctionne pas encore avec JRuby et donc pas avec des chaussures. Dans la version principale JDK, assurez-vous que les dernières mises à jour ont été installées, nous avions des cas où les versions plus récentes ont résolu les bogues.
Exigence SWT: sachez que les chaussures 4 s'appuient sur SWT pour son backend par défaut. Ce n'est généralement pas une préoccupation (autre que la nécessité de JRuBy / JDK, décrite ci-dessus) car vous n'avez pas à installer SWT vous-même. Cependant, cela signifie que nous avons les mêmes exigences de base du système SWT. Pour Linux, cela signifie que vous avez besoin de GTK +> = 2.10 ou> = 3.0 si vous le souhaitez. De plus, à ce jour, il n'y a pas de support de bras (comme le framboise PI aurait besoin).
$ gem install shoes --pre
C:tmp> jruby -S gem install shoes --pre
Si vous souhaitez être sur le bord de saignement ou si vous souhaitez contribuer du code, vous devez l'installer directement à partir du référentiel GitHub.
Fourk le référentiel et cloner votre fourchette, ou
$ git clone git://github.com/shoes/shoes4.git
Configurez votre environnement local
$ cd shoes4
$ gem install bundler && bundle install
Remarque: Si vous avez RVM, RBENV ou quelque chose comme celui installé, il pourrait vous plaindre que vous devriez utiliser JRuBy Version XX. C'est parce que nous maintenons nos fichiers .Ruby-Version à jour. Vous devriez pouvoir l'exécuter avec une version JRuby> = 9.0.0.0 Nous recommandons des versions à jour cependant.
Fourk le référentiel et cloner votre fourchette, ou
C:tmp> git clone git://github.com/shoes/shoes4.git
Configurez votre environnement local
C:tmp>cd shoes4
C:tmpshoes4>jruby -S gem install bundler
C:tmpshoes4>jruby -S bundle install
Vous êtes prêt à partir!
Les chaussures 4 sont livrées avec un coureur d'application de ligne de commande. Passez-le simplement le nom de fichier de votre application de chaussures.
$ bin/shoes samples/simple_sound.rb
Remarque: Pour Windows, C:tmpshoes4>binshoes samplessimple_sound.rb Si vous avez installé des chaussures 4 en tant que gem, faites simplement C:tmp> shoes pathtofile.rb
Il existe également un simple script de démarrage Ruby lorsque vous utilisez le backend SWT que vous pouvez utiliser comme suit:
$ bin/shoes-swt samples/simple_sound.rb
Cela ne fonctionne pas encore sur Mac car JRuby (le JVM) a besoin de quelques paramètres supplémentaires. Ici, vous pouvez simplement faire ce qui suit (ce qui est essentiellement ce que fait Bin / Shoes):
$ jruby -J-XstartOnFirstThread bin/shoes-swt samples/simple_sound.rb
Une autre alternative encore est de mettre require 'shoes' en haut de vos applications, alors vous pouvez simplement faire
$ jruby path/to/file.rb
Sur OS X, vous devez toujours fournir les paramètres supplémentaires à JRuby
$ jruby -J-XstartOnFirstThread path/to/file.rb
Vous pouvez exécuter rake samples et des échantillons aléatoires qui, selon nous, seront exécutés jusqu'à ce que vous quittez CTR + C. Certains d'entre eux sont vraiment simples, tandis que d'autres sont plus complexes ou même des jeux! Si vous remarquez un problème avec ces échantillons, veuillez nous le faire savoir!
En définissant la variable d'environnement SHOES_USE_INSTALLED sur true, vous pouvez également utiliser votre version installée de chaussures (commande shoes ) pour exécuter les échantillons au lieu du bin/shoes local.
L'emballage n'est qu'un bébé, alors soyez doux.
Afin d'emballer une application, vous devez faire installer le gemme de chaussures dans votre environnement. Si vous n'avez pas fait l'installation de gemmes, vous pouvez toujours générer un gemme et l'installer à partir de la source actuelle:
$ rake install:all
Maintenant, vous pouvez emballer une application. Mais d'abord, regardez ici:
.gemspec ou un Gemfile . Il utilise une paruliste, qui recherche toujours ces fichiers. Si vous exécutez les spécifications, vous remarquerez peut-être certains avertissements comme ceci:AVERTISSEMENT: les composants de «chemin» de bundler ne sont pas actuellement pris en charge. Le composant `chaussures-4.0.0.pre1 'n'était pas regroupé. Votre application peut ne pas démarrer!
C'est la paruliste qui parle. En fait, nous faufilons les chaussures de toute façon, mais ne le dites pas.
D'accord, maintenant pour de vrai. La chose la plus simple est de mettre votre script dans un répertoire par lui-même, puis:
$ bin/shoes package --mac path/to/directory-of/your-shoes-app.rb
Cela produira une application Mac, que vous pouvez ensuite trouver sur path/to/directory-of/pkg/your-shoes-app.app .
Vous pouvez également emballer une application de chaussures comme un pot à travers:
$ bin/shoes package --jar path/to/directory-of/your-shoes-app.rb
Vous pouvez trouver le pot dans le même répertoire que ci-dessus, c'est-à-dire Path / To / Directory-of / pkg / your-shoes-app.jar
Si vous voulez plus de contrôle (comme vous voulez nommer votre application, quelque chose en plus "Application Shoes", ou si vous ne souhaitez pas inclure tous ces fichiers dont nous avons parlé auparavant), créez un fichier app.yaml . Voir l'exemple pour plus de détails.
Remarque: Si vous utilisez une app.yaml , vous devrez personnaliser ou commenter chaque option. L'exemple n'est qu'un exemple;)
Lorsque vous avez un fichier app.yaml juste à côté de votre script, vous avez trois options:
$ bin/shoes package --mac path/to/directory-of/your-shoes-app.rb
$ bin/shoes package --mac path/to/directory-of/app.yaml
$ bin/shoes package --mac path/to/directory-of
Le Packager trouvera vos instructions en utilisant l'une de ces commandes. Encore une fois, vous trouverez votre application dans le répertoire pkg dans le répertoire de votre projet. En savoir plus sur bin/shoes --help .
Oh, et vous pouvez également exécuter vos applications de chaussures avec bin/shoes .
C'est génial, merci!
Vous pouvez aller de l'avant pour résoudre l'un de nos problèmes. Nous avons introduit une nouvelle étiquette «Newcomer Friendly» pour les problèmes qui, selon nous, sont adaptés pour commencer avec les chaussures qui contribuent. Ces problèmes sont relativement faciles à réaliser ou ne dépendent pas de nombreux autres codes de chaussures (par exemple, des fonctionnalités complètement nouvelles) afin qu'il soit plus facile de commencer. N'hésitez pas à résoudre tout problème - nous vous aiderons si nécessaire. La balise n'est qu'une suggestion! =)
Il existe également une liste d'échantillons qui fonctionnent déjà chez des échantillons / Readme, ainsi que tous les autres échantillons. Vous pouvez essayer d'obtenir un nouvel échantillon à exécuter. Pour ce faire, vous pouvez exécuter rake non_samples pour exécuter un échantillon aléatoire, nous pensons ne pas fonctionner. Si vous souhaitez simplement répertorier les échantillons non fonctionnels, vous pouvez également exécuter rake list_non_samples .
Avec tout ce que vous faites, assurez-vous d'écrire des spécifications car les chaussures 4 sont développées de style TDD (voir la section des spécifications en cours d'exécution ci-dessous). Alors assurez-vous de ne pas casser les tests :-)
Si vous ne vous sentez pas sûr de tester ou de votre implémentation, ouvrez simplement un problème ou une demande de traction. Les demandes de tirage n'ont pas besoin d'être faites - ce sont de grands démarreurs de discussion! Nous sommes heureux de vous aider à préparer votre contribution à être fusionnée afin d'aider à construire des chaussures 4!
En fait, nous apprécions grandement les demandes de traction précoces pour consulter le code et vous aider à trouver votre chemin autour des chaussures 4! =)
Si vous avez des questions, n'hésitez pas à passer sur la chaîne #shoes sur Freenode IRC. Les gens pourraient ne pas répondre instantanément, mais après un certain temps, quelqu'un répondra :-)
C'est parfois aussi un bon moyen de refacter un code ou d'écrire des spécifications afin de se familiariser avec un projet. Si vous souhaitez essayer cette approche, vous pouvez jeter un œil à notre climat de code pour trouver des candidats à la refactorisation ou après avoir exécuté les spécifications localement, prenez un pic dans le répertoire de couverture et ouvrez index.html - il vous montre nos données de couverture actuelles. Vous voyez quelque chose qui n'est pas couvert et peut-être pouvez-vous écrire une spécification pour cela?
Reportez-vous à la section suivante pour plus d'informations sur la façon d'exécuter les spécifications, qui ont été mentionnées précédemment :-)
Les chaussures 4 sont développées dans un style TDD en utilisant RSPEC. Vous devriez écrire et exécuter les spécifications :)
La façon la plus simple de le faire est avec les tâches de râteau.
$ bundle exec rake
(Essayez rake --tasks pour une liste complète)
Si vous voulez plus de détails sur d'autres modes pour exécuter des spécifications, la philosophie sur la façon et ce qu'il faut tester, consultez l'entrée de chaussures de test dans le wiki.
Bien à l'époque, il y avait un gars nommé _Why. Il a créé un projet connu sous le nom de Hackety Hack pour enseigner la programmation à tout le monde. Afin d'atteindre tous les coins de la Terre, _Why a décidé de faire fonctionner Hackety Hack sur Windows, Mac OS X et Linux. C'était beaucoup de travail, et donc _Why a décidé de partager sa boîte à outils avec le monde. Ainsi, Shoes est née.
Shoes est née pour enseigner la programmation à tout le monde, dans tous les coins de la terre. Ce n'est pas cool de faire en sorte que de nouveaux programmeurs ou programmeurs avec un mauvais anglais ne se sentent pas mal parce qu'ils n'écrivent pas très bien Ruby / English. Et clairement, tous les autres commentaires antisociaux destinés à la religion, à l'ethnicité, à la race, à l'identité de genre ou à tout ce qui ne sera pas toléré ici dans le pays de Chunky-Bacon! Si les membres de la communauté ont l'impression que vos commentaires sont hors ligne dans n'importe quel espace de projet (code, problèmes, salles de chat, listes de diffusion), ils vous feront bien savoir comment améliorer notre code de conduite.
Le résultat est: amusez-vous avec des chaussures!
Si vous voulez vous tenir au courant de ce qui se passe avec des chaussures, vous pouvez nous trouver à divers endroits:
Vous voulez contacter la communauté des chaussures? C'est super! Vous pouvez entrer en contact ici:
Cependant, nous essayons de garder la plupart des discussions sur le développement de ce référentiel / ses problèmes afin que tout le monde puisse les voir et les rechercher.