了解专家在移动和Web开发领域的发言权,以及他们未来的发展方向。
1.开发有效的Web和移动应用程序的关键是:1)了解业务需求; 2)UX / UI; 3)测试。产品所有者,业务,开发人员和测试人员之间必须保持业务需求的一致性。在开始构建应用程序之前,确定解决业务问题所需的应用程序类型。了解您要完成的任务的优先级和目标。
必须设计和开发Web和移动应用程序,从第一天开始关注用户行为。由于Web和移动应用程序涉及众多设计选择,因此成功开发的关键取决于开发人员消除复杂性的能力。易用性至关重要。如果应用程序不可靠且易于使用,则不会使用它。优先考虑移动UX / UI,因为这会对底线产生更大的影响,并确保UI在所有平台上保持一致。今天,用户期望跨浏览器的视觉完美。确保应用程序可以扩展,稳定并长期支持。
实施稳定,稳定的持续测试,集成和开发。自动化流程 - 尤其是测试。自动化可将测试周期缩短50%至95%
2. Web和移动应用程序开发中最重要的变化是DevOps和渐进式Web应用程序(PWA)。在许多开发团队中,人们越来越关注DevOps,将自动化融入到应用程序开发的几乎每个阶段。敏捷和DevOps方法鼓励更快的迭代,部署和响应。
PWA开始实现折叠Web和移动用户体验以及开发工作的承诺。结合WebAssembly的开发,网站和移动应用程序之间的差异正在迅速消失。
除了PWA之外,网络和移动应用程序开发的其他重要趋势包括:1)响应式网页设计(确保内容的正确布局和分辨率,特别是图像和视频等富媒体,提供给用户的设备,这些设备在形状因子和器件像素比率); 2)无服务器(在功能级别虚拟化后端逻辑,无需服务器安装/配置,并确保无限的可扩展性和地理独立性); 3)流媒体(高度交互的内容,包括动画,视频和其他实时内容元素,这些元素响应前端和/或后端事件而变化,越来越多地需要使用第三方服务提供商)。
3.最常提到的新技术解决方案是React,PWA和Xamarin。特别是React Native在Web应用程序中非常流行。PWA是一个热门话题,也是希望在移动设备上构建和发布的内容组织的替代方案。Xamarin是一个跨平台工作的C#应用程序的开源框架。
4.影响网络和移动应用程序开发和部署的最常见障碍是:1)解决方案的多样性; 2)足够的知识/技能; 3)安全; 4)提供商业价值。平板电脑和手机之间有多种平台和屏幕尺寸。核心技术的变化率很高,因此组织很难找到能够使用所有可用功能的专家。由于市场如此分散,很难知道从哪里开始。
对业务应用程序的持续需求以及有限的专业IT专业人员提供这些应用程序。DevOps专业人员习惯于自动化; 但是,安全专业人员不是。为了及时显示对商业价值的贡献,我们需要将安全性作为“是的副总裁”而不是“否定的主管”。
随着Web和移动应用程序的功能变得越来越复杂,外部库和软件组件的使用以及第三方服务的集成也越来越多。由此产生的障碍开发人员现在经常遇到的问题包括:1)安全风险,需要对进口代码进行安全审核; 2)由于嵌入在网页中的外部代码的大小增加,对用户体验的性能影响; 3)脆弱的应用程序构建,由于代码依赖性,库版本和团队间协作的数量; 4)开发人员花时间了解他们用来构建应用程序的不断发展的软件工具,框架和基础架构。
5. Web和移动应用程序开发的未来是技术,PWA和优化的持续整合。我们看到了DevOps工具的整合。技术将通过移动设备与浏览器上显示的更多网络合并。PWA是移动设备的独特功能正朝着浏览器操作系统版本发展的未来。移动性能,质量和可靠性将继续得到优化。
Web和移动应用程序开发趋向于使用越来越多的应用程序而不是编码的统一开发和部署体验。在未来,业界将看到针对移动或Web应用程序的许多用途的低代码或无代码开发平台的强劲趋势 - 尤其是商业应用程序。
6.开发人员需要对持续学习持开放态度,以便为不断变化的环境开发有效的应用程序。正如比尔盖茨所说,“创新或死亡。”探索新技术,继续学习,对新事物和移动带来的变化持开放态度。在积极寻求新语言(Kotlin,Golang,Scala)的新体验的同时,对基础知识(HTML和CSS)有很好的理解。UX比以往任何时候都重要。微服务已经变得像面向对象编程一样重要。
有效的网络和移动应用程序的开发缺乏严格的规则或指南。开发人员需要掌握的技能仍在迅速发展。但是,一些基本原则是不可改变的,例如选择工具,框架,语言以及基础设施,这些原则在早期兴奋阶段之后已经成熟,并且已经享有广泛而积极的社区支持。如果开发人员遇到问题或遇到问题,那么当有大量社区可以提供帮助时,他们就有更大的机会找到答案或解决方案。
7.这是一个移动优先,API优先的世界。Web开发人员倾向于来自营销网站,而移动开发人员往往来自IT。他们的思维方式不同,技能也各不相同。移动开发正在为Web应用程序设计和开发采取更主要的方法。Web和移动开发的外观和感觉仍然根本不同,因为Web仍然主要与HTML和CSS相关联。此外,缺乏对开发人员技能的有效交叉培训会导致单独的交付团队。
Web和移动开发仍然主要被视为不同的学科,组织优先级决定了哪种类型的开发优先于逐个项目。移动开发通常使用特定于目标设备/ OS(最常见的iOS和Android)的本机语言,框架和工具来完成。开发团队边界自然根据他们的技能组合和设计偏好进行细分(例如移动优先应用程序设计)。一些组织采用跨平台工具和框架,而其他组织则选择统一平台(例如低代码平台)来消除这些边界,并弥合这些不同的学科之间在设计,开发和部署方面的差异。