10大快速创建完美LightSwitch移动应用程序的技巧

[原文发表地址] Top 10 Quick Tips for Building Great Mobile LightSwitch Apps [原文发表时间] 23 May 2013 11:31 AM 我最近使用LightSwitch创建了许多HTML客户端,所以我想我应该分享一些快速的技巧,以便你在创建完美的移动应用时使用。(你需要将Visual Studio 2012更新到Update2来获得LightSwitch HTML客户端) #1 – 建议对浏览器屏幕使用平铺列表和利用行&列布局 由于LightSwitch自动调整屏幕来适应不同表单元素,在你的浏览数据屏幕上使用平铺列表代替默认的列表控件是一个不错的想法,特别是你有许多字段想显示在平铺列表上。在平铺列表中利用列布局控件和行布局控件来放置数据相当不错。平铺列表的宽度默认是自动调整以便来适应屏幕(但不会比你指定的宽度小)。如果你想使用固定的宽度,选择行布局控件,在属性窗口中取消选中“Adjust Tile Width dynamically”项。 #2 – 将过滤器作为弹出窗口显示以节省空间 在内容树的底部,所有屏幕都有一个弹出窗口区域,你可以使用它来设计针对该屏幕的“弹出窗口”对话框。你可以使用它们来显示/收集屏幕上附加的或可选的信息。当你设计查找屏幕的时候更喜欢在移动设备上使用这些弹出窗口。你的可选查找字段将不会占据宝贵的空间,这样就允许重要的内容显示在最上面。 快速的添加一个可选的过滤器,在视图模式的屏幕设计器上选择“Edit Query”… 添加过滤器以及可选参数… 在树中选择Popup节点,点击“Add Popup”。将组命名为“Filter”。接着将可选参数拖到popup组里。这将自动的为你创建本地的屏幕属性。 最后在命令条上添加一个按钮,设置点击动作来显示popup。如果你想的话,在属性窗口里改变命令条图标为“Filter” 当用户点击按钮的时候,popup过滤器就显示出来了: 注意你可能愿意创建全局查询,那样就可以跨屏幕来重用筛选的查询。 – 请参考下面的#6 #3 –考虑你的主-从选项 打断一下,我已经写了关于在屏幕上显示主-从数据不同的方式。 如果你错过的话,你可以参考:主-从屏幕与LightSwitch HTML客户端 这是我总结的那篇文章上的一些技巧: 必要的话,LightSwitch可以为不同表单元素自动调整屏幕的布局 当你有很多子数据需要显示或者你的目标是较小的移动设备如手机,在主-从屏幕上使用标签控件(Tab Control)是一个不错的想法。这样限制了用户一次浏览/编辑的信息量。当你选择了很多的数据集显示的时候,这是你在屏幕上获得的默认的布局 对于较小的数据集,将所有的数据显示在单一的标签上效果不错,前提是你不会很多数据需要同时浏览/编辑(如下面的贴图)或者当你的用户使用大尺寸的设备如平板电脑。 #4 – 使用占位符文本来解释字段(比较简洁的提示文本)…


LightSwitch社区和内容汇总 – 2013年5月(更多)

[原文发表地址] LightSwitch Community & Content Rollup– May 2013 (+more) [原文发表时间] 2013-06-11 3:00 PM 去年我开始发一些围绕Visual Studio LightSwitch产生的趣事、内容、示例和扩展的汇总。如果你错过了这些汇总,你可以在这里全部找到他们:LightSwitch社区和内容汇总。 哇!这次的汇总晚了还是怎么了?对不起,但过去的三个星期我一直在前往各地进行会议发言。现在回到家,回到我的Groove前真是太棒了。既然六月已经过去了超过三分之一,我会添加一些上周刚刚发生的重点内容和事件—比如新奥尔良TechEd大会!但首先… LightSwitch JavaScript 运行时客户端更新 1 在五月初,我们发布了一个更新我们的JavaScript运行时以支持jQueryMobile1.3。当为我们的HTML客户端选择jQuery、jQueryMobile、datajs时,我们认识到,我们需要适应这些框架采用的的快速发布节奏。我们的应对方法是通过NuGet找到已知的错误和新版本的jQuery、jQueryMobile、datajs的兼容性问题,开始为我们的HTML客户端运行时提供一系列小型的检修版本。 看LightSwitch团队博客上的这个帖子来了解如何更新: 公布运行时更新1- 支持jQueryMobile 1.3 2013 美国南部TechEd大会 上周,我在新奥尔良TechEd大会上演讲,发表了几次LightSwitch会话,主要说明了4月初发布的Visual Studio 2012ript中增加的HTML5l Studio 2012。第一次演讲是如此受欢迎,我被要求在会议的最后一天重复。那次LightSwitch的会话也位居TechEd开发者的会议前10名!感谢所有参加的人 —— 我想我上周一定对着400人演讲。真棒。 TechEd上最好的事情是,所有的内容是可以在网上免费找到!在这里查看会话: 在Windows Azure上用Microsoft Visual Studio LightSwitch 创建先进的基于HTML5的商务应用 用Microsoft Visual Studio LightSwitch为SharePoint2013创建先进的基于HTML5的商务应用 也不要错过这些动手实验室,在您的计算机上就能尝试,即使你没有安装Visual Studio! 使用Microsoft Visual Studio LightSwitch创建JavaScript和HTML5手机应用 使用Microsoft Visual Studio…


