620 likes | 772 Views
EWD Web Applications. EWD and Sencha Touch Dima Kassab & Luis Ibanez. Distributed under the Creative Commons by Attribution 3.0 License. For Instructors. How to setup your Sever. https://github.com/SUNY-Albany-CCI/open-source-web-development-tutorial/tree/master/source/EWD/Install.
E N D
EWD Web Applications EWD and Sencha Touch Dima Kassab & Luis Ibanez Distributed under the Creative Commons by Attribution 3.0 License
For Instructors How to setup your Sever https://github.com/SUNY-Albany-CCI/open-source-web-development-tutorial/tree/master/source/EWD/Install See: installEWD.sh
For Students Follow the Instructions and Enjoy the Ride !
pppp Join the Party xxx.xxx.xxx.xxx Log in the Linux Class server at SSH to this Port Number
Set up your Environment Using 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
Join the Party mkdir /INF362-EWD/Apps/username Put here YOUR Username Create your own directory
Join the Party cd /INF362-EWD/Apps/username Put here YOUR Username Go to your new directory
You need two Screens To 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"
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
Build the Application In the same directory type the command ../build.sh
Run your Own Server Go to your other tmux screen CTRL+b and the key "n"
Join the Party mkdir /INF362-EWD/nodejs/username Put here YOUR Username Create your own directory
Run your Own Server cd /INF362-EWD/nodejs/username Replace this with Your username
Run your Own Server ../runEWDwithNodeJS.sh 8100 Put here your Port Number 8100 + Computer Number
Put here your Port Number 8100 + Computer Number
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
54.225.156.138 Put hereYour Port number Put hereYour Username
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
54.225.156.138 This is how it looks in a Nexus 4
Back to the EWD code Go to your other tmux screen CTRL+b and the key "n"
<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/icon@2x.png" /> <st2:icon size="144" url="examples/kitchensink/resources/icons/icon~ipad@2x.png" /> </st2:homeScreen> Make it look like an App 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
Make it look like an App In your Mobile Device Now use the Bookmark Icon in the Browser ... and select "Add to Home Screen"
Make it look like an App A new icon will appear in your device It will launch without the Web browser border
<st2:panel fullscreen="true" html="Hello World" /> <st2:panel fullscreen="true" html="Hello World" > <st2:toolbar docked="top" title="EWD Mobile" /> </st2:panel> Let's add a Toolbar Modify the line: to make the three lines: Then do: ../build.sh
It looks like this in Android 54.225.156.138
<st2:panel fullscreen="true" html="Hello World" > <st2:toolbar docked="top" title="EWD Mobile" /> </st2:panel> <st2:panel fullscreen="true" html="Hello World" > <st2:toolbar docked="bottom" title="EWD Mobile" /> </st2:panel> Let's move the Toolbar Replace : docked="top" With : docked="bottom"
It looks like this in Android 54.225.156.138
<st2:panel fullscreen="true" html="Hello World" > <st2:toolbar docked="top" title="EWD Mobile" /> <st2:toolbar docked="bottom" title="Easy" /> </st2:panel> Let's have two Toolbars Modify the file: mobile01.ewd One toolbar docked "top" and the other "bottom" Then do: ../build.sh
It looks like this in Android 54.225.156.138
Fragments inside Containers Container Fragment 1 Fragment 2
Fragments are Dynamic Container Replace Fragment 3 Fragment 1 Fragment 2
Fragments can be Nested Container A Fragment 1 Container B Fragment 2
<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> <st2:panel fullscreen="true" html="Hello World" > <st2:toolbar docked="top" title="EWD Mobile" /> <st2:toolbar docked="bottom" title="Easy" /> </st2:panel> Fragments are Cool ! In mobile01.ewd Modify the lines: to become the lines:
<st2:fragment> <st2:panel id="panel3" html="New Fragment!"> </st2:panel> </st2:fragment> Let's create the Fragment Write a new file: fragment01.ewd With the content: Then do: ../build.sh
Stop and Reflect ! This is Powerful Stuff !
Stop and Reflect ! It meansthat you can write complex Apps...
Stop and Reflect ! by dividing them into Small Fragments !
Let's keep going How about replacing a fragment ?
<st2:panel id="panel3" html="New Fragment!"> <st2:button text="Click" nextPage="fragment02" addTo="cont01"/> Everybody Love Buttons In the file fragment01.ewd after the line: Insert the line:
<st2:fragment> <st2:panel id="panel3" html="New Fragment!"> <st2:button text="Click" nextPage="fragment02" addTo="cont01"/> </st2:panel> </st2:fragment> Sanity Check The file: fragment01.ewd Now should look like: Then do: ../build.sh
<st2:fragment> <st2:panel id="panel4" html="This is Fragment 02!"> <st2:button text="Back" nextPage="fragment01" addTo="cont01"/> </st2:panel> </st2:fragment> Create another Fragment Write a new file: fragment02.ewd With the content: Then do: ../build.sh
It looks like this in Android Go ahead,Click here !