1. Internet programming languages: Java server pages (JSP), Servlets, PhP, concepts of Internet Applications. 
  2. Concepts of Client-Server Architecture in internet applications
  3. Sockets, client-server, proxies and gateways, application programming.
  4. Process and threads & Inter-process Communication
  5. Message Formats and Techniques
  6. The Application Programming Interface - API
  7. Application protocols: SMTP, FTP, DNS and the Secure Shell
  8. Mobile application development: Languages, technologies and platforms

Lecture Notes

Mobile application development is a term used to denote the act or process by which application software is developed for mobile devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-side or client-side processing (e.g., JavaScript) to provide an "application-like" experience within a Web browser. Application software developers also must consider a long array of screen sizes, hardware specifications, and configurations because of intense competition in mobile software and changes within each of the platforms. Mobile app development has been steadily growing, in revenues and jobs created. A 2013 analyst report estimates there are 529,000 direct app economy jobs within the EU 28 members, 60% of which are mobile app developers.

As part of the development process, mobile user interface (UI) design is also essential in the creation of mobile apps. Mobile UI considers constraints, contexts, screen, input, and mobility as outlines for design. The user is often the focus of interaction with their device, and the interface entails components of both hardware and software. User input allows for the users to manipulate a system, and device's output allows the system to indicate the effects of the users' manipulation. Mobile UI design constraints include limited attention and form factors, such as a mobile device's screen size for a user's hand(s). Mobile UI contexts signal cues from user activity, such as location and scheduling that can be shown from user interactions within a mobile application. Overall, mobile UI design's goal is mainly for an understandable, user-friendly interface. The UI of mobile apps should: consider users' limited attention, minimize keystrokes, and be task-oriented with a minimum set of functions. This functionality is supported by mobile enterprise application platforms or integrated development environments (IDEs).

Internet programming languages


PHP is a wide use general purpose scripting language which used to make dynamic interact web pages. It can embedded with HTML source document used in server side. Influenced by C, Perl, Java, C++, thus it support multiple paradigm in programming, such as object-oriented (OO) and imperative. In the meantime, its type system is loosing typing and dynamic type checking. As the updates of version, it supports more new features to make the PHP more functional and diversify. Now, the latest version is PHP 5.33, and will be used in the following.


Factors for choosing programming language for web apps development

Client Server Architecture in Internet Apps



Proxies and Gateways

Application Programming

Process and Threads

Inter-process Communication 

Message Format and Techniques

Application Programming Interface (API)

Application Protocols

Mobile Application Development

When creating mobile apps factors to consider include
Native app

Developer(s): You’ll need a developer familiar with the mobile platform programming language. Most platforms use different programming languages. Here are the programming languages required to create native apps for the most popular mobile operating systems.

Web app
Decision towards choosing Mobile Web App Vs Native Mobile APP Development Approaches


 Review Questions

  1. Analyze four (4) different mobile programming languages for application development and provide design recommendations based on the nature of the problem to be solved.
  2. Describe down any three mobile programming languages used for application development
  3. Write a JSON data format for pizza order with customer information
  4. List down three world wide companies that have published their API. Describe why do they publish the API and list down any three API published by the companies
  5. Describe the TCP client/server interaction processes that happens from when the socket is opened to when it is closed
  6. What is a socket as used in internet programming
  7. Account for four types of social internet applications that would be appropriate for the client – server architecture
  8. What is the difference between thin client and fat client as used in internet application development
  9. Analyze the components of client server architecture for designing internet application.
  10. Write down JSP scripts/code used to authenticate a user when using electronic commerce information system, point out the names of the JSP pages involved, assuming that the database “mypet” has been created with a table “login” having fields id, username, password and level.
  11. Account for the design approach that one can adopt for the development of electronic commerce information system considering the interactions between the buyer and sellers representing at least four functions
  12. How does JavaScript differ from java server pages
  13. What makes Android Mobile OS popular as compared to other Mobile OS?
  14. Account for the top four mobile OS in terms of portability, reliability, Security and memory requirements
  15. What makes android and iPhone OS differ?
  16. Account for suitability of JSP as compared with other web programming languages
  17. Account for usefulness of Proxy server for web application development