48
Technology Options

Technology Options

  • Upload
    jabari

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

Technology Options. Entire Project – Technologies (over simplified). Front-end Database Server-side scripting (front-end and database integration) Server. Front-End. Web based application HTML, CSS, Javascript , Jquery Smartphone app – proprietary GUI different from HTML, CSS, etc - PowerPoint PPT Presentation

Citation preview

Page 1: Technology Options

Technology Options

Page 2: Technology Options

Entire Project – Technologies (over simplified)

1. Front-end2. Database3. Server-side scripting (front-end and database

integration)4. Server

Page 3: Technology Options

Front-End

• Web based application– HTML, CSS, Javascript, Jquery– Smartphone app – proprietary GUI different from

HTML, CSS, etc

• Independent (typically non-web based) application– GUI of programming language chosen (e.g. VB.net

application, Java application, etc)

Page 4: Technology Options

Databases

• Choice of database based on project requirements– Web based application requires interfacing with

database sitting on some database server somewhere on the net

– Independent non-web based Application does not have to (but it can) interface with a database on the net. Database will likely run on the same machine or internal network of organisation

Page 5: Technology Options

Server-side Scripting

• Allows you to access server functionality including (but not limited to) interfacing with database backend

• In simplified terms, it allows you to get your front-end speak to the database

Page 6: Technology Options

Server

• Programming languages and databases require a supporting server to run them

• Again dependent on the technologies chosen overall– E.g. a MySQL database requires a database server

running MySQL; a web based Java application requires a server capable of running Java and JSP

Page 7: Technology Options

Overwhelmed?? – Don’t Be• If a web based application you will likely choose a service

that is capable of running your chosen technologies– E.g. an online hosting company will provide you with these

server supports.

• Non-web based application: you will need to choose hardware capable of running the application when finished– E.g. an Android device for Android App; a laptop with Windows

Operating System to run a windows based application

Page 8: Technology Options

Development Environment

• For all projects you will be able to set up a development environment– Developing for Android: you’ll need to use an

Android System Development Kit (SDK) such as Eclipse

– Developing a web based application that requires a database: you’ll need to set up a development environment that will mimic live environment provided by hosting package

Page 9: Technology Options

Smartphone Applications• Many options – again your project

requirements will influence option choice. Some example options:1. App running entirely on device but not interacting

with data source online (e.g. calculator)2. App requiring internet connectivity to access data

source (e.g. BBC news app)3. App requiring periodic access to internet to access

new updated data (e.g. mapswithme app)

Page 10: Technology Options

Smartphone Applications• Do you really need a smartphone app?– If its just a app that replicates exactly what the

online website does then a serious option would be…

1. Convert existing website design to have a responsive CSS design (e.g. check out GetBootstrap.com)

2. Use an app ‘shell’ linked to the website and release in app store. Looks like an app, but it really only launches your web browser of phone (e.g. PaddyPower app was like this, may still be)

Page 11: Technology Options

Smartphone Application

• A sample high level option of an application accessing a datasource– Build web based application using database

backend and server-side scripting functionality to access

– Build app using SDK (GUI work)– Connect to database using server-side scripting

functionality

Page 12: Technology Options

Setting up a Development environment – an example

Page 13: Technology Options

Apache, PHP, and MySqlWHAT?1. Apache as a web

server2. Php as a server side

scripting language3. MySql as a database

• You will use HTML, CSS, Javascript, Jquery etc with the bundle above

WHY?• Open Source – free!!!• As good as proprietary

options• Lightweight• Many freely available

bundles built using it – Wiki, Wordpress, Drupal, Joomla, OpenCart

Page 14: Technology Options

Setting up Development Environment

• You can install all 3 of these separately and then configure them to work together: DONT!

