ewd senchatouch classactivity_part_i

62
EWD Web Applications EWD and Sencha Touch Dima Kassab & Luis Ibanez Distributed under the Creative Commons by Attribution 3.0 License

Upload: vxvistaorg

Post on 05-Dec-2014

159 views

Category:

Healthcare


5 download

DESCRIPTION

How to setup your Sever

TRANSCRIPT

Page 1: Ewd senchatouch classactivity_part_i

EWD Web ApplicationsEWD and Sencha Touch

Dima Kassab & Luis Ibanez

Distributed under the Creative Commons by Attribution 3.0 License

Page 2: Ewd senchatouch classactivity_part_i

For Instructors

How to setup your SeverHow to setup your Sever

https://github.com/SUNY-Albany-CCI/open-source-web-development-tutorial/tree/master/source/EWD/Install

See: installEWD.shSee: installEWD.sh

Page 3: Ewd senchatouch classactivity_part_i

For Students

Follow the Instructionsand Enjoy the Ride !

Page 4: Ewd senchatouch classactivity_part_i

Join the Party

xxx.xxx.xxx.xxx

Log in the Linux Class server at

ppppSSH to this Port Number

Page 5: Ewd senchatouch classactivity_part_i

Set up your EnvironmentUsing Vim or Nano, open your file:

~/.bashrc

Go to the end of the file

and add the line:

source /data/gtm/setup/add_to_bashrc.txt

save the file, quit the text editor

and from the command line do:

source ~/.bashrc

Page 6: Ewd senchatouch classactivity_part_i

Join the Party

mkdir /INF362-EWD/Apps/username

Put hereYOUR Username

Create yourown directory

Page 7: Ewd senchatouch classactivity_part_i

Join the Party

cd /INF362-EWD/Apps/username

Go to yournew directory

Put hereYOUR Username

Page 8: Ewd senchatouch classactivity_part_i

You need two ScreensTo open multiple screens in the server, use the command

tmux

then, to open a second screen, use the key combination

CTRL+b followed by the key "c"

Then you can move between the two screens with the key combination

CTRL+b followed by the key "n"

Page 9: Ewd senchatouch classactivity_part_i

Start Simple

<st2:container rootPath="/st-2"><st2:panel fullscreen="true" html="Hello World" />

</st2:container>

Top Level Container Where Sencha Touch is Installed

Write this text in a file called

mobile01.ewd

Page 10: Ewd senchatouch classactivity_part_i

Build the Application

../build.sh

In the same directorytype the command

Page 11: Ewd senchatouch classactivity_part_i
Page 12: Ewd senchatouch classactivity_part_i

Run your Own Server

Go to your other tmux screen

CTRL+b and the key "n"

Page 13: Ewd senchatouch classactivity_part_i

Join the Party

mkdir /INF362-EWD/nodejs/username

Put hereYOUR Username

Create yourown directory

Page 14: Ewd senchatouch classactivity_part_i

Run your Own Server

cd /INF362-EWD/nodejs/username

Replace this with Your username

Page 15: Ewd senchatouch classactivity_part_i

Run your Own Server

../runEWDwithNodeJS.sh 8100

Put here your Port Number

8100 + Computer Number

Page 16: Ewd senchatouch classactivity_part_i

Put here your Port Number

8100 + Computer Number

Page 17: Ewd senchatouch classactivity_part_i
Page 18: Ewd senchatouch classactivity_part_i

Open Firefox

Go to the URL

54.225.156.138:8080/ewd/ibanez/mobile01.ewd

Put here Your Port Number

8100 + Computer Number

Put hereYour

Username

Page 19: Ewd senchatouch classactivity_part_i

Put hereYour

Port number

Put hereYour

Username

54.225.156.138

Page 20: Ewd senchatouch classactivity_part_i

View Page Source

Page 21: Ewd senchatouch classactivity_part_i

Open Mobile Browser

Go to the URL

54.225.156.138:8080/ewd/ibanez/mobile01.ewd

Put here Your Port Number

8100 + Computer Number

Put hereYour

Username

Page 22: Ewd senchatouch classactivity_part_i

This is how it looksin a Nexus 4

54.225.156.138

Page 23: Ewd senchatouch classactivity_part_i

Back to the EWD code

Go to your other tmux screen

CTRL+b and the key "n"

Page 24: Ewd senchatouch classactivity_part_i

Make it look like an App

<st2:homeScreen><st2:startupImage size="320x460" url="examples/kitchensink/resources/loading/Homescreen.jpg" /><st2:startupImage size="320x480" url="examples/kitchensink/resources/loading/Default.jpg" /><st2:startupImage size="768x1004" url="examples/kitchensink/resources/loading/Homescreen~ipad.jpg" /><st2:icon size="57" url="examples/kitchensink/resources/icons/icon.png" /><st2:icon size="72" url="examples/kitchensink/resources/icons/icon~ipad.png" /><st2:icon size="114" url="examples/kitchensink/resources/icons/[email protected]" /><st2:icon size="144" url="examples/kitchensink/resources/icons/[email protected]" /></st2:homeScreen>

Insert this text in the same file: mobile01.ewd

after the line <st2:container rootPath="/st-2">

and before the line <st2:panel fullscreen="true" .... >

Then do: ../build.sh

Page 25: Ewd senchatouch classactivity_part_i

Make it look like an App

Now use the Bookmark Icon in the Browser ...

and select "Add to Home Screen"

In your Mobile Device

Page 26: Ewd senchatouch classactivity_part_i

Add Icon to Home Screen

Page 27: Ewd senchatouch classactivity_part_i

Make it look like an App

A new icon will appear in your device

It will launch without the Web browser border

Page 28: Ewd senchatouch classactivity_part_i

Now it looks like a native App

Page 29: Ewd senchatouch classactivity_part_i

Let's add a Toolbar

<st2:panel fullscreen="true" html="Hello World" />

<st2:panel fullscreen="true" html="Hello World" ><st2:toolbar docked="top" title="EWD Mobile" />

</st2:panel>

Modify the line:

to make the three lines:

Then do: ../build.sh

Page 30: Ewd senchatouch classactivity_part_i

It looks like this in Android

54.225.156.138

Page 31: Ewd senchatouch classactivity_part_i

Let's move the Toolbar

<st2:panel fullscreen="true" html="Hello World" ><st2:toolbar docked="top" title="EWD Mobile" />

</st2:panel>

Replace : docked="top"

<st2:panel fullscreen="true" html="Hello World" ><st2:toolbar docked="bottom" title="EWD Mobile" />

</st2:panel>

With : docked="bottom"

Page 32: Ewd senchatouch classactivity_part_i

It looks like this in Android

54.225.156.138

Page 33: Ewd senchatouch classactivity_part_i

Let's have two Toolbars

<st2:panel fullscreen="true" html="Hello World" ><st2:toolbar docked="top" title="EWD Mobile" /><st2:toolbar docked="bottom" title="Easy" />

</st2:panel>

One toolbar docked "top" and the other "bottom"

Then do: ../build.sh

Modify the file: mobile01.ewd

Page 34: Ewd senchatouch classactivity_part_i

It looks like this in Android

54.225.156.138

Page 35: Ewd senchatouch classactivity_part_i

Fragments inside Containers

ContainerFragment 1

Fragment 2

Page 36: Ewd senchatouch classactivity_part_i

Fragments are Dynamic

Container

Fragment 1

Fragment 2

Fragment 3Replace

Page 37: Ewd senchatouch classactivity_part_i

Fragments can be Nested

Container A

Fragment 1

Container B

Fragment 2

Page 38: Ewd senchatouch classactivity_part_i

Fragments are Cool !

<st2:panel fullscreen="true" ><st2:toolbar docked="top" title="EWD Mobile" /><st2:container id="cont01" addPage="fragment01" /><st2:toolbar docked="bottom" title="Easy" /></st2:panel>

In mobile01.ewd Modify the lines:

to become the lines:

<st2:panel fullscreen="true" html="Hello World" ><st2:toolbar docked="top" title="EWD Mobile" /><st2:toolbar docked="bottom" title="Easy" />

