热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微软官方Windows8设计

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略一.C语言简史

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略

一.C语言简史

  • C语言于1972年发明,首次使用是用于重写UINX操作系统(UNIX以前是用汇编写的)
  • 随着UNIX操作系统的成功,C语言也得到了大幅度地推广,至今还是世界上最流行、使用最广泛的高级程序设计语言之一
  • C语言是一门面向过程的语言,非面向对象的语言

下面是2013年3月份的编程语言热门排行榜

从C语言诞生至今,它的热度一点也没减过,前两名基本上都是Java和C

 

二.C语言的特点

1.丰富的运算符

计算机的基本功能就是计算,因此一门程序设计语言的计算能力是非常重要的。C语言提供了34种运算符,计算类型及其丰富,其中包括了最基本的加减乘除运算。

2.丰富的数据类型

C语言之所以生命力如何强大,很大一部分是因为它拥有丰富的数据类型。C语言的数据类型有:整型(int)、实型(float)、字符型(char)、数组类型(int [])、指针类型(void *)、结构体类型(struct)、共用体类型(union)等,括号中的英文称为类型标识符。众多数据类型中,最强大的是指针,通过指针我们可以直接访问内存地址。指针使用得当的话,不仅可以节省代码量,还可以优化内存、提高性能。因此,指针是一个非常重要的概念,必须重视。如果你说C语言中除了指针,其他都学得挺好的,那你干脆说你没学过C语言。正因为C语言数据类型丰富,运算能力极强,因此很多数据库都是用C语言编写的,比如DB2、Oracle等。

3.允许直接访问物理地址,对硬件进行操作

由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元。

4.高效率的目标代码

对比汇编语言,C语言可读性好,易于调试、修改和移植,代码质量与汇编语言相当。

5.可移植性好

在一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行。

 

上面说的都算是C语言的优点,不过它肯定是有缺点的:

  • 由于C语言是面向过程的,因此它的数据封装性差、安全性低,这就是C语言和其他面向对象语言的区别之一。面向对象语言的特性之一就是数据的封装性
  • 语法限制不严格,对变量的类型约束不严格,对数组下标越界不作检查

 

三、C语言能做什么?

  • 由于C语言具有强大的数据处理能力,而且允许直接访问物理地址,直接对硬件操作,因此它适于编写系统软件、图形处理、单片机程序、嵌入式系统开发甚至是用于科研
  • 很多操作系统的底层都是用C语言写的,比如android
  •   iOS开发中的核心语言是Objective-C(简称OC),OC是在C语言的基础上加了一层面向对象语法

 

四、C语言的版本问题

从UNIX操作系统的成功后,C语言得到了广泛地应用,从大型主机到小型微机,都有C语言活跃的身影,也衍生了很多个版本的C语言。长期以往,C语言将可能成为一门有多个变种、松散的语言。一门正式的语言,肯定要有个标准才行,不然就乱套了。为了改变这种局面,1983年美国国家标准局(American National Standards Institute,简称ANSI)成立了一个委员会,开始制定C语言标准的工作。1989年C语言标准被批准,这个版本的C语言标准通常被称为ANSI C。

 
 
分类:  iOS开发前奏1-C语言
标签:  ios,  编程,  软件,  iphone

花了两天时间,对微软开发中心的《Windows 8 应用商店应用的设计指南》进行相关整理。本文归纳提取了相关要点,并在某些部分加入了自己的理解。 中文原文地址 英文原文地址

--------------------------------------------------------------------

导航

分层系统

 

中心页-部分页-详细信息页

平面系统

 

 

顶部应用栏-切换

导航剖析

 

①页眉和后退按钮:页眉可标记当前页,便于查找;

②中心页:类似首屏,将应用程序不同区域的信息显示在第一个屏幕;

③内容部分;

④语义缩放:当视图为很长的平移列表时,方便快速浏览信息和移动视图;

⑤顶部菜单栏:导航控件;

⑥页眉菜单:导航菜单,方便用户切换到不同页面;

