1. Trang chủ
  2. » Công Nghệ Thông Tin

CTT 534 Thiết kế giao diện LN10 tools

41 193 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 41
Dung lượng 1,17 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Layers of UI development tools  Layers of development tools can be broadly categorized into  Interface Development Toolkits IDT  User Interface Management Systems UIMS... UI develo

Trang 1

CTT534 – Thiết Kế Giao Diện

HK II 2013 – 2014

UI Architectures

and Development Tools

Some slides adapted from materials of MIT

CS Course 6.813/6.831

Trang 2

Outline

 Architectures and design patterns for UIs

 UI development tools

Trang 3

• The application has complete control over the event processing

• Programmer must execute this control over every event that the client will

Trang 4

Separating UI from application

interface from the application

Trang 5

Notification-based architecture

 A simple interface for a “Save” and “Quit” operation

Trang 6

Notification-based architecture (cont’d)

void main(String[] args) {

Menu menu = new Menu();

Trang 7

Notification-based architecture (cont’d)

the application

 receives events from the windows system

 filters events to the application program

programmer

Trang 8

Model-View-Controller (MVC)

Trang 9

MVC example: textbox

Trang 11

Hard to separate View and Controller

View must provide affordances for controller

 e.g., button border and/or icon

 View must provide feedback about controller state

 e.g., depressed button

 Must be displayed by the view

 Must be updated and used by the controller

 Example

 Checkbox: who manages it when it’s checked and

unchecked?

Trang 12

Widget: tightly coupled view and controller

idea

both its input and output

Trang 13

Presentation-Abstraction-Control (PAC)

a triad of Presentation (View), Abstraction (Model), and Control

 Completely insulates the Presentation (View in MVC) and the Abstraction

 provides the option to separately multithread the model and view

 the user interface (presentation) can be shown before the

abstraction has fully initialized

Trang 15

Outline

 Architectures and design patterns for UIs

 UI development tools

Trang 16

Layers of UI development tools

 Layers of development tools can be broadly

categorized into

 Interface Development Toolkits (IDT)

 User Interface Management Systems (UIMS)

Trang 17

Windowing systems

 Device independence

 Abstract terminal device drivers

 Image models for output and (partially) input

 pixels

 PostScript (MacOS X, NextStep)

 Graphical Kernel System (GKS)

 Multiple application control

 Simultaneous user tasks

 Supports independent processes

 Isolation of individual applications

Trang 18

Architectures of windowing system

Trang 19

The Client-Server architecture

Trang 20

X Windows architecture

Trang 21

UI development in windowing systems

UI development tools use window managers as

the foundation upon which a user interface can

be built

 A window manager allows the user to display, alter,

and interact with more than one window at a time

 The window manager's primary responsibility is to

keep track of all aspects of each of the windows being

displayed

Trang 22

Example: Android

Trang 23

Interface Development Toolkits (IDT)

 IDT

 Provides an interactive editor to layout the interface

 May provide limited dialogue definition

 Produces code that represents layout and dialogue (if any)

 Input and output are linked

Trang 24

Interface Development Toolkits (IDT)

 Advantages

 Programming with interaction objects (or techniques, widgets, gadgets)

 Promote consistency and generalizability

 Support similar look and feel

 Similar to object-oriented programming

Trang 25

Interface Development Toolkits (IDT)

Motif for X-window system MFC

Trang 26

MFC

C++ classes

handle-managed Windows objects with predefined windows and controls

software developers

 To promote a standard structure for applications

 Much simpler to create automatic GUI creation tools when using a standard framework

 Usually use object-oriented programming (OOP)

techniques to implement frameworks

Trang 27

MFC (cont’d)

 Create your core program

 Create the structures for window and button

 Initialize all the members for the structures

 Create callback methods to handle events

 Programmer has to manage over the entire control and event processing

 very cumbersome task

Trang 28

MFC (cont’d)

 Two objects in this program

 One being the Window object

 Other being the Application object itself

Trang 29

Choosing right tools for projects

 Faster prototyping and development time

 Less training needed to use tools than program systems

 Higher level tools need less training

 Lower level tools offer more control and customization

 Tools exist to support specific types of user interfaces

 Tools available to assist in evaluation, benchmarking,

testing

Trang 30

Choosing right tools for projects (cont’d)

 Using table with tool functionality vs tool usability

Trang 31

Common tools

Flash (Adobe)

 Shockwave Flash

and Macromedia Flash

 Supports vector/raster graphics,

animations, bidirectional

 video/audio streams

 Contains scripting language

(ActionScript)

 A browser plug-in, Flash player

 Good for concept prototyping

Trang 32

Common tools (cont’d)

Java toolkits

 Java toolkit – AWT (Abstract Window Toolkit)

 an Abstract Window Toolkit, part of the Java Foundation Classes (JFC)

 Standard API for providing GUIs for Java programs

 Notification based architecture

 AWT 1.0 – needs to subclass basic widgets

 AWT 1.1 and beyond -– callback objects

 Swing toolkit

 built on top of AWT – higher level features

 provide a more sophisticated set of GUI components than AWT

 uses MVC architecture

Trang 33

Common tools (cont’d)

Trang 34

Common tools (cont’d)

Apple Cocoa

 Mac OS-X GUI builder

 Xcode & Interface Builder

 MVC architecture

 Cocoa bindings to reduce

dependencies between

models, views and controllers

 Objective-C, also supports

Java, Python, Perl

Trang 35

Common tools (cont’d)

Ruby on Rails

Trang 36

Common tools (cont’d)

Android

 Google mobile platform

 A software stack for

Trang 37

Common tools (cont’d)

S60/ Symbian Platform

Trang 38

Tool resources on the Internet

Trang 39

Tool terminologies

 Presentation – that part of the software that displays objects

 gets inputs from user and modifies screens

 Dialogue – describes the dynamic behavior of the interface

 what happens when button is pressed

 has code to determine next objects to display or modify

 Lay out – describes what the visual part will look like

 contains information on color, size, etc

 does not describe any dynamic behavior

 Dialogue/Domain Interface

 exchanges data between application and dialogue

 causes application and interface to be independent

 Domain – the core of the application

 performs non-interface calculations

 should have no knowledge of how data is displayed

Trang 40

Tool terminologies (cont’d)

 User Interface Management System (UIMS)

 Provides mechanism for separating the user interface & application

 Contains language for defining dialogue interface

 Interface Design Tool (IDT)

 Provides an interactive editor to layout the interface

 May provide limited dialogue definition

 Produces code that represents layout and dialogue (if any)

 Toolkits that are look and feel independent

 Allows application to be developed once & moved between platforms

 Toolkits

 Provide objects of user interface that define look and feel

Trang 41

UI Hall of Fame or Shame

Ngày đăng: 08/09/2017, 16:31

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN