• No results found

Mobile Software Engineering. Mobile MVC Frameworks

N/A
N/A
Protected

Academic year: 2021

Share "Mobile Software Engineering. Mobile MVC Frameworks"

Copied!
63
0
0

Loading.... (view fulltext now)

Full text

(1)

Mobile Software

Engineering

(2)

Outline

• Introduction

• Pattern • Design pattern • Framework • Mobile framework

• Model-View-Controller (MVC)

• MVC-based mobile frameworks

(3)

PART 1:

(4)

Pattern

• A way of doing something, or a way of pursuing intent.

• This idea applies to cooking, making fireworks, developing software, and to any other craft.

• It is a solution to a problem in a context. • Patterns are classified into

1. Design Pattern

2. Architectural Pattern 3. Macro – Architecture 4. Micro – Architecture

5. Idioms or Coding Patterns 6. Language Paradigms

(5)

Design Pattern

• A category of patterns that deals with object oriented software.

• Represent solutions to problems that arise when developing software within a particular context.

• Capture the static & dynamic structure and

collaboration among key participants in software designs

(6)
(7)

framework

• Made up of group of concrete classes which can be directly implemented on an existing platform.

• Written in programming languages.

• A large entity comprising of several design patterns.

• Concerned with specific application domain

(8)

Design Pattern vs. Framework

• A design pattern is a type of pattern and is more like a concept. • A framework is something already coded to be used repetitively.

(9)
(10)

PART 2:

Model-view-Controller

(11)
(12)
(13)
(14)
(15)
(16)

Represents the model in a suitable format to interact and usually called "User Interface" (GUI Java, HTML,

XML).

(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)

PART 3:

(26)
(27)

.NET Framework

Architecture

(28)
(29)
(30)
(31)

ASP.NET MVC

ASP.NET == ASP.NET Web Forms

ASP.NET Web Forms + MVC Pattern = ASP.NET MVC

(32)

ASP.NET MVC

• Microsoft ASP.NET Frameworks

 ASP.NET Web Forms  ASP.NET MVC

• ASP.NET MVC is a revolutionary way to develop web applications

 Built on Model-View-Controller pattern  Separation of concerns

 Invented in 1978 by Trygve Reenskaug

(33)

ASP.NET Web Forms

• Original design from late 90s.

• Strongly typed compiled code replaced script.

• Abstract away the web.

(34)

Design Goal

• Does not replace Web Forms but provides an alternative framework • Still runs on ASP.NET

 Caching, modules, master pages, providers, handlers, session state

• Embrace the web

 Clean URLs and clean HTML

• Extensible and pluggable framework

 Pluggable view engines

• Testable

(35)
(36)

jQuery Mobile

• A touch-optimized web framework.

• Developed by the jQuery project team.

• Focused on compatibility with a wide variety of smartphones and tablets.

(37)

jQuery Mobile

• A unified UI system that works seamlessly across popular mobile device platforms.

• Built on HTML5, CSS3, jQuery and jQuery UI.

• A wide variety of mobile platforms are targeted, so that no browser or device is left behind.

• All jQuery pages are built using a clean, semantic HTML to ensure compatibility with a wide range of platforms.

(38)

Features

• Lightweight and minimal dependency on images • Progressive enhancement

• Responsive Design

• Powerful AJAX-navigation system • Touch and mouse event support • Powerful theming framework • Easily customizable

• Built on Jquery core

• Compatible on various device platforms and mobile web browsers

• HTML5 markup-driven configuration for fast development and minimal required scripting

(39)

Advantages

• Save development time to a great extent. • Accelerate the development

• Take care of device, OS and browser fragmentation to a great level.

• Include media queries that support a wide range of device form-factors

• Pretty light-weight.

• A large user base and community for all the help that you need during development.

(40)

Disadvantages

• Certain level of design constraints • Customization overload

(41)

Requirements For

Development

• Your favorite IDE for HTML

• Visual Studio, Eclipse, TextMate, etc.

• A web browser capable of inspecting HTML elements / JavaScript debugging

• Google Chrome, Safari, IE9, etc.

• Device or emulator for testing your application

• Mac (iOS Simulator), iPhone, iTouch, iPad if targeting iOS devices • Android device or Android Emulator

(42)
(43)

jQuery Mobile Data

Handling

