Is it Ember a right framework for me?


#1

As a first greeting to everyone here !

I come from php / laravel / codelgniter world, I’m looking for an adequate javascript framework.

I would like to make a clean javascript page and for that I need your help to choose the right framework.

New site will be fully dynamic with the MongoDB in the background.

It is very important for me that the framework has a good support for;

  • SEO, seo , seo … :slight_smile:
  • MongoDB
  • API
  • multi user authentication (like socialite in laravel)
  • PWA, mobile site support

The new project will be like, for example (livescore,com, soccer24,com etc.)

Is it Ember a right framework for project like above requirement’s?

Thank you very much for your detailed answers and suggestions !!

BR Ronin


#2

Hey Ronin, I can’t speak to SEO as well as some other people can, but I think from what you described Ember could be a really good choice. Ember’s biggest strengths are

  • a full-featured framework (maybe not so great for tiny components, but great for complex apps) with things like a router, full featured data layer, and a powerful CLI and project conventions.
  • the community: it’s impossible to overstate how important this is, there are a wide variety of individuals and companies involved in developing not only the core framework but all kinds of great addons and other tools
  • a great ecosystem of addons, meaning you get a ton of stuff for free (authentication for example, can be as simple as installing an addon and writing a few lines of code)

So assuming your app would be the least bit complex (a few dynamic pages with some dynamic data) I think Ember would be a great choice.

Just a note, AFAIK Ember does not typically interface directly with mongo, generally your Ember app would interact with your API which would manipulate mongo. Depending on your API you may not need a ton of customization with Ember Data and could use it mostly out of the box. So essentially Ember talks to your API via Ember Data (and maybe a few raw ajax calls if need be), your API reads/writes to mongo. So your client framework will be database agnostic.

A high level overview of what you’d want to do with Ember:

  • install ember cli and dependencies
  • create a new ember project
  • add ember simple auth (highly recommended for authenticating your app, supports a variety of authentication services/flows) or torii
  • create your ember data models and matching serializers and adapters which you’ll customize to fit your API (if need be)
  • install any other addons you might want (there are some great ones for PWA support, for example, see the notes/video from the EmberConf talk on PWAs)
  • start constructing the app via routes/controllers/templates/components/etc.

Of course if you do choose to try Ember and you have any questions about specifics you can post in here or the slack community and you should be able to get some info or help getting up and running.

And of course if you have any more specific questions or concerns about Ember in regards to capabilities or fitting your use case note them here and we’ll see if we can get you more information.


#3

SEO is not a worry. I’ve worked on a number of Ember applications (most recently a media company) where the client had an SEO vendor advising them. We we’re able to satisfy all their requests, including 3rd party SEO tools. In general, Google can index plain SPAs but prerendering is straight forward with FastBoot

Some addons which can help:


#4

Thank you so much , this looks amazing!