⑦主页链接:用于快速返回根目录;

⑧底部应用栏:各种特殊视图命令;

⑨查看、排序、筛选

⑩边缘

使用标题菜单和部分标签进行导航

 

使用filters, pivots, sorts and views进行导航

 

filters:筛选。例如"人脉"应用里面,切换来自Facebook或者是Twitter的信息源;

pivots:最顶端那个导航条;Windows Phone 和 Windows 8 的特色;

sorts:排序;

views:视图,如"日历"应用的"今天"、"月"、"周"视图;

 

命令模式

 

使用画布

 

对于某些应用来说,可以直接在画布上提供内容的直接操作,而不是添加一个进入到下一层级的命令。

 

使用超级按钮

 

这块没啥好说的,微软定义的几大块功能:搜索、分享、设备、设置。

 

使用应用栏

 

这边的命令多与视图有关。

 

使用上下文菜单

 

比如说复制粘贴文本,复制或打开超链接。

 

命令放置

 

组织命令

 

首先,需要考虑应用需要用到哪些命令,把他们列出来。

     

 

创建命令集

 

其次,把上面的命令归类。

View commands

Filter commands

Sort commands

   

Selection commands

Map view commands

New Item commands

 

 

创建菜单

 

接着,我们需要考虑上面的分组结果能否简化。比如,筛选有四个按钮,能否把它们整合到一起。

 

将命令添加到应用栏

 

1.如果数量不多,把所有命令都放到App Bar的右边去。

 

2.当数量较多时,可以利用App Bar的两边边缘进行放置。

 

3.对于某些不应该在某种场景下出现的命令按钮,应该在相关环境下隐藏起来。

 

4.当出现新的语义菜单时,新增的命令按钮永远在原按钮的左边。

 

为常用命令提供标准位置

 

选择命令永远在左边

 

 

对于"新建项目"命令,需要考虑两点:不是所有情景之下都需要新建按钮,适时隐藏;与新建对应的按钮有几种,根据不同情景进行选择。

 

            

 

 

触控模式

 

触控原则

 

使用语义缩放实现快速导航

 

提供视觉反馈

 

互动应该可逆

 

不限制手指的个数,提供统一的操作体验

 

 

触控语言

 

长按以查看详细信息或可视化引导性内容

 

滑动以平移

 

轻扫以选定,进行后续操作(For Windows 8)

 

收缩和拉伸以缩放

 

旋转以转动

 

从边缘处轻扫使用系统命令或应用命令(For Windows 8)

 

触摸手势

 

互动区域: 由于人们通常持握平板电脑的边侧和底部边角,因此,边侧是放置所有可互动内容的理想位置。

阅读区域: 屏幕上半部分的内容比下半部分的内容更容易看到,下半部分的内容常常被手遮住或忽略。

四种常见平板握法

一只手持握,另一只手进行少量到中度的互动

  • 在右边缘和底边缘处实现快速互动。
  • 右下角可能被手腕挡住。
  • 限制有效触控范围可提高触控的准确性。
  • 阅读、浏览、发送电子邮件和简单键入。

两只手持握,拇指进行少量到中度的互动

  • 在左下角和右下角处实现快速互动。
  • 固定的大拇指可提高触控的准确性。
  • 屏幕中央的项目难以触及。
  • 对屏幕中央进行触控时需要更换姿势。
  • 阅读、浏览、简单键入、游戏。

设备位于桌面或腿上,两只手进行少量到大量互动

  • 在屏幕底部实现快速互动。
  • 下边角可能被手腕挡住。
  • 缩小有效触控范围可提高触控的准确性。
  • 阅读、浏览、发送电子邮件和复杂键入。

将设备置于桌面或搁架上,使用互动或不使用互动

  • 在屏幕底部实现快速互动。
  • 在屏幕顶部进行触控操作会遮挡住内容。
  • 在屏幕顶部进行触控操作时可能会使处于连接的设备失去物理平衡。
  • 隔一定距离处进行互动会降低可读性和准确性。
  • 加大目标对象的大小可以提高可读性和准确性。
  • 观看影片、听音乐。

 