Note: You will likely want to use Backbone.js to enhance native data handling

(44)
(45)
(46)

PhoneGap

• PhoneGap (Apache Cordova) is a platform for building natively installed mobile applications using HTML, CSS and JavaScript

(47)

History

• Apache Cordova was originally called Phonegap build by Nitobi.

• Open-source & free software from the beginning (MIT License), Apache License now.

• Nitobi then acquired by Adobe and donated the PhoneGap codebase to the Apache Software Foundation (ASF).

• PhoneGap is still a product of Adobe. It is a distribution of Apache Cordova. Think of Apache Cordova as the engine that powers PhoneGap.

(48)
(49)
(50)
(51)

Sencha Touch

• Browser-based mobile application development framework. • Uses similar development paradigms to Ext JS 4.

• JavaScript MVC class-based approach to development. • Open source.

• Supported by Sencha (VC-backed).

• Compatible with most mobile browsers (Chrome, Safari, iOS Browser,

Android Browser, Kindle, current-gen Blackberry, Windows Mobile/Surface. • Excellent developer tools and resources.

• Compile to native app with either PhoneGap or Sencha CMD. • Native API support for some device APIs.

(52)

Advantages

• Full-featured WYSIWYG IDE available

• Use same IDE, concepts and similar syntax for Touch & Desktop development

• Best performing mobile web framework

• MVC framework well-suited to large development projects, working in teams

(53)

Disadvantages

• Syntax and MVC framework can be challenging to master for non-professionals (somewhat mitigated by Sencha Architect)

• Performance not as good as native app (but improving)

• No visual theme builder, upgrading from older versions typically involves some level of effort.

(54)
(55)

Sencha Touch Data

Handling

(56)
(57)
(58)
(59)

Dev Tools from Xamarin

OS: • Windows • Mac OS X IDE: • Xamarin Studio Language: • C# Mobile Targets: • iOS • Android • Windows

(60)
(61)
(62)

Other Mobile Frameworks

• Ionic • Appcelerator Titanium • Xpages • Intel XDK • Codename One • Framework7 • CodeIgniter • React Native • PHAP • Webiny Framework • Nova Framework • Mobile Angular UI • Kendo UI

(63)

Bibliography

1. Model View Controller (MVC). http://www.slideshare.net/ javierhumaran/model-view-controller-mvc-27875933

2. Introduction to ASP.NET MVC. http://www.slideshare.net/ srivastavamayank/introduction-to-aspnet-mvc-5785945

3. Intro to Xamarin: Cross-Platform Mobile App Development.

http://www.slideshare.net/shahedC3000/intro-to-xamarin-63161570

4. Introduction to Apache Cordova. http://www.slideshare.net/ ejlp12/intro-to-apache-cordova

5. Mobile Development Shootout with jQuery Mobile, Sencha Touch, and Appcelerator Titanium. http://www.slideshare.net/stevedrucker/mobile-platforms-19979061

References

Related documents

Jquery mobile, phonegap and HTML 5 will be used to display web pages on mobile devices.. Dreamweaver CSS 6 will be used throughout the term to develop pages

PhoneGap applications use HTML5/CSS for creating UI of the applications, with several UI frameworks available that can be used to create fast and impressive mobile applications in

Objektif kajian ini adalah untuk mengenalpasti tahap pengetahuan penduduk di dalam parameter bangunan hijau, membangunkan borang penilaian sendiri dan membuat

Ασκήσεις ενίσχυσης Φωνολογικής Ενημερότητας Γράφω στη δεξιά στήλη τη λέξη σωστά Μπέδεμα Αγυρός Λάπα Κάλτες Έκυρος Τυάρι Σόχος Γυνάζω Εύολα

2/26/2019 Stalk Borers Moving in Central and Southern Iowa | Integrated Crop

Mobile device HTML5 JavaScript CSS OpenEdge JSDO HTML5 browser HTML5 JavaScript CSS OpenEdge JSDO HTML5 JavaScript CSS OE JSDO Mobile App Web App GET HTTP(S)

The inferior vena cava is on the right of the abdominal aorta, and the left renal vein which is a branch of the inferior vena cava crosses anterior to the abdominal aorta to drain

Itemize purchases and to hide infor on order to the impact of former customers who the transactions have multiple customers recall transactions have a taxable sales by rep