Difference between revisions of "7CC005 Workshop w2"

From mi-linux
Jump to navigationJump to search
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Main Page]] >> [[7CC005|Web Technologies]] >> [[7CC005_-_Workbook|Workbook]] >> Week 02 - Google Angular - part 1
 
[[Main Page]] >> [[7CC005|Web Technologies]] >> [[7CC005_-_Workbook|Workbook]] >> Week 02 - Google Angular - part 1
  
== Google Angular ==
+
Please learn '''ONE''' of the JS frameworks below.
  
You should spend 2 weeks working through '''The Tour of Heroes tutorial''', located here:
+
I recommend React.js, which is a lot simpler to learn. Only go for Angular if you have previous experience in this framework.
* [https://angular.io/docs/ts/latest/tutorial/ https://angular.io/docs/ts/latest/tutorial/]
 
  
It is recommended that you cover sections 1-4 this week:
+
== Facebook React (recommended) ==
  
*1. Introduction
+
Start learning React:
*2. The Hero Editor
+
* Work through the [https://react.dev/learn/tutorial-tic-tac-toe Quickstart Tutorial: Tic-Tac-Toe]
*3. Master/Detail
 
*4. Multiple Components
 
  
== Installing Angular on mi-linux from Putty ==
+
== Google Angular ==
 
 
=== Installing Angular itself ===
 
 
 
First, go into your '''public_html''' directory, create a NEW directory and locate yourself inside it:
 
 
 
<pre>
 
cd public_html
 
mkdir angular-2018
 
cd angular-2018
 
</pre>
 
 
 
Then run the Angular installation, but WITHOUT the -g option (we are not allowed to install globally on mi-linux)
 
 
 
<pre>
 
npm install @angular/cli
 
</pre>
 
 
 
Note: The above will take a while...
 
 
 
Note: You should now have a "node_modules" directory inside your "angular-2018" directory... it contains Angular, including the "ng" command that we need next.
 
 
 
=== Generate your application files ===
 
 
 
Next, we need to create a new project, which is done using the "ng new" command... only the "ng" command is buried inside the "node_modules" directory, so you have 2 options:
 
* specify its full path every time
 
* add the full path once and for all to your linux PATH variable
 
 
 
Running the command specifying the full path would look like something like this:
 
 
 
<pre>
 
node_modules/@angular/cli/bin/ng new app-alix
 
</pre>
 
 
 
or you can add the path above to your PATH variable:
 
 
 
<pre>
 
export PATH=$PATH:node_modules/@angular/cli/bin/
 
</pre>
 
 
 
and then simply call '''ng''':
 
 
 
<pre>
 
ng new app-alix
 
</pre>
 
 
 
Note: Obviously replace "app-alix" with the name of YOUR app...
 
 
 
Once you have done the above, your "angular-2018" directory will contain Angular and YOUR app director... try the "ls" command to check!
 
 
 
<pre>
 
drwxr-xr-x  4 in9352 acad    4096 Jan 31 12:52 .
 
drwxr-xr-x  73 in9352 daemon  4096 Jan 31 12:31 ..
 
drwxr-xr-x  6 in9352 acad    4096 Jan 31 14:29 app-alix
 
drwx------ 760 in9352 acad  24576 Jan 31 12:48 node_modules
 
</pre>
 
 
 
The source files of your application are located in '''app-alix/src'''... we will take a look at them later. For now let's compile the default files!
 
 
 
=== Update your base URL ===
 
 
 
Once the application files have been generated, you need to edit the following file: app-alix/src/index.html
 
 
 
You need to specify the base URL on line 6, like this:
 
<pre>
 
<base href="/~in9352/angular-2018/app-alix/dist/">
 
</pre>
 
 
 
Obviously you'll have to change the URL above to match '''your details'''... the "/dist/" at the end MUST be included though.
 
 
 
=== Build your application ===
 
 
 
Next you need to '''build''' your application from the source files, using the command '''ng build''', like this:
 
 
 
<pre>
 
cd app-alix
 
ng build
 
</pre>
 
 
 
This will create a new '''dist''' directory inside your '''app-alix''' folder. "dist" is short of "distribution", and contains the files of your application (HTML, JavaScript etc.)
 
 
 
In order for them to work, you need to make sure that the '''permissions''' on '''dist''' are suitable:
 
 
 
<pre>
 
chmod 755 dist
 
</pre>
 
  
Now you should be able to browse to your web app... mine is here:
+
First, work through the [https://angular.io/tutorial/first-app Build your first Angular app tutorial].
* [http://mi-linux.wlv.ac.uk/~in9352/angular-2018/app-alix/dist/ http://mi-linux.wlv.ac.uk/~in9352/angular-2018/app-alix/dist/]
 
  
== ng serve ==
+
Then, make a start on the more complicated [https://angular.io/tutorial/tour-of-heroes Tour of Heroes tutorial].
  
Currently you have to rerun the last 2 commands (ng build and chmod 755 dist) every time you make a change to the source code.
+
It is recommended that you cover sections 1-3 this week:
  
You can use the '''ng serve''' method instead, to automatically rebuild your app every time a change is made to a file... but I haven't quite worked out how to do that yet... more soon!
+
*Introduction
 +
*The Application Shell
 +
*1. The Hero Editor
 +
*2. Displaying a List
 +
*3. Create a Feature Component
  
== GitLab ==
+
== GitHub ==
'''Important:''' Make sure that you commit your work to [[GitLab_server|GitLab]] on a regular basis!
+
'''Important:''' Make sure that you commit your work to GitHub on a regular basis.

Latest revision as of 12:31, 17 January 2024

Main Page >> Web Technologies >> Workbook >> Week 02 - Google Angular - part 1

Please learn ONE of the JS frameworks below.

I recommend React.js, which is a lot simpler to learn. Only go for Angular if you have previous experience in this framework.

Facebook React (recommended)

Start learning React:

Google Angular

First, work through the Build your first Angular app tutorial.

Then, make a start on the more complicated Tour of Heroes tutorial.

It is recommended that you cover sections 1-3 this week:

  • Introduction
  • The Application Shell
  • 1. The Hero Editor
  • 2. Displaying a List
  • 3. Create a Feature Component

GitHub

Important: Make sure that you commit your work to GitHub on a regular basis.