有关目标大小的准则:

7x7 mm:建议的最小值

如果对错误目标的触控可通过一两个手势或在 5 秒内更正,则 7x7 mm 是合适的最小值。目标之间的间距与目标大小同样重要。

当准确性非常重要时

关闭、删除和其他具有严重后果的操作无法承受意外的点击。 如果对错误目标的触控需要超过 2 个手势、5 秒或主要的上下文更改才能更正,则可以使用 9x9 mm 的目标。

当屏幕难以容纳下时

如果你发现很难在屏幕中装下想要的内容,也可以使用 5x5 mm 的目标,只要对错误目标的触控可通过一个手势更正。在这种情况下,在目标之间使用 2 mm 的间距非常重要。 

 

品牌植入

 

可视元素

描述

颜色

颜色是展现品牌的关键属性。通过告知人们此应用来自你的企业的方式,应用与你的品牌关联的主要颜色

图形

通过将字符添加到内容的演示中,使用图形来增强你的品牌。但是过多的图形可妨碍你的内容的流畅性,并且看上去仅仅起到装饰效果或者可能会分散注意力。

图像

插图和摄影也可反映你的品牌。重复使用来自你的公司的其他沟通方式或网站中的相同影像和风格。

网格

Windows 应用商店应用网格系统帮助统一你的应用演示的视觉元素。该网格将调整你的品牌化应用的 UI 以使用 Windows 的其余部分。

布局

所有页面的视觉元素的布局安排都应与你的品牌相关。你还应尽力在页面和内容类型间实现一致性。

徽标

使用你的徽标以帮助人们快速识别你的应用和你的品牌。

版式

字样是 Windows 应用商店应用的一个关键部分。正确的选择可以像颜色、徽标或布局一样对你的品牌具有影响力,因此请考虑你要使用的版式。 

 

几个例子:

 

 

 

----------------------------- THE END ----------------------------

 
 
 
标签:  交互设计,  设计规范,  Windows 8

推荐阅读
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在深入探讨进程间通信技术时,本文重点解析了描述符传递的方法。通过详细分析发送和接收描述符的过程,文章首先介绍了发送描述符的具体步骤,并提供了相关函数原型。此外,还讨论了如何高效地在不同进程之间传输文件描述符,以实现资源的共享和同步。这一技术在多进程应用中具有重要意义,能够显著提升系统的性能和可靠性。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 蓝桥竞赛中的回形取数问题是一个经典的算法挑战。本文详细解析了该问题的正确实现代码,重点探讨了 `hasNext()` 和 `next()` 方法的区别与应用。尽管两者在功能上类似,都会等待用户输入下一个字符,但它们的返回值类型不同,`hasNext()` 返回一个布尔值,表示是否还有输入,而 `next()` 则直接返回下一个输入的值。通过具体的代码示例和详细的逻辑分析,本文为参赛者提供了宝贵的参考和指导。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • javax.mail.search.BodyTerm.matchPart()方法的使用及代码示例 ... [详细]
  • Flutter 2.* 路由管理详解
    本文详细介绍了 Flutter 2.* 中的路由管理机制,包括路由的基本概念、MaterialPageRoute 的使用、Navigator 的操作方法、路由传值、命名路由及其注册、路由钩子等。 ... [详细]
  • Ping 命令的高级用法与技巧
    本文详细介绍了 Ping 命令的各种高级用法和技巧,帮助读者更好地理解和利用这一强大的网络诊断工具。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 深入解析 Java UTC 时间处理技术与应用 ... [详细]
  • 本文详细介绍了在Windows XP系统中安装和配置Unix打印服务的方法,以支持远程行式打印机(LPR)功能。对于同时使用Windows 2000 Server打印服务器和Unix打印服务器的网络环境,该指南提供了实用的步骤和配置建议,确保不同平台之间的兼容性和高效打印。 ... [详细]
author-avatar
TT0852_235
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有