热门标签 | 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

推荐阅读
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 本文探讨了高质量C/C++编程的最佳实践,并详细分析了常见的内存错误及其解决方案。通过深入理解内存管理和故障排除技巧,开发者可以编写更健壮的程序。 ... [详细]
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • Python入门:第一天准备与安装
    本文详细介绍了Python编程语言的基础知识和安装步骤,帮助初学者快速上手。涵盖Python的特点、应用场景以及Windows环境下Python和PyCharm的安装方法。 ... [详细]
  • 解析SQL查询结果的排序问题及其解决方案
    本文探讨了为什么某些SQL查询返回的数据集未能按预期顺序排列,并提供了详细的解决方案,帮助开发者理解并解决这一常见问题。 ... [详细]
  • 本文详细探讨了JavaScript中的作用域链和闭包机制,解释了它们的工作原理及其在实际编程中的应用。通过具体的代码示例,帮助读者更好地理解和掌握这些概念。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 在进行Revit插件开发时,经常会遇到窗口被其他应用程序遮挡的问题。本文将介绍如何通过简单的代码调整,确保插件窗口始终保持在Revit主界面的最前端,提升用户体验。 ... [详细]
  • 本文介绍了如何在C#应用程序中有效隐藏SQLCMD命令行窗口,确保程序运行时不会弹出黑色命令提示符窗口。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 本文探讨了在使用Selenium进行自动化测试时,由于webdriver对象实例化位置不同而导致浏览器闪退的问题,并提供了详细的代码示例和解决方案。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
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社区 版权所有