• Packages freely available for download that allow for one quick installation:– XAMPP (

http://www.apachefriends.org/en/xampp.html) choose the installer and not the zipped files!

– WAMP

Page 15: Technology Options

Setting up Development Environment

Page 16: Technology Options

Setting up Development Environment

Page 17: Technology Options

Setting up Development Environment

Page 18: Technology Options

Setting up Development Environment

Page 19: Technology Options

Setting up Development Environment

Page 20: Technology Options

Setting up Development Environment

Page 21: Technology Options

Setting up Development Environment

Type http://localhost into your web browser. Please note this page will not

display if the APACHE server is not started as per the previous slide!!

Page 22: Technology Options

Setting up Development Environment

• When your apache server is running it is looking at the htdocs folder within the XAMPP folder installed on your computer. Most likely location: C:/Xampp/htdocs

• For WAMP it will be the wwwroot folder

• In english, what this means is the server lloks at this folder for your webpages.

• This is where you put your .php, html, css, javascript files

Page 23: Technology Options

Setting up Development Environment

Page 24: Technology Options

Setting up Development Environment

• Add some php code and save

• Go to w3schools.com to learn php and mysql.

Page 25: Technology Options

Setting up Development Environment

Page 26: Technology Options

Working with MySql in XAMPP

• Go to browser and type http://localhost

• At the xampp homepage click on phpmyadmin

• This is a GUI system that you can use to work with the MySQL database engine

• Note: default user is “root” and password is not set, i.e. “”

Page 27: Technology Options

PhpmyAdmin

Page 28: Technology Options

PhpmyAdmin

• Easy to figure out• Create some databases and tables• Mess around with it

Page 29: Technology Options

Integrating php and mysql

• W3schools is a good resource to learn php and mysql

• Learn them separately on their own first before integrating them.

• W3schools has tutorials that show how to integrate them.

• A great book is “Sams Teach Yourself PHP, MySQL and Apache All in One”

Page 30: Technology Options

• You can learn all the technical stuff to do with php and mysql on your own time.

• Now we’ll look at taking an existing package and using it on your XAMPP or other development setup

Page 31: Technology Options

Content Mgt Systems (CMS)

• Many developed already and freely available• Examples: Joomla, Wordpress, Drupal, etc

• To run these you either need a hosting package online or a development environment (e.g. XAMPP or WAMP)

• Also the CMS above are all built using PHP and MySql and as such you need development environment or hosting that can handle these these

Page 32: Technology Options

CMS – Example Wordpress• Go to wordpress.org (NOT .com)• Download the source files

Page 33: Technology Options

CMS – Example Wordpress• Extract the files into a folder in your server

folder (i.e. htdocs if using XAMPP)

Page 34: Technology Options

CMS – Example Wordpress• Rename the folder to something appropriate:

your new site, blog, etc

• Go to your browser and type in http://locahost/[whatever_name_you_gave_the_wordpress_folder]

Page 35: Technology Options

CMS – Example Wordpress• Screen will say there is no configuration file.

For some other packages you may need to alter that separately.

Page 36: Technology Options

CMS – Example Wordpress

Page 37: Technology Options

CMS – Example Wordpress• Go back to your database and create a blank database• Go back to the browser and insert the database name,

username (will be “root” unless you changed it), and password leave blank, and leave the host as “localhost”

• Click next and your done. Your wordpress install should be complete and its up to you what you do next!!

• It is very flexible and hackable – learn php and mysql and then you will be able to customise as you wish!!

Page 38: Technology Options

CMS – Example Wordpress

Page 39: Technology Options

CMS – Example Wordpress• Next page will give you option

to login• From then on, if you want to

login to the backend you go to the directory where you extracted the wordpress files: note above that I extracted the wordpress files to the folder mynewwebsite in the htdocs folder. As such, you can access the login at http://localhost/mynewwebsite/wp-login.php

Page 40: Technology Options

Wordpress – After Login

Page 41: Technology Options

Wordpress – What the site looks like• Go to http://localhost/mynewwebsite

Page 42: Technology Options

Up to you how to customise it• You can either choose from the many 100s

(maybe 1000s) of design themes.• You can build your own theme; e.g.

skelligslandscaping.ie is built using wordpress and I created a custom wordpress theme. Good tutorial, a little old at this stage, is http://webdesignerwall.com/tutorials/building-custom-wordpress-theme

• Codex at wordpress.org has plenty information on wordpress files

Page 43: Technology Options

3 examples of Wordpress Use• aonghussugrue.wordpress.com – uses wordpress.com to

create website. This options means “.wordpress” will be included in domain name. Good for familiarising yourself with wordpress

• Skelligslandscaping.ie – Completely built using wordpress (i.e. all content managed by logging into wordpress backend)

• Linx.ie – Footer section of every page and blog page are wordpress driven; the rest of the website is managed through standard .php and html files outside of wordpress

Page 44: Technology Options

Up to you how to customise it• Plugins allow you to add whatever features

you need from shopping carts to calendars to social media widgets.

• If a plugin does not exist for your specific need, then you can always build it yourself:-– Could be good commercial opportunity if you

build a good plugin– Some plugin developments are worthy of project

in and of themselves

Page 45: Technology Options

Other Examples

• Similar process for most other packages:– Mediawiki for a wiki– Drupal and Joomla for different CMS– OpenCart for full e-commerce site

Page 46: Technology Options

My Take on Ideas – The Wheel• People often say don’t re-create the wheel but

don’t always dismiss a wheel…– If it’s an application that is being developed over

and over again (i.e. a wheel), then consider how you might package this as a service that would prevent others having to recreate that wheel in the future

– E.g. A room scheduling application (i.e. a wheel): why not create it in a way that others can use the core functionality on a subscription basis (i.e. a web service) – e.g. check out doodle.com

Page 47: Technology Options

My Take on Ideas – Open Source Packages

• Packages such as wordpress do much of the wheel work for you – e.g. builds a fully functional e-commerce website – This may not be a viable option for an FYP

• However, you should strongly consider how you could use these packages whilst building in core functionality of your own within– E.g. Use the package to build the e-commerce website

and then build a custom plugin to do some magic

Page 48: Technology Options

Thanks!

? ? ? ?