Mobile Software Engineering

Mobile Software Engineering

Mobile Software Engineering Mobile MVC Frameworks Outline • Introduction • Pattern • Design pattern • Framework • Mobile framework • Model-View-Controller (MVC) • MVC-based mobile frameworks PART 1: INTRODUCTION 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 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 • Can be used across different domains. Examples of Design Pattern 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 e.g. database, web application etc. 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. Mobile Framework PART 2: Model-view- Controller Represents the model in a suitable format to interact and access the data, usually called "User Interface" (GUI Java, HTML, XML). Video Samples PART 3: Mvc-based mobile framework .NET Framework Architecture .NET History ASP.NET MVC ASP.NET MVC ASP.NET == ASP.NET Web Forms ASP.NET Web Forms + MVC Pattern = ASP.NET MVC ASP.NET + MVC Pattern = ASP.NET MVC 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 Very popular web development frameworks ASP.NET Web Forms • Original design from late 90s. • Strongly typed compiled code replaced script. • Abstract away the web. • Click events replaced “POST” operations. 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 Maintains a strict separation of concern jQuery Mobile • A touch-optimized web framework. • Developed by the jQuery project team. • Focused on compatibility with a wide variety of smartphones and tablets. • Current version is jQuery Mobile 1.4.5 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. • Accessibility features like the WAI-ARIA are tightly integrated. 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 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. Disadvantages • Certain level of design constraints • Customization overload 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 jQuery Mobile Views jQuery Mobile Data Handling Note: You will likely want to use Backbone.js to enhance native data handling Dynamically Populating UI PhoneGap • PhoneGap (Apache Cordova) is a platform for building natively installed mobile applications using HTML, CSS and JavaScript 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. Architechture 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. • Several code generation tools available. 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 • Documentation, Examples, Fig Leaf's Getting Started Tutorials 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. Sencha Touch Views Sencha Touch Data Handling Xamarin Native? https://www.xamarin.com/products Dev Tools from Xamarin OS: • Windows • Mac OS X IDE: • Xamarin Studio Language: • C# Mobile Targets: • iOS • Android • Windows Development Environments Other Mobile Frameworks • Ionic • PHAP • Appcelerator Titanium • Webiny Framework • Xpages • Nova Framework • Intel XDK • Mobile Angular UI • Codename One • Kendo UI • Framework7 • CodeIgniter • React Native 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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    63 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us