1 / 48

Technology Options

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

jabari
Download Presentation

Technology Options

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Technology Options

  2. Entire Project – Technologies (over simplified) • Front-end • Database • Server-side scripting (front-end and database integration) • Server

  3. 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)

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. Smartphone Applications • Many options – again your project requirements will influence option choice. Some example options: • App running entirely on device but not interacting with data source online (e.g. calculator) • App requiring internet connectivity to access data source (e.g. BBC news app) • App requiring periodic access to internet to access new updated data (e.g. mapswithme app)

  10. 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… • Convert existing website design to have a responsive CSS design (e.g. check out GetBootstrap.com) • 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)

  11. 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

  12. Setting up a Development environment – an example

  13. Apache, PHP, and MySql WHAT? • Apache as a web server • Php as a server side scripting language • MySql as a database • You will use HTML, CSS, Javascript, Jqueryetc 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

  14. 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

  15. Setting up Development Environment

  16. Setting up Development Environment

  17. Setting up Development Environment

  18. Setting up Development Environment

  19. Setting up Development Environment

  20. Setting up Development Environment

  21. 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!!

  22. 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

  23. Setting up Development Environment

  24. Setting up Development Environment • Add some php code and save • Go to w3schools.com to learn php and mysql.

  25. Setting up Development Environment

  26. 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. “”

  27. PhpmyAdmin

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

  29. 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”

  30. 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

  31. 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

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

  33. CMS – Example Wordpress • Extract the files into a folder in your server folder (i.e. htdocs if using XAMPP)

  34. 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]

  35. CMS – Example Wordpress • Screen will say there is no configuration file. For some other packages you may need to alter that separately.

  36. CMS – Example Wordpress

  37. 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!!

  38. CMS – Example Wordpress

  39. 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

  40. Wordpress – After Login

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

  42. 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

  43. 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

  44. 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

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

  46. 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

  47. 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

  48. Thanks! ? ? ? ?

More Related