一套适合SAPUI5初学者的循序渐进的学习教程教程目录SAPUI5本地开发环境搭建SAPUI5应用开发教程1:HelloWorldSAPUI5应用开发教程2:BootstrapSAPUI5应用开发教程3:接触第一个SAPUI5控件SAPUI5应用开发教程4:XML视图SAPUI5应用初探开发教程五:ViewController初探SAPUI5应用开发教程六——理解SAPUI5的模块概念SAPUI5应用开发教程七——JSON模型初探SAPUI5应用开发教程八——SAPUI5应用开发多语言支持教程9-创建第一个ComponentSAPUI5应用开发教程10-什么是SAPUI5应用开发的Descriptor教程11:SAPUI5容器控制页面和面板SAPUI5应用开发教程12-使用CSS类进一步美化UISAPUI5应用开发教程13-如何添加自定义CSS类SAPUI5应用开发教程14-如何使用嵌入式视图SAPUI5应用开发教程15-如何使用对话框和FragmentsSAPUI5应用开发教程第16期-图标图标使用SAPUI5应用开发教程第17期-UI5复合控件中的聚合和绑定使用SAPUI5应用开发教程第18期-SAPUI5数据绑定语法中的特殊符号,以及绝对绑定和相对绑定的概念详解SAPUI5应用开发教程十九——SAPUI5数据类型和复杂数据绑定SAPUI5应用开发教程二十——SAPUI5应用开发教程详解表达式绑定用法21——SAPUI5的CustomFormatterCustomFormatterSAPUI5应用开发教程22-filter过滤器开发和使用SAPUI5应用开发教程20三-排序SortandgroupingGroupSAPUI5的列表控件应用开发教程24-如何使用OData数据模型SAPUI5应用开发教程25-使用代理服务器解决SAPUI5应用访问远程OData服务的跨域问题SAPUI5应用开发教程26-OData详解Mock服务器使用服务步骤SAPUI5应用开发教程27-SAPUI5应用单元测试工具QUnit介绍SAPUI5应用开发教程28-OPA,SAPUI5应用集成测试工具SAPUI5应用开发介绍Tutorial29-SAPUI5RoutingandNavigationFunctionIntroductionSAPUI5ApplicationDevelopmentTutorial30-SAPUI5RoutingProcess中的ParameterTransferSAPUI5ApplicationDevelopmentTutorial31-SAPUI5RoutingHistoryandRoutingBackBack(路由回溯和历史)SAPUI5应用开发教程Part32-如何创建自定义SAPUI5控件SAPUI5应用开发教程Part33-SAPUI5应用开发的响应性SAPUI5应用开发教程三十四-SAPUI5应用基于设备类型的页面适配功能(DeviceAdaptation)SAPUI5应用开发教程三十五-如何将本地开发的SAPUI5应用部署到ABAP服务器SAPUI5应用开发教程三十六-使用Chrome开发者工具元素选项卡动态修改CSS类SAPUI5应用开发教程37-使用Chrome开发者工具ConsolepanelforelementreviewSAPUI5应用程序开发教程38-使用Chrome开发者工具查看程序执行出错时的上下文信息SAPUI5应用程序开发教程39-SAPUI5应用程序白屏的一些常见错误及分析方法分享SAPUI5应用开发教程40-Howtomakeacomponent-preload.jsSAPUI5发行版含SAPUI5应用开发教程第41期-Chrome扩展UI5Inspector离线安装使用SAPUI5应用开发教程第42期-SAPUI5自带的诊断打断工具使用介绍SAPUI5应用开发教程第43期-SAPUI5自带的SupportAssistant工具使用介绍SAPUI5应用开发教程第44期-水平对齐不足的原因分析及解决方法LabelandInputcontroltextSAPUI5应用程序开发教程四十五-如何在SAPUI5应用程序中使用jQuery和原生DOMAPISAPUI5应用程序开发教程四十六-使用MessageManager实现开箱即用验证(validation)信息抛出SAPUI5应用开发教程47-如何自定义SAPUI5字符串类型输入字段的验证逻辑SAPUI5应用开发教程48-如何在SAPUI5应用中开发条码扫描功能SAPUI5应用开发教程49-如何实现在桌面电脑上调试手机运行的SAPUI5应用程序SAPUI5应用程序开发教程50-如何使用Cordova将SAPUI5应用程序生成为可安装在Android手机上的混合应用程序SAPUI5应用程序开发教程51-如何使用Chrome调试运行在手机上的SAPUI5Cordova混合应用SAPUI5应用开发教程五十二-如何使用SAPUI5标准控件结合Cordova插件调用手机摄像头获取条码扫描SAPUI5应用开发教程五十三-如何自定义SAPUI5数据类型(DataType)SAPUI5应用开发教程54-如何将本地SAPUI5应用配置到本地FioriLaunchpadSAPUI5应用开发教程55-How使用本地的SAPUI5应用通过Node.jsExpress部署到公网。SAPUI5应用开发教程第56期-SAPUI5树控件(树)的开发SAPUI5应用开发教程第57期-基于OData注解的智能字段使用方法学习SAPUI5应用开发教程第58期-使用工厂方法在运行时指令动态创建不同类型的List行项目控件Jerry自2014年加入SAP成都研究院CRMFiori开发团队后就开始接触SAPUI5。SAP社区和“王子熙”微信公众号发表了多篇关于SAPUI5工作原理和源码分析的文章。在Jerry的文章中,对于对SAPUI5一窍不通的初学者来说,哪些资料比较适合入手学习呢?之前说过,Jerry也是从一个SAPUI5菜鸟一路走来的。他知道,对于一个只有ABAP开发背景的开发人员来说,要转型到SAPUI5开发领域并不容易。因此,我在业余时间设计了这个适合SAPUI5初学者的学习教程,把开发一个完整的SAPUI5应用程序的过程拆分成几个步骤,力求涵盖每个步骤涉及的所有知识点。这些知识点可能没有我的UI5源码分析系列那么深入,但力求通俗易懂,便于SAPUI5初学者看懂。本教程每一步的源代码都存放在我的Github上,分别用01、02、03等文件夹标识。每一步都是在上一步的基础上,增加了几个新的特性。建议零基础或对SAPUI5了解不多的初学者从第一步开始按顺序循序渐进学习,将这些代码下载到本地,配合教程的文字讲解,自己动手加深理解。如果大家对教程的每一步有什么疑问,欢迎在教程对应的步骤文章中评论留言。在本教程前面的第17步中,学习了列表控件的使用方法:SAPUI5应用开发教程十七——聚合绑定在UI5复合控件中的使用,如下图所示。列表中的每个行项目都使用相同的SAPUI5控件呈现。该表格控件的行项是使用SAPUI5的标准ObjectListItem实现的。在实际的项目开发过程中,我们经常会遇到一些比较动态的渲染需求,比如针对不同的列表行数据采用不同的方式渲染列表行本身。可能有朋友会说这个需求可以通过本教程第21步的自定义格式化器实现:SAPUI5应用开发教程21-SAPUI5的自定义格式化器例如下面这个例子:但是,格式化器只能自定义行项目显示的文本的内容和外观(例如颜色)。以上五个行项目仍然使用相同的标准控件ObjectListItem。对于不同的行项目数据,需要使用不同的SAPUI5控件来显示行项目本身,这个需求自定义格式化程序CustomFormatter无能为力。这种需求的标准解决方案是本文中描述的工厂方法。该步骤的效果如下:具体实现细节如下。
