TT284 Employability Skills: Starts at 19:00

Embed Size (px)

Citation preview

  • Slide 1
  • TT284 Employability Skills: Starts at 19:00 http://xkcd.com/192/
  • Slide 2
  • TT284-14J Employability Skills Karl R. Wilcox Start the recording!
  • Slide 3
  • Important Disclaimers about this Presentation! Nothing in it will help you with the EMA But it may help in your future career In common with 87%* of all statistics, figures quoted here are made up on the spot * including this one
  • Slide 4
  • How to Approach this Presentation This will be a massive information dump that is not immediately relevant to the module But it I hope it is both interesting and useful to you at some time So Sit back, relax and let it all wash over you It will come back to you when you need it
  • Slide 5
  • Education Vs. Reality Venn Diagram Stuff that actually goes on Stuff you get taught Stuff you get tested on
  • Slide 6
  • What We Will Cover Looking at some snapshots of parts of the Stuff that actually goes on What (really) is a Website? Frameworks PHP & Javascript Development iPhone App Development Hence, try to Quantify the Venn Diagram* Where can you find out more? Where can you go from here? * Geordi LaForge: Captain, if we demodulate the phase transducers we can quantify the venn diagram and beam you out of there! Star Trek TNG S2Ep9
  • Slide 7
  • Websites Back to Basics A website is: A collection of files on a computer (server) The server runs a program (web server, e.g. Apache) The server runs continuously It waits for incoming connections to its DNS address It returns one or more files Possibly having run them through a PHP processor first And possibly connecting to a database server Which is another continuously running program 7 Most of us have desktop PCs at home. Can we use these to run a website? Over to you
  • Slide 8
  • Using your home PC for a website Thoughts anyone? Good reasons: Bad Reasons: 8
  • Slide 9
  • Using your home PC for a website My Thoughts Good reasons: Cheap? Bad Reasons: Your PC has no DNS address! Your PC has to be on all the time! Your PC OS is (probably) insecure And not optimised as a server Your internet connection is Asymmetric (ADSL line) I.e. much slower to send than receive Hard to scale & manage 9
  • Slide 10
  • Most Websites are 3 rd Party Hosted Even quite large organisations use 3 rd party hosts Hosting benefits hugely from economies of scale A good web host will have available (at least): Dual redundant connections to the electricity grid Multiple, physically separate, connections to the internet backbone Battery UPS for short term interruptions Diesel generators for longer outages Big buckets of spare hard drives, fans, etc. 24 hour on-site staff to monitor & fix things Secure access Regular backups And a complete second, fall-back site with all of the above as well! 10
  • Slide 11
  • What Do You Get From a Web Host? You can have (in order of cost) Part of a shared server A virtual Linux Server A virtual Windows Server Your own physical server Usually includes one domain name Variations: Number of databases Quantity of disk space Download bandwidth Further domain names 11 Example price: I pay 60 year for 10GB, 10 databases, unlimited bandwidth, 1 domain name (+12 for a second)
  • Slide 12
  • How Do I Manage My Server? For file management (HTML, CSS files etc.) Probably FTP or SFTP file transfer programs Possibly WEBDav or similar remote mounted file system For more control and information Management tools such as CPanel or Plesk Command line access e.g. SSH (Cheap hosts might just give you access to some Framework e.g. Wordpress.com just gives you a Wordpress Dashboard) (More on this later) 12
  • Slide 13
  • Example FTP Manager 13
  • Slide 14
  • DEMONSTRATION OF CPANEL (Following slides are example screenshots) 14
  • Slide 15
  • www.karlwilcox.com 15
  • Slide 16
  • CPanel Main Screen 16
  • Slide 17
  • The CPanel File Manager 17
  • Slide 18
  • The CPanel HTML Editor 18
  • Slide 19
  • Astounding Statistic! So we have seen how to upload and manage HTML and CSS files on our hosted server Thats all we need right? Wrong! Proportion of web pages in the real world created in an editor by typing in HTML and CSS: Less than 1%!* 19 * Source: Plucked out of thin air
  • Slide 20
  • Examples of Frameworks Most web content is created using various Frameworks Wordpress: originally for blogs, but can manage any content Joomla: general content management Moodle: Education and virtual learning environments Mediawiki: Wikis (like Wikipedia) Drupal + many others 20
  • Slide 21
  • What is a Framework? A set of (typically) PHP programs, HTML and CSS fragments and a database of Content The HTML fragments are usually things like the header and footer sections of each page Formatted by CSS Content is extracted from the database as required And the PHP program pulls it all together and serves the page All managed by some sort of user friendly control panel or dashboard Often have Themes or Skins to manage appearance 21
  • Slide 22
  • Framework Operation 22 HTML Header Fragment HTML Footer Fragment Database of page contents CSS file PHP Program Request for page (site.com/?page=23) Complete HTML Page
  • Slide 23
  • DEMONSTRATION OF WORDPRESS DASHBOARD (Following slides are example screenshots) 23
  • Slide 24
  • http://drawshield.net/user-guide/blazonry- tutorial/blazon-structure/ 24
  • Slide 25
  • Wordpress Dashboard 25
  • Slide 26
  • Wordpress Page List 26
  • Slide 27
  • Wordpress Page Editor 27
  • Slide 28
  • How are Frameworks Created? Using PHP and Javascript (usually) Typically with some sort of Integrated Development Environment (IDE) Similar to other software development projects Often collaborative, Open Source projects Money can be made by: Offering support Creating and selling themes / skins Developing custom add-ons and extensions 28
  • Slide 29
  • QUICK LOOK AT PHPSTORM (Time Permitting) 29
  • Slide 30
  • PHPStorm IDE by JetBrains 30
  • Slide 31
  • Thats All on Web Sites Dont worry if you dont understand any of this Just be aware of it But try to remember what is what! At least know what it is you dont know 31
  • Slide 32
  • Developing Android Applications You have seen one way to develop Android Apps Probably not suitable for real-world applications But the actual process is very similar Install the Eclipse IDE (free) Install the Android Software Development Kit (free) Set up your development environment Source control, testing, backups etc. Learn to program in Java Read design guidelines, learn Google Services & APIs Distribute by publishing the APK file Or register with the Google Developer Console ($25pa) Sell through the Google App Store (30% fee) 32
  • Slide 33
  • Eclipse and Android SDK 33
  • Slide 34
  • Developing iOS Apps Buy a Mac! Install Xcode (free with OS X) Learn Objective C (not recommended) Or Learn Swift (recommended) Read design guidelines, learn APIs etc. Set up your development environment (see next slide) Join Apple Developer Program (79pa) This is the only way to distribute Apps(!) Submit App to the Apple Store (30% transaction fee) There is a validation & acceptance process 34
  • Slide 35
  • Why Swift? Swift is Apples new development language Completely new language design No one can claim 20+years experience of Swift! Functionally rich, strongly typed, well supported But still subject to change Last Friday, Swift 1.2 introduces a whole new datatype! (set) And a special tool to update your code to the latest version This kind of thing doesnt happen with Javascript or PHP! 35
  • Slide 36
  • My iOS App Dev Environment 36 MacBook Pro With XCode External drive with Time Machine & Carbon Copy Backups Internal drive (SSD) with working files + GIT repository Automatic copy to iCloud Drive Each GIT version copied to Bitbucket iPhone for testing
  • Slide 37
  • Why so complicated? Time Machine (incremental backups) In case of accidental file deletion or cat walking on the keyboard Carbon Copy Cloner (full system image) In case of internal disk failure iCloud Backup (working files and repository) In case of total loss of MacBook and External Disk BitBucket GIT Clone In case of local GIT problems Also allows for additional developers 37
  • Slide 38
  • DEMO OF XCODE (Example screenshots on the next few slides) 38
  • Slide 39
  • Xcode IDE Screen Builder 1 39
  • Slide 40
  • Xcode IDE Screen Builder 2 40
  • Slide 41
  • Xcode Code Editor 41
  • Slide 42
  • IOS Emulator & Debugging 42
  • Slide 43
  • LETS SUMMARISE (End of Demos) 43
  • Slide 44
  • Recall our Venn Diagram Stuff that actually goes on Stuff you get taught Stuff you get tested on
  • Slide 45
  • Putting Some Figures on Things By %-age of expert status skills (1) HTML 50% (the most common parts) CSS 20% Javascript 5% PHP 5% Accessibility 60% Mobile Device Development 5% Software Development Process 1% Version Control 30% 45 (1) For fun only. This is a personal opinion based on you undertaking and understanding the published course material and does not constitute a reference or guarantee!
  • Slide 46
  • What Skills Do I Have? Website development and maintenance / modification Understanding and modification of existing, simple Javascript and PHP programs Partaking of simple roles in the software development process (e.g. testing) Mobile application user interface design (for simple apps) 46
  • Slide 47
  • What Can I Do With These Skills?* Create a static website from scratch Make simple modifications to an existing, moderately complex website (tweaking layouts etc.) Create and modify a simple website using a framework, Test any website for accessibility compliance User test any website or mobile application 47 *As before, there are no guarantees here, just my personal opinion on what you should be able to achieve if you have completed and understood the bulk of the course material!
  • Slide 48
  • How Can I Improve My Skills? Build a website! (Based on something you know about) Do a web search for free web hosting uk Or see if you ISP offers free space Offer to create / update an existing charity web site There are lots of these, often quite out of date, especially with regard to accessibility Looks good on your CV! See if you can get involved with any beta testing of web or mobile applications Chose an area or application that you are interested in or knowledgeable about 48
  • Slide 49
  • What Else Could I Look At? -1 Books Can be expensive & poor value Check Amazon recommendations (read reviews, not just ratings!) Second or third editions a reasonable sign of popularity 49
  • Slide 50
  • What Else Could I Look At? - 2 Websites W3C schools, lots of material (already used in this course) Stack Overflow for specific questions (search existing first!) Apple Developer Docs (developer.apple.com) Android Developer Docs (developer.android.com) 50
  • Slide 51
  • What Else Could I Look At? - 3 Magazines NET quite good for all round web development Web Designer more for the arty types (visual aspects) 51
  • Slide 52
  • Future OU Courses? Talk to Student Services: Possibilities include: T325 Technologies for Digital Media T320 E-Business Technologies M364 Fundamentals of Interaction Design Any others? What are you thinking of doing next? Type below: 52 Stop Press! New level 3 courses TM353 TM354
  • Slide 53
  • Thats All Folks A Reminder Deadline for EMA Midday 1 st June NO EXTENSIONS! Any Questions? 53