web-dev-qa-db-fra.com

Peut-on utiliser Ruby on Rails pour développer une application mobile?

Depuis Rails utilise l’architecture MVC. Je me demandais si nous pouvions utiliser Rails pour développer une application mobile ou une application Web.
Hors de MVC, les «M» et «C» ne changeront pas pour développer l'application mobile, n'est-ce pas?
Je veux dire que les modèles et les contrôleurs resteront le serveur Web.
Seule la partie vue doit être modifiée de telle sorte que, plutôt que d'utiliser des fichiers html.erb, je souhaite utiliser Java ou Android sdk ou autre, pour fournir l'interface utilisateur à l'utilisateur mobile. 

Certains peuvent-ils m'éclairer sur cette perspective. J'ai aussi entendu parler de Jrbuy. Cela a-t-il une incidence sur nos exigences en matière de développement d'applications mobiles. ?

30
Hemanth

La réponse à cette question dépendra de la manière dont vous souhaitez déployer cette application. Voulez-vous qu'il fonctionne complètement sur le téléphone ou peut-il s'agir d'une application Web déguisée en application pour iPhone/Android?

Pour la solution d'application native, consultez le Rhodes Framework . Ce n'est pas RoR mais vous verrez que c'est un framework MVC qui semble similaire. Cela vous permettra de créer des applications natives pour iPhone et Android à l'aide de Ruby.

Pour la deuxième option, une application Web déguisée en application mobile, je recommanderais Sencha Touch . Sencha a fait un travail incroyable en imitant l'apparence des applications natives pour iPhone/Android avec leur bibliothèque Javascript. Avec cette solution, ce serait comme n'importe quelle autre application Web, même si elle est ciblée pour Android et iPhone via son interface utilisateur.

24
rwilliams

J'ai créé un exemple d'application Rails/ember.js exportée avec Phonegap. Il utilise uniquement l'architecture MVC habituelle d'un Rails et d'une application Ember.js. Peut-être que vous le trouverez utile. Il implémente également l'authentification par jeton basée sur ember-auth et plusieurs stratégies OAuth.

Actuellement dans la branche de développement: https://github.com/joscas/base_app/tree/devel

Heroku deploy: https://starter-app-staging.herokuapp.com (la version de bureau)

Exporté avec phonegap-Rails gem (dont je suis également l'auteur) pour les actifs, les chemins d'accès, etc.

5
joscas

Absolument OUI!

Ruby on Rails, juste une technologie d’arrière-plan, est identique à ce que vous envisagez de faire pour un navigateur normal. Vous ne devez prendre en compte que deux aspects de l'application mobile. La première est la taille du contenu du navigateur mobile, car vous devez ajuster votre mise en page pour l'adapter à la taille. Il existe une balise méta HTML appelée viewport qui peut vous aider.

Ex.

Ce script indique au navigateur de l'utilisateur que le contenu doit être adapté à la taille de l'imprimé, scale-initial définit le taux de visualisation et scale-scale définit le nombre de fois que cette page peut être redimensionnée, et user-scalble = 0 signifie que l'utilisateur ne peut pas redimensionner la page. Pour plus d'informations sur la fenêtre d'affichage, vous pouvez consulter la documentation de Mozilla.

Vous devez également prendre en compte les technologies HTML5, mais ce n’est pas un problème lorsque vous utilisez jQuery mobile. Je vous recommande de vérifier leurs docs. Ceci est très utile et clair pour quiconque.

4
Ravi Kant

RubyonRails est un framework d’application Web - il est exécuté sur le serveur et l’observateur d’utilisateur est le résultat d’une application construite sur RubyOnRails dans le navigateur (ou le composant Navigateur), bien que vous puissiez traiter sur le serveur uniquement "M" à partir de "MVC" et l’implémenter " V "et" C "entièrement côté client (dans le navigateur mobile).

En théorie, vous pouvez déployer pleinement l’application RubyOnRails côté client (même le serveur RubyOnRails, etc.), mais cela sera plutôt coûteux et difficile, mais cela ne pourrait pas être nécessaire dans un projet rationnel.

en supposant que: Il y a deux façons de choisir:

  1. Organisez l'application RubyonRails sur le serveur (modélisez-y le modèle) et traitez "V" et "C" côté client avec toutes les bibliothèques js appropriées.
  2. Vous pouvez développer Ruby (pas l'application RubyOnRails) - au moins, il est possible de développer pour Android avec JRuby.
1
Sergey

Oui, vous pouvez . Votre vue peut être une page Web/une application Android/ios en tant que vue. 

1
Priyanka Chabbi

Essayez d’utiliser React Native, la technologie d’arrière-plan peut toujours être Ruby, tandis que le client peut utiliser React Native pour créer une application mobile pour Android et iOS.

React Native

0
PONCY

Vous voudrez peut-être essayer jQuery Mobile (qui est encore en version alpha maintenant) s'il ne s'agit que d'une question d'interface utilisateur. Si vous avez besoin d'une intégration plus étroite avec votre mobile, je ne pense pas que faire fonctionner Rails serait assez efficace.

0
Franck Verrot