Ember 2.0 without Ember cli? - ember.js

Seems nowadays everything including loading modules is generated from embercli.
Is it possible to create a emberjs 2.0 application without the use of ember-cli?
What are some limitations of not using ember-cli?

Yes, it definitely still is. I support 5 ember applications at my work. 2 of which live on the ASP.Net stack, 3 are on a Java stack. The 2 on the ASP.Net stack aren't using ember-cli and work perfectly fine as a global application.
Here, I've created an ember app without ember-cli: http://emberjs.jsbin.com/xeqevogado/edit?html,js,output

Related

Proper way to extend a 'base' application in Ember 2

I have a 'core' Ember application that needs to be able to be extended by 'child' Ember apps. In Ember 0.10, this was achieved by heavily modding grunt tasks, but Ember 2 appears to have a possible workflow for this built in.
A super high level summary of my current (and target) setup:
core-application ('core')
contains shared business logic across All apps + templates and components
plugins
shared templates and logic that can be reused across apps (but not needed by all)
application
is composed of elements from core-application, plugins, + any app specific code. a note that routes should be able to be 'pulled in' from 'core'
In the current Ember 0.10 app structure, this has worked by modifying grunt tasks to build the apps in a quick, fairly fool-proof way.
Now, in Ember 2, it appears that this sort of pathway for app development is provided by using addons and blueprints. I suspect my 'core' app should become a 'blueprint' and plugins could be either an 'addon' OR 'blueprint' based on what is required by them. I'm writing proof of concept code now, but I have the following questions:
what does the --blueprint flag for the ember addon command do? I see that it essentially generates an app structure, but I don't see any realy documentation regarding where to go from there. This appears to to be what I want to use for my 'core' app, but the documentation is lacking here.
If the above --blueprint flag isn't what I want for this kind of set up, is there a better approach I should be considering?
Any other info regarding the above that folk with greater Ember 2 + ember-cli experience than I have can share on this would be hugely helpful.
Thanks in advance for any all feedback.
I found my answer by digging around existing Ember community addons.
The ember admin project seems to outline the structure AND consumption of an Ember addon that essentially creates an Ember app complete with routes and overridable/extendable elements.
The Host application then 'mounts' the admin addon by importing the admin addon's routes to the host application's routes and BOOM things work as expected. I've been able to write POC code to prove this concept works for my needs.

Basic Ember app not working with default adapter

Here is the source code.
I'm running Ember-CLI from the master branch of the git repo (currently version 2.2.0-beta.1-master-e803ac7fa6) and linking via npm. This should be using versions 2.2.0 of Ember and Ember Data. In the middle of the basic tutorial, I hit an issue with Mirage and Ember Data. Without explicitly creating an application adapter, the app fails. There is a 404 error being thrown on the route that should be handled by Mirage, as well as numerous Adapter errors. No errors are shown during ember serve.
In trying to fix this, I ran into another issue. After running ember g adapter application, the app loaded in the browser but there was still an error because this generated a RESTAdapter instead of the preferred JSONAPIAdapter. After manually switching to the JSONAPIAdapter, everything is fine.
Is this an issue with Ember-CLI still using an old version of Ember Data somehow? Update: #Michael and #Gaurav found the issue with Ember-CLI. See his answer for the Github issue link.
The original question still stands, though. Should Ember be able to function without explicitly creating an adapter?
This is a bug with Ember CLI 2.2.0-beta.1 - it's using the wrong adapter type by default. Can you open an issue on Ember CLI? Thanks!

What are the respective purposes of the emberjs.com and ember-cli websites?

I am a bit confused regarding the ember websites "emberjs.com" and "ember-cli.com". Isn't ember-cli now a part of emberjs and documented at "emberjs.com"? If so, why have a different website for ember-cli? Also, why do the sites differ regarding the versions of the prerequisite JS frameworks? For example, the emberjs.com getting starting page says to use Node.js 0.12 or higher while the ember-cli.com site says to use the latest stable version of Node (version 4.0.x).
the emberjs.com getting starting page says to use Node.js 0.12 or
higher while the ember-cli.com site says to use the latest stable
version of Node (version 4.0.x).
Seems like emberjs.com is out of sync, you can create issue on emberjs.com website repository on GitHub or hope that it's already created and it will be resolved shortly. Also, there was as issue with bufferutil in Ember CLI + node.js 4.0, so they might wait until it's resolved, but for some reason it's recommended on ember-cli.com.
Isn't ember-cli now a part of emberjs and documented at "emberjs.com"?
It isn't part of Ember.js. It's part of Ember.js ecosystem. It's recommended tool to work with library and that's why examples in guides assume that you're using Ember CLI. But, you could also use Ember.js without Ember CLI by loading jQuery, Ember.js, Ember.js template compiler and working on globals.
Ember.js documents everything about library itself, how logic behind library works, core concepts. You have components, routing, controllers, models explained there, but you won't find information there how to add CoffeeScript to your project.
Ember CLI website documents everything about Ember CLI, which is tool that provides:
asset pipeline
a strong conventional project structure
powerful addon system for extension.
You can see in user-guide that it documents possible build configurations, how to make SASS or CoffeeScript working in your environment etc.

how to make an ember-cli Ember 2 Ruby on Rails app

Is there a summary of the changes or tutorial you need to do to get ember-cli to work with Ember 2? I did a project with Ember like 2 years ago and a potential client was interested in Ember 2. Or is there a new preferred way to build Ember / Rails apps?
Ember-CLI with Ember 2.0 is not released yet. It's still on 1.13.8. I assume they are waiting for all core components to be released under 2.0. E.g. ember-data released 2.0 just few days ago. So I would recommend you to wait for Ember-CLI 2.0 official release. After that you would have to just run ember update.
If you can't wait, you can change dependencies manually in bower.json.
Talking about Ember-CLI and Rails integration, please take a look at this project: https://github.com/rwz/ember-cli-rails

EmberJS (without ember-cli) development behind firewall using systemjs or any other loader

I am planning to use EmberJS for a small application in my day job. I have used a little ember on my laptop using ember-cli. However at work I don't have access to Github.
I am planning to download the libraries and start using without any tools like npm, bower. I have tried to setup a static web app at https://github.com/mmrath/ember-standalone
There is not much code in there. I have tried to keep the structure as close to ember-cli as possible, os that it will be easier for me to upgrade to ember-cli when access is available. I would like to use ES6 modules like in ember-cli. However the fist step of loading the Ember is not working.
Error I see in chrome console is
Error: http://localhost:4200/vendor/ember/ember.debug.js detected as System.register but didn't execute.