Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7584593
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T18:57:37+00:00 2026-05-30T18:57:37+00:00

An application has three clients (desktop, iOS, Android), based on Ember.js. The ‘desktop’ client

  • 0

An application has three clients (desktop, iOS, Android), based on Ember.js. The ‘desktop’ client is a mixture of ember and Rails views. The phone apps are wrapped in Phonegap. The server-side is a Rails app using the asset pipeline.

There is some shared code between the three clients. What would be a good way to handle this in terms of git, asset packaging, repositories and code-level sharing (e.g. an iPhone ‘class’ for some component inheriting from a general class)?

Regarding repositories I guess there are three main options:

  • Using one repository for each client, and including the shared code from a fourth repository
  • One repository for the clients, one for the Rails [server-side] app
  • One repository for everything

And for asset handling some things are shared too, e.g. minimize, compression, concatenation etc. though there are some differences too (gzip don’t make sense in the phone clients).

How would you advise that I share code between the three clients?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T18:57:38+00:00Added an answer on May 30, 2026 at 6:57 pm

    My opinion is that you shouldn’t think of there being three apps for the three different clients if you intend to maximize code reuse. I would think of it as a single app that has different code paths depending on which client is accessing it.

    Of course, it ultimately depends on what level of code reuse you’re shooting for. Models are typically the easiest to share. Depending on how different your UI is, you may find it difficult to share controllers and views.

    I’m going to try to answer some of the specific questions…

    Git

    The easiest way to reuse code is to just have a single app and repository. Otherwise, you can utilize Git submodules to share code across the repos.

    Asset packaging

    This is heavily dependent on which asset packaging solution you choose. With a single app/repo, you’ll have to configure your asset packaging system to potentially do optimized builds for each client if you’re worried about JS asset size. With multiple apps/repos, each one would simply have it’s own configuration.

    Code sharing

    I think one of the greatest strengths of Ember compared to other frameworks is it’s powerful object model. Where necessary, you can easily subclass a common object to add client-specific behavior.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've Created one Desktop Application which has server client access... Every user will has
I am working on customizing a closed source client application. It has a tree
Imagine a more complex CRUD application which has a three-tier-architecture and communicates over webservices.
I am working with your typical three layered application that has a presentation layer,
A new client of mine has a small VB/Access database application written in 2002
I have an application that places several Windows within a com.extjs.gxt.desktop.client.Desktop. I need to
I have developed an asp.net application and windows desktop application system. My clients can
I have a tech demo application to write, with multiple clients: web client (ASP
My WinForms application has a tab with a System.Windows.Forms.WebBrowser control. There are several controls
A 3rd party web application has a cross-scripting security issue. There is one page

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.