Monday, November 18, 2024
Google search engine
HomeLanguagesJavascriptEmber.js Create Application

Ember.js Create Application

EmberJS is an open-source javascript framework. It is a very productive framework used for building very efficient web apps without much difficulty. It follows MVC architecture. EmberJS applications are ready for professional-level apps they come with many built-in tools to make the tasks easier. Some of the tools are:

  • Build Pipeline
  • Routing
  • Data layer
  • Testing units

Features:

  • MVC Pattern
  • Client-Side Rendering
  • High performance
  • Templating mechanism
  • URL support

Installing Ember CLI: First, we need to install the Ember using the npm, Node.js package manager. So run the following command in the Terminal.

npm install -g ember-cli

This will install the Ember.js CLI globally on our system. Hence, from now wherever in our system, we can create the ember apps. Note that the npm package manager comes with Node.js. You will have to install Node.js in your system for ember applications.

Creating new application: Ember.js uses the following command to create new applications. Some navigate to your desired directory, where Ember will create a folder automatically with all files installed.

ember new ember-tutorial-gfg

This will create a new folder with the name ember-tutorial-gfg. Open your code editor in the folder to start editing the project created. 

Note: The installation may take few minutes to install depending upon your machine.

Project Structure: The project structure should be similar to as follows.

Understanding the project structure:

  • app: This contains the application UI and models related files.
  • config: This contains the ember app configuration files.
  • node_modules: This contains the node modules required for the project.
  • public: This folder contains the files required for the hosting purpose.
  • tests: This folder contains files for unit testing.
  • vendor: Third-party plugins or dependencies should be placed in this folder.
  • app folder: In this folder, we are mainly concerned with developing our first app. Your app folder should look as follows:

You can check that the components, controllers, helpers, models, routes contain only the .gitkeep file. The styles folder has an app.css file and the templates folder has an application.hbs file. This is the classical structure of Ember applications and we will continue with this structure only.

Run the app: In the Terminal / Command Prompt enter the following command to run the application:

ember serve

This will build the application and serve the website by default on http://localhost:4200. You can also find additional details on the Documentation of Ember.js or in the README.MD file in the project folder.

After the project has been built, you will find a similar output as follows. Any change will be automatically updated very similar to React.js projects.

Now open any browser and navigate to http://localhost:4200/ and see the result. You will find the following webpage.

Example: Creating a basic EmberJS application.

Filename: application.hbs 

HTML




{{page-title 'EmberTutorialGfg'}}
<h1 id='body-title'>Welcome to neveropen Ember Tutorial</h1>
<h4 id='body-subtitle'>Creating first website using Ember.js</h4>
{{outlet}}


Filename: app.css 

Output: The website will look as follows.

Explanation: The app.css file is self-explanatory but we need to understand the application.hbs file.

{{page-title 'EmberTutorialGfg'}}

This sets the title of our webpage. Then we have the contents of our webpage. At last, we have {{outlet}}, which is used for routing purposes.

Create a Route: We will now create another route for our website and that will be the About page. Here you can provide some details of our website. In the Terminal / Command Prompt, enter the following command.

ember generate route about

It will create three files and update the router.js file. Edit them as follows. 

app/templates/about.hbs




{{page-title 'About'}}
<h2>Tutorial</h2>
<h3>Data Structures and Algorithms</h3>
<h4 class='contents'>
    Structures</a>
</h4>
<h4 class='contents'>
  <a
  >Algorithms</a>
</h4>


Filename: app/styles/app.css

Now navigate to http://localhost:4200/about, the result will be as follows.

Our About page appears below the application.hbs contents because we have provided the {{outlet}} at the bottom of the application.hbs file which places the contents of different routes.

Adding Route to application.hbs: We can link any route to any template page using the LinkTo tag. 

Filename: app/templates/application.hbs

HTML




{{page-title 'EmberTutorialGfg'}}
<h1 id='body-title'>
  Welcome to neveropen Ember Tutorial
</h1>
<h4 id='body-subtitle'>
  Creating first website using Ember.js
</h4>
<div class='navigation'>
  <LinkTo @route='home' class='navigation-item'>
    Home
  </LinkTo>
  <LinkTo @route='about' class='navigation-item'>
    About
  </LinkTo>
</div>
{{outlet}}


Filename: app/router.js 

Javascript




import EmberRouter from '@ember/routing/router';
import config from 'ember-tutorial-gfg/config/environment';
  
export default class Router extends EmberRouter {
  location = config.locationType;
  rootURL = config.rootURL;
}
  
Router.map(function () {
  this.route('home', { path: '/' });
  this.route('about');
});


Filename: app/styles/app.css 

Output:

Conclusion: In this tutorial, we built an Ember application. Then we modified our code and also added routes. At last, we have added a Navigation bar to navigate to different routes. So we saw how easy it was to build a productional level website right out of the box with the help of Ember.js. Hope you liked the tutorial.

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

RELATED ARTICLES

Most Popular

Recent Comments