注:本文节选自飞沫课 FileMaker 入门教程,为现在加拿大 Direct Impact Solutions 咨询公司工作的资深 FileMaker 开发者丁炜昊所编写。丁炜昊自研究生毕业之后,便在北美从事 FileMaker 开发工作。在工作期间,他经历了从 FM 新手到资深开发者的成长过程,并在后期负责公司 FileMaker 新人培训工作。以下内容,便是基于其个人成长和公司内训的经历和经验所编写。
职业型开发者三点价值
在上篇中,我介绍了自用型开发者和相关的知识要求。这一篇,我继续分享职业型开发者需要具备的知识体系。相对于自用型开发者,职业型开发者需要学习和理解更多更复杂的知识。当然,职业开发者因此也就具备了更高的价值。简单概括一下,有如下三点,与君共勉。
第一个是更短的开发时间。职业开发者在 FileMaker 的软件设计和开发等方面的经验使得他们在处理同样的问题、尤其是相对复杂的问题时往往用的时间更少,也不会走太多弯路。
更短的开发时间意味着更快投入生产,更早的让投资产生回报。这本身就是使用 FileMaker 开发软件的优势,而这一优势在职业开发者身上能最大的体现出来。
第二个是更好的用户体验。更好的用户体验不仅仅体现在好看的用户界面以及操作体验上。一个软件的整体稳定性,对于错误的处理都会影响用户的体验。一个好的职业开发者对于自己作品的要求不仅仅局限在“能用”而是要追求“好用”。这里涉及到很多不从事软件开发这个行业很难接触到的要求(好比捕错、事务、非直接引用)。在这些方面职业开发者或者咨询公司往往有着更高的标准,这也就使得最终产品有着更高的质量、更好的用户体验。
第三个是更多的行业知识。这里的行业知识和自用型开发者所需要具备的对公司和产业的理解是不完全一样的。这里所说的行业知识更多指的是开发针对某一行业软件的知识。这种知识会帮助职业开发者更好的将商业需求转化成软件功能。
结合自身对于FileMaker软件本身的认识,可以有效的促进开发者和用户之间的交流,并选择最适合的功能来实现需求。很多时候甚至还可以根据过往经验推荐一些用户想不到的的功能来进一步提高生产管理效率。
职业型开发者知识体系
数据模型:
·能够将客户给出的应用场景翻译成对应的实体和属性
·能看懂并创建的实体关系图(ERD)
·掌握字段的自动录入选项及其在创建、复制记录时的行为
·掌握字段验证的各个选项的行为和用途
·应用 Anchor-Buoy(锚标法)命名法
·理解什么是creational relationship
·理解什么是cascade deleting
·理解字段的索引
·理解什么样的字段可以用来搭建关系图
·理解不同字段类型的区别和用途
·学会使用关系图来做记录过滤和排序
·学会使用外部数据源,并理解外部数据源验证
·可选内容:学会使用动态的外部数据源
布局设置:
·理解什么是上下文(Context)及其对布局的影响
·熟练应用检查器上的一切设置来设置布局对象在各个状态下的各项属性
·熟练运用主题、样式来保证系统外观的一致性
·理解主题、样式的六层优先级
·掌握一定的页面设计的知识,尤其是 iOS 页面开发准则
·知晓如何在页面上建立视觉优先级
·理解浏览模式下布局目标的行为,尤其是滑动(sliding)行为
·会创建常规值列表、基于表的值列表、基于相关表的值列表
·会实现基于关系图的入口过滤
·会入口动态排序
·会设置并使用自定义菜单
计算:
·数学类的计算:都要知道。
·文字处理的计算:都要知道
·处理多值列表的计算:都要知道
·日期类计算:都要知道
·时间类计算:都要知道
·逻辑函数:都要知道
·Get函数:常用的都要知道,日期、用户、系统版本、浏览设备等等
·设计函数:都要知道
·ExecuteSQL:会写基本的SQL指令,知道什么是动态间接引用,知道如何避免写死的间接引用,知道怎么从指定列表里取值
·会创建简单的自定义函数
·在有使用说明的情况下能够使用插件里的外部函数
·16版本的新要求:会用 JSON 处理函数
脚本:
·学会使用脚本注释功能,理解并始终如一的维护代码可读性
·掌握绝大多数脚本步骤的用法并在适当的时候使用
·会书写具有事务性的脚本
·会捕错,并知道在什么脚本步骤后需要捕错
·理解脚本模块化,并在可操作的范围内进行脚本模块化
·会使用 FileMaker Pro Advanced 脚本调试器和数据查看器
报表:
·会使用各种合计字段
·会创建 Sub-Summary 报表
·会创建 Cross-Tab 报表
·会使用自带的图表功能及其他 JS 图表
·会使用 ExecuteSQL 来跨上下文获取总计信息用于创建图表或虚拟表
·会使用虚拟列表(Virtual List)
安全性:
·理解自定义权限集的方方面面
·理解安全性和可用性的区别
·理解扩展权限的作用和用法
·理解第三方验证的作用原理和设置方法(包括常见的Active Directory, Open Directory以及FM16新增的OAuth验证)
·理解EAR (Encryption at Rest)的作用和设置方法
·理解SSL的作用和设置方法
部署:
·知道怎么查 FileMaker Pro,FileMaker Server,FileMaker Go还有 WebDirect 的技术手册
·能够帮助客户判定他们的硬件和操作系统是否达到当前支持的 FileMaker 版本标准
·会安装、升级FileMaker Server
·会根据最佳实践来配置 FileMaker Server
集成:
·掌握与网络应用集成的常用思路,能够与提供了 API 的网络应用做集成
·会配置 FileMaker 使其能够连接外部数据源
·会将 FileMaker 配置成其他应用的外部数据源
·能够在有使用说明书的情况下使用第三方插件
·能够通过第三方插件与其他兼容桌面应用做集成
·会使用 PHP API 来使用自定义网络发布
·理解 WebDirect 的局限性,并创建兼 WebDirect 的应用
·可选内容:结合 URL Schema 与 Web 查看器中的 JS 做数据交互,扩展应用的功能
·可选内容:FileMaker Data API
·可选内容:Tableau Connector
其他:
·掌握敏捷软件开发的基本流程
·能够用简洁易懂的语言和不具备技术背景的用户、客户在软件开发的过程前中后交流
·理解 FileMaker 的多种许可模式,帮助客户选取适合的许可模式
·学会站在客户的角度思考问题
·不断的积累行业知识,学会问问题来帮助自己理解客户的行业并通过学习、交流来获取开发该行业软件的知识
·可选内容:掌握一定的项目管理知识技能,理解铁三角的关系以及基本的管理和交流方法。
·可选内容:掌握一定的商务分析知识技能,可以准确的理解客户的商务需求并将其翻译成软件功能
·可选内容:掌握一定的账户管理知识技能,不求人见人爱,至少能够维持一定的客户满意度
·可选内容:成为页面设计和用户体验设计方面的专家
·可选内容:以自己做得到的方式回馈 FileMaker 开发社区
网友评论