</st2:panel>

Page 39: Ewd senchatouch classactivity_part_i

Let's create the Fragment

<st2:fragment><st2:panel id="panel3" html="New Fragment!"></st2:panel>

</st2:fragment>

With the content:

Then do: ../build.sh

Write a new file: fragment01.ewd

Page 40: Ewd senchatouch classactivity_part_i

It looks like this in Android

Page 41: Ewd senchatouch classactivity_part_i

Stop and Reflect !

This is Powerful Stuff !

Page 42: Ewd senchatouch classactivity_part_i

Stop and Reflect !

It meansthat you can write complex Apps...

Page 43: Ewd senchatouch classactivity_part_i

Stop and Reflect !

by dividing themintoSmall Fragments !

Page 44: Ewd senchatouch classactivity_part_i

Let's keep going

How about replacinga fragment ?

Page 45: Ewd senchatouch classactivity_part_i

<st2:panel id="panel3" html="New Fragment!">

Everybody Love Buttons

<st2:button text="Click" nextPage="fragment02" addTo="cont01"/>

In the file fragment01.ewd after the line:

Insert the line:

Page 46: Ewd senchatouch classactivity_part_i

Sanity Check

<st2:fragment><st2:panel id="panel3" html="New Fragment!"><st2:button text="Click" nextPage="fragment02" addTo="cont01"/></st2:panel>

</st2:fragment>

Now should look like:

Then do: ../build.sh

The file: fragment01.ewd

Page 47: Ewd senchatouch classactivity_part_i

Create another Fragment

<st2:fragment><st2:panel id="panel4" html="This is Fragment 02!"><st2:button text="Back" nextPage="fragment01" addTo="cont01"/></st2:panel>

</st2:fragment>

With the content:

Then do: ../build.sh

Write a new file: fragment02.ewd

Page 48: Ewd senchatouch classactivity_part_i

It looks like this in Android

Page 49: Ewd senchatouch classactivity_part_i

It looks like this in Android

Go ahead,Click here !

Page 50: Ewd senchatouch classactivity_part_i

It looks like this in Android

Page 51: Ewd senchatouch classactivity_part_i

Not what you expected ?

The new Fragment was added to the Container...

but it didn't replacethe previous Fragment...

Page 52: Ewd senchatouch classactivity_part_i

Try This !

replacePreviousPage="true"

In fragment01.ewd at the end of the line:

insert the text

<st2:button text="Click"...

Page 53: Ewd senchatouch classactivity_part_i

Try This !

replacePreviousPage="true"

In fragment02.ewd at the end of the line:

insert the text

<st2:button text="Click"...

Also in fragment02

Page 54: Ewd senchatouch classactivity_part_i

It looks like this in Android

Page 55: Ewd senchatouch classactivity_part_i

It looks like this in Android

Page 56: Ewd senchatouch classactivity_part_i

container

What have we done ?!

fragment

panel: panel3

button

fragment

panel: panel4

button

panel

toolbar

container: cont01

mobile01.ewd

fragment01.ewd fragment02.ewd

Page 57: Ewd senchatouch classactivity_part_i

container

What have we done ?!

fragment

panel: panel3

button

fragment

panel: panel4

button

panel

toolbar

container: cont01

mobile01.ewd

fragment01.ewd fragment02.ewd

Page 58: Ewd senchatouch classactivity_part_i

container

What have we done ?!

fragment

panel: panel3

button

fragment

panel: panel4

button

panel

toolbar

container: cont01

mobile01.ewd

fragment01.ewd fragment02.ewd

Page 59: Ewd senchatouch classactivity_part_i

Review

Discuss the process with your teammates

Page 60: Ewd senchatouch classactivity_part_i

Get me out of Here !

Hit CTRL+c

How to stop TMUX

How to stop the Node.js server

In the command line, type

exit

Page 61: Ewd senchatouch classactivity_part_i

References

EWD Sencha Touch 2 Reference

http://gradvs1.mgateway.com/download/EWD_Sencha_Touch2_Reference.pdf

Page 62: Ewd senchatouch classactivity_part_i

End of Introduction

End