用MSDN权益转化你的Office 365 开发人员预览

[原文发表地址] Use Your MSDN Benefit to Convert Your Office 365 Developer Preview [原文发表时间] 2013-05-20 1:58 PM 用LightSwitch开发SharePoint程序最简单的入门方式就是在dev.office.com上注册一个Office 365 开发人员免费体验帐户。因为Office 365已经从预览版走向了发布,如果你注册的是一个预览版帐户, 那么到5月31号以后它将转成一个付费订阅。这样做才能保住你所有的内容。 你可以用你的MSDN订阅权益获得免费一年。这是来自Office content团队的Randall Isenhour (@SharePointDev) 所创建的详细步骤的slideshare。 来自Randall Isenhour的用MSDN权益将Office 365 开发人员预览转化为付费订阅 我刚刚转化了我的帐户,大概花了5分钟。 更多详细内容请参阅Office与SharePoint的应用程序博客: 将你的Office 365开发人员订阅预览转化成一个一般可用性订阅来保存你的内容 尽情享受吧!


保存存在一对一关系的数据

[原文发表地址]Saving Data Across One-to-One Relationships [原文发表时间] 2013-05-09 01:59 AM 关于如何在Visual Studio LightSwitch数据表中添加有着一对零或者一对一关系的数据,我最近产生了两个疑惑。相关记录是否是强制性的(必须有的)决定了你插入数据时拥有的两种不同的选择。在这篇博文里,我将向大家展示在桌面和手机客户端做这类数据保存操作的两种不同的选择。 数据模型 我们以一个简单的客户数据模型和相关表格CustomerNote为例。一个客户端可以在relationship中定义0到1条note。 在我们创建自己的客户屏幕时,LightSwitch会自动引入CustomerNote字段。对于编辑屏幕这正是我们需要的,因为这样就可以允许用户在一个屏幕上编辑所有表格的字段了。然而,在AddNew 屏幕上,LightSwitch 不会自动添加一条记录到CustomerNote表中——我们需要根据note是否是强制性地来为此操作写代码。 向SilverLight 客户端添加代码 为了使Silverlight桌面客户端支持这个功能,我们需要添加一些VB(或者C#)的代码。 强制的:总是需要添加一条相关记录 如果你需要总是添加一条相关记录的话,那就采用_Created事件。打开根记录(例子里:Customer)的数据设计器,选择DesktopClient perspective,然后在_Created事件中写代码来实现一旦插入根记录便自动添加一条相关记录。 添加如下粗体的代码。 VB: Public Class Customer Private Sub Customer_Created() Me.CustomerNote = New CustomerNote() End Sub End Class C#: public partial class Customer { partial void Customer_Created() { this.CustomerNote = new CustomerNote(); } }…


为LightSwitch HTML客户端添加签名

[原文发表地址] Adding a Signature Control to the LightSwitch HTML Client [原文发表时间] 24 Apr 2013 8:02 AM LightSwitch 是关于快速创建业务解决方案 – 定义你的数据模型&业务规则和利用一套内嵌的控件以可视化的方式创建屏幕。它完成了所有枯燥的工作这样你就可以精力集中在应用程序的真正价值上。但是LightSwitch同样允许各种自定义化,所以你不会遇到不知名的“玻璃天花板”。当团队打算建立LightSwitch HTML 客户端时,他们需要保证可扩展的模型是相当简单的,并与网页开发人员建立解决方案的方式一致。 对于Silverlight 客户,扩展的作者必须了解一系列的LightSwitch的可扩展性模型以便提供的扩展易于LightSwitch开发用户使用。在Visual Studio Galllery中关于LightSwitch的扩展 (即为签名控件)超过100种(还在增长)。但是对于HTML客户端,我们需要利用已有的大量的网页生态系统,那样添加自定义就像查找JavaScript类库并添加到你的应用程序一样简单。 团队成员已经写了很多关于在LightSwitch中混合自定义控件和数据绑定的文章。这儿有几个: 使用Map控件可视化列表数据(Heinrich Wendel) 使用jQuery Mobile增强LightSwitch控件(Michael Zlatkovsky) 在LightSwitch HTML客户端自定义控件和数据绑定(Joe Binder) 特别地,最后一篇来自Joe的文章极大地帮助了我。除了其他事情外,它描述了HTML 客户端的2个UI定制的挂钩– render 和postRender事件。如果你需要修改LightSwitch创建的DOM元素(例如控件),可以使用postRender事件。它允许你添加元素就像添加CSS类或者其他的DOM属性。但是,如果你想要自己完全掌控显示的话,你可以通过使用LightSwitch自定义控件元素的render事件来实现。 LightSwitch是基于jQuery和jQueryMobile创建的单页面应用程序(SPAs),因此有相当多的插件供LightSwitch使用。具体使用哪一个完全依赖于你需要给用户提供什么或者设备需要支持什么。在这里,我想给你展示一个快速的基于jSignature插件的混合签名控件的方法。 你可以在从这里下载完整的示例代码。 添加类库到你的LightSwitch项目中 第一步是获取你所需的控件。通过在Visual Studio中检索网页,查找目录,请求朋友,浏览NuGet,或者(天都不会答应的)自己写一份!你需要保证添加到应用程序中的任何自定义代码都能正常工作。jSignature有一个在线演示, 在做之前,你可以在你想要支持的设备上测试一下其是否正常工作。据说这个特殊的类库能够在许多设备上正常工作,其拥有很好的输入/输出特性,和良好的文档,这就是选择这个来举例的原因。 一旦你下载jSignature, 解压ZIP文件。打开你的LightSwitch工程,轻击Solution Explorer中的File View选项, 将jSignature.min.js类库拖到你的HTML客户端项目下的Script文件夹中。 接下来打开default.htm,添加引用脚本: 现在你已经准备好在你的LightSwitch应用中使用签名控件了。 添加自定义控件 为这个例子,我已经建立了简单的测试数据模型来追踪工作顺序。一旦雇员完成一个工作指令,他们需要签名。在LightSwitch中有许多方法来存储jSignature数据。jSignature支持许多类型的格式,详情请参考文档。针对这个例子,我将展示如何把它存储为图片业务类型的图片,以及存储为能够重新载入到jSignature控件中的被压缩的base30字符串。…


通过LightSwitch ServerApplicationContext 和WebAPI 获取用户权限

[原文发表地址] Using LightSwitch ServerApplicationContext and WebAPI to Get User Permissions [原文发表时间] 2013-4-17 12:36 PM 在上一篇博文中,我向大家介绍了通过HTML客户端界面检查单个用户权限的简便方法,以此禁用/启用 UI 元素。如果你只想查看两个权限而且也不想去写一堆代码,那么这个简单的窍门很适合你。但是,如果你想通过客户端HTML应用程序来查看很多权限,或者你需要向自己在LightSwitch服务器上创建的自定义web客户端返回用户权限时,更好的办法就是为登录的用户一次性获取所有的权限并将这些权限存储在客户端,这样的话在任意界面都能获取它们而不用再去访问数据库。 LightSwitch的基本原理是为快速创建企业应用程序提供RAD 工具,但仍然在需要时允许随时随地高级自定义设置。在这篇博文中我将向大家演示如何通过Web API和LightSwitch ServerApplicationContext(这个我已经在Visual Studio 2012 更新 2介绍过)创建一个自定义网站,从而返回用户权限。如果不记得Matt有关于此的博文,请查看:应用 the LightSwitch ServerApplicationContext API。 你可以在这里下载文中的示例代码。 创建权限和提高数据安全性 提高基于用户权限的数据安全性的第一步就是定义你的权限并且通过全局访问控制方法来查看权限。举个例子,我们要创建两个权限“CanAddCustomer”和“CanEditCustomer”来决定用户是否可以对服务器上的自定义实体进行插入和编辑操作。 打开Project Properties,定义你的权限。确保能够认证,然后勾选调试时需要启用的权限。 在data designer选择Server perspective,然后打开Write Code的下拉菜单并选择Customers_CanInsert和Customers_CanUpdate这两个访问控制方法。 然后编写如下代码来允许或者不允许用户的插入和编辑操作。 VB: Private Sub Customers_CanInsert(ByRef result As Boolean) result = Me.Application.User.HasPermission(Permissions.CanAddCustomer) End Sub Private Sub Customers_CanUpdate(ByRef result…


LightSwitch使用窍门:在HTML客户端检查用户权限的简便方法

[原文发表地址] LightSwitch Tip: A Simple Way to Check User Permissions from the HTML Client [原文发表时间] 2013-04-12 08:36 AM 4/17更新:如果您不怕写代码,这里一种更为可靠的方法,通过调用HTML客户端从数据库中来获取所有用户权限,并通过JavaScript可以在任何屏幕上显示:使用 LightSwitch ServerApplicationContext 和 WebAPI 来获取用户权限 —————- 一直在用LightSwitch的人知道我们支持一个很强大的权限系统,允许开发人员定义某些权限,然后在代码中检查它们。LightSwitch实体提供了大量的”CanExecute”挂接和查询,它们可用于检查周边数据权限和查询操作。 例如,如果您已经定义了一个”CanAddCustomer”的权限,您能够检查允许在服务器上插入一个客户实体之前,用户是否有此权限。首先在项目属性的访问控制选项卡上定义权限: 然后在数据设计器中选择Server perspective,然后下拉"Write Code"按钮并选择 Customers_CanInsert 的访问控制方法: 然后您写类似下面代码来允许或者禁止客户的插入: Private Sub Customers_CanInsert(ByRef result As Boolean) result = Me.Application.User.HasPermission(Permissions.CanAddCustomer) End Sub 您总是想要确保这种服务器端的方式,保护您的系统中的数据。然而,有时候为了隐藏/取消隐藏 (或启用/禁用) 在屏幕上的元素,我们也想在UI中使用权限来检查。 在Silverlight桌面客户端,这是很容易做到的,是因为我们使用便携式的程序集,这些程序集允许LightSwitch在客户端与服务端之间共享代码。您从屏幕中获得一个任何时间都对您有效的User对象。在HTML客户端中不存在这种情况,但所有都不会丢失! 定义查询 假如您想在HTML客户端屏幕来检查权限,最简单的方法就是添加查询并且确保在服务器端的查询。例如,添加基于客户的查询,称为”CanAddCustomer”: 然后在CanAddCustomer_CanExecute方法中添加如下代码来检查权限: Private Sub CanAddCustomer_CanExecute(ByRef result…


LightSwitch社区&内容汇总 – 2013年3月

[原文发表地址] LightSwitch Community & Content Rollup–March 2013 [原文发表时间] 2013-04-02 11:19 AM 去年我开始发一些围绕Visual Studio LightSwitch产生的趣事、内容、示例和扩展的汇总。如果你错过了这些汇总你可以在这里全部找到他们:LightSwitch社区和内容汇总。 Visual Studio 2012 更新2 中的LightSwitch 三月对于我们而言是一个令人兴奋的月份,因为我们在Visual Studio Update 2 CTP4里发布了最后一个HTML客户端预览版本!新的HTML5 以及基于JavaScript的客户端解决了日益增加的以触摸为导向的业务应用程序的需求,这种应用程序在现代移动设备上运行良好。这个预览版本也支持将这些程序发布到SharePoint 2013 和 Office365,所以你也可以用LightSwitch创建SharePoint 2013的程序。想尝试请参阅: Visual Studio 2012 Update 2 之LightSwith入门 更新过的教程 伴随最近的发布, 我们大修了两个教程,这在使用HTML客户端进行开发和使用SharePoint 2013进行工作方面,给您提供了很好的介绍。 如果你们还没有查阅这些,我鼓励大家去看看:  LightSwitch HTML客户端教程  LightSwitch SharePoint教程 与Andy Kung一起“循序渐进” Andy 是我们最受欢迎的团队作家之一,他将另一系列精彩的文章放在一起,您可以使用LightSwitch一步步创建一个移动应用程序。这个程序是一个剪贴板式的程序,它能让人们签到活动,它给任何想学LightSwitch和HTML客户端的人做了一个很好的介绍。想看他的”签到“系列请参阅: 签到第一部分 – 介绍 签到第二部分 – 即将发生的事件界面 签到第三部分…


LightSwitch HTML 客户端 和 SharePoint 资源-今天就开始构建HTML5 业务应用程序!

[原文发表地址] LightSwitch HTML Client & SharePoint Resources–Get Started Building HTML5 Business Apps Today! [原文发表时间] 2013-04-04 11:46 PM 今天早晨我们在Visual Studio 2012 更新 2 中发 布 了 LightSwitch HTML 客 户 端 !看到它向公众发布,我无法表达自己有多么激动。这是一个令人兴奋的,充满挑战的旅程,这是这个产品的重要里程碑,而这个产品是最令人兴奋的产品之一,祝贺这个产品的团队,并庆幸自己是其中一员。感谢社区、团队、家人过去几年对我和LightSwitch 的支持。 Visual Studio 2012 更新2中的LightSwitch (注意:如果你正从更新2 CTP4升级,你可以继续并安装最终发布的更新2。LightSwitch Preview 2 的用户请阅读这些重要的升级说明。) 在发布Visual Studio 2012 更新 2中的 LightSwitch的同时,在LightSwitch 开发人员中心我们也发布了一堆更新和资源供您查阅。   新的“我该怎么办”视频! 是的,如您所想,我们有一个新的“我如何……?” 视频系列 ,这将有助你开始使用新的HTML客户端!(是的,那是我的声音,所以用它吧J) 现在我有5 个视频,在未来几周,敬请期待更多!…


主-详细信息屏幕与LightSwitch HTML客户端

[原文发表地址]  Master-Detail Screens with the LightSwitch HTML Client [原文发表时间]  2013-03-21 9:01 AM 自从几周前我们发布了最新版本的LightSwitch HTML Client,团队就已经在LightSwitch Team blog加了一些很好的关于新的功能以及怎么用的内容。并且还会有更多。 如果你是刚开始接触HTML客户端,参见:Getting Started with LightSwitch in Visual Studio 2012 Update 2 。 在这篇博文中我想给你展示如何用LightSwitch Screen Designer来创建你想要的主-详细信息屏幕。你只要稍加练习就可以用屏幕设计器非常灵活地自定义屏幕布局。事实上,屏幕设计器上有如此多的好东西我不会涵盖所有你可以做的(查找相关的视频很快)。相反我想将重点放在一些不同的你可以用来显示主-详细信息屏幕的方法上。是Heinrich在Designing for Multiple Form Factors 上的一篇精彩文章激发了我写这篇文章,那篇文章解释了LightSwith是如何承担起为你决定根据屏幕的尺寸来布局屏幕内容的最佳方法的重任的。 我将展示一些不同的可以设计主-详细信息屏幕的方法来实现你的创作梦想,但是记住这些只是建议。最后你可以完全灵活地用你脑海中的的数据和用户任意地创建屏幕。 安装我们的数据模块 我将准备用一个在Beginning LightSwitch Series上生成的应用程序并且扩展了它的移动客户端。它是一个用来管理联系人或者商业合作伙伴的非常简单的应用程序。这通常是一个大的业务系统的一部分,但是在这里作为例子它足够了,因为有多个一对多关系。Download the Sample App并且在家里随时跟着做。 下面是我们的数据模型。一个Contact与它的PhoneNumbers, EmailAddress, Addresses有着一对多的关系。 添加HTML客户端“Home”屏幕 首先我们需要升级这个应用程序以便充分利用新的HTML客户端,然后我们将可以添加一个用户运行这个程序时就可以看见的屏幕。 在Solution Explorer, 右键工程并选择“Add Client…”。 给客户端命名为“HTMLClient”并且单击OK键。这样将会使你的工程从LightSwith版本2升级到版本3。在Solution Explorer中你将会看到一个叫做“HTMLClient…