小程序无缝滚动

The patient chart in One Medical’s Electronic Health Record system is our most feature-heavy in-house single page application. It is currently undergoing an upgrade from AngularJS to Angular, with a migration strategy that involves rewriting product features in angular and downgrading them to AngularJS at runtime. Throughout this transition, we aggressively tackled various flavors of tech debt including state management complexities, nested forms, routing and UX issues, etc. We also setup an internal component library and documented these reusable components in storybook. Somewhere in the mix of all these things, the related style debt did not receive much attention.

One Medical电子健康记录系统中的患者图表是我们功能最重的内部单页应用程序。 目前,它正在从AngularJS升级到Angular,其迁移策略涉及重写angular中的产品功能,并在运行时将其降级为AngularJS。 在整个过渡过程中,我们积极解决了各种技术债务问题,包括状态管理复杂性,嵌套表单,路由和UX问题等。我们还建立了内部组件库,并在故事书中记录了这些可重用组件。 在所有这些东西的某个地方,相关风格的债务并没有引起太多关注。

About half way through the migration, the design team requested a move to a standard grid system and a different font and scale which would support a greater design system endeavor. Naturally, such a challenge midway through an epic migration project seemed like just the right amount of fun to tackle. So began our journey into addressing style debt.

在迁移的一半左右,设计团队要求迁移到标准网格系统和不同的字体和比例,以支持更大的设计系统。 自然,在史诗般的迁移项目中途遇到的挑战似乎正好解决了很多有趣的事情。 因此,我们开始了解决风格债务的旅程。

技术挑战与机遇 (Technical Challenge & Opportunity)

The opportunity to address the style debt was an interesting but vague one. On the surface level, the SASS implementation in the code base seemed reasonable. There were SASS variables, extensions, helper mixins, etc. On the angular side of things, we had components that simplified parts of the application into smaller pieces and encapsulated the UI features. The effort for this project wasn’t an easy one to gauge, but an initial spike to dive into the css to learn more helped plan out the project.

解决风格债务的机会是一个有趣但模糊的机会。 从表面上看,代码库中的SASS实现似乎是合理的。 有SASS变量,扩展名,辅助混合器等。在事物的角度来看,我们有一些组件将应用程序的各个部分简化为较小的部分,并封装了UI功能。 这个项目的工作量很难衡量,但是要想进一步了解该项目,首先要深入研究CSS以了解更多信息。

Contrary to the recommended best practices of angular components, the style in the application was held together in a global css styling approach of pre-angular applications. Not only did this make the styles and DOM structure fragile, it was tough to change existing style and DOM structure without the commit size growing and the confidence level in the quality dropping. Part of the risk factor was also the lack of a full suite of e2e tests to cover all feature interactions in the system.

与推荐的角度组件最佳实践相反,该应用程序中的样式以预角度应用程序的全局CSS样式化方法结合在一起。 这不仅使样式和DOM结构变得脆弱,而且很难在不增加提交大小和降低质量的置信度的情况下更改现有样式和DOM结构。 风险因素之一还在于缺乏一套完整的e2e测试来涵盖系统中所有功能交互。

The style debt wasn’t as bad as a Pandora’s box but there were some

小程序无缝滚动_使用主题和功能标志无缝解决大型角度应用程序中的样式问题...相关推荐

  1. 2023新版 多功能去水印工具微信小程序源码_带流量主功能(已更新)

    简介: 2023新版 多功能去水印工具微信小程序源码_带流量主功能 自带去水印接口的多功能小程序 支持各大平台短视频去水印 支持保存封面,图集,标题等等 支持本地图片去水印 支持图片拼接 支持九宫格切 ...

  2. 分享微信点餐小程序搭建步骤_微信点餐功能怎么做

    线下餐饮实体店都开始摸索发展网上订餐服务.最多人选择的是入驻外卖平台,但抽成高,推广还要另买流量等问题,也让不少商家入不敷出.在这种情况下,建立自己的微信订餐小程序,做自己的私域流量是另一种捷径.那么 ...

  3. 程序员吐槽_男子吐槽:35岁被裁都是低端程序员,有能力只会是一个新台阶

    男子吐槽:35岁被裁都是低端程序员,有能力只会是一个新台阶在互联网行业一直都有35岁就被裁员的说法,尤其是现在的互联网越来越年轻化,所以不少互联网员工为了将来考虑,都喜欢去体制内工作,可是35岁到底会 ...

  4. 程序全局热键_如何在Linux下将全局热键绑定到WINE程序

    程序全局热键 Have you ever installed a Windows program in Linux under WINE, only to discover that it doesn ...

  5. vue 文字无缝滚动_手把手教你搭建 Vue 聊天室

    WebSocket简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之间的数据交换变得更加简单,并且允许服务端主动向客户端推送数据.(HTTP协 ...

  6. 微信抖音快手三合一壁纸小程序源码_后端管理设置功能丰富

    这是一款支持快手端,微信端,抖音三端的一个壁纸类型的小程序 一个后台同时管理三端,内有丰富的后端设置 安装也是特别的简单(压缩包里面也有文本安装教程) 另外支持静态壁纸显示,动态壁纸显示或者头像表情包 ...

  7. 系统在此应用程序堆栈溢出_从部署我的第一个完整堆栈Web应用程序中学到的经验教训...

    系统在此应用程序堆栈溢出 by Will Abramson 威尔·艾布拉姆森(Will Abramson) 从部署我的第一个完整堆栈Web应用程序中学到的经验教训 (Lessons learned f ...

  8. linux启动程序镜像构建_启动人员分析功能3个构建块

    linux启动程序镜像构建 A solid foundation to building a scalable People Analytics function. You've got to sta ...

  9. 第一个java程序的错误_我是一名java初学者,执行第一个java程序welcome.java出现了以下错误,这是为什么?...

    我是一名java初学者,执行第一个java程序welcome.java出现了以下错误,这是为什么? welcome.java: import javax.swing.*; public class w ...

最新文章

  1. Understanding SOAP
  2. 鲲鹏高校行太原站来袭,两大课程一站式掌握未来潮流
  3. linux常见命令汇总
  4. linux运维防火墙考题,Linux运维工程师:30道面试题整理 | 张戈博客
  5. php搜索文件名,php实现按文件名搜索文件的远程文件查找器
  6. NLP领域近期有哪些值得读的开源论文?
  7. ubuntu 14.04 登录 界面 root
  8. 如何在Linux中使用ulimit命令
  9. idea添加注释模板
  10. 贴片电阻各种封装规格及阻值标注方法
  11. 解决问题最高明的方法:打开自己
  12. 机器学习中的小数学知识
  13. 手机号码批量导入通讯录php,怎么从电脑上的excel表格的手机号码导入通讯录到华为手机:...
  14. 微信H5手机网页开发—快速入门
  15. 什么是数据库连接池?
  16. python进行随机数据生成——Faker的使用
  17. Cris 的 Python 数据分析笔记 05:Pandas 数据读取,索引,切片,计算,列整合,过滤,最值
  18. 【MATLAB-app】摸索2天,果断放弃gui,彻底爱上了appdesigner。
  19. [译]搜索与优化不存在免费的午餐
  20. linux电脑开机进不了系统更新失败,电脑卡在配置Windows Update失败界面无法开机怎么办...

热门文章

  1. 每架飞机只有一个油箱,一箱油可供一架飞机绕地球飞半圈,空中没有加油机,但飞机之间可以相互加油。...
  2. 辽宁工程技术大学的计算机专业咋样,辽宁工程技术大学的计算机专业怎么样?...
  3. Linux/Centos: shell中的if语句
  4. 星辰小队针对于软件“星遇”的第二次10天冲刺——第2天
  5. 自动化测试和手工测试有什么不同以及自动化测试和手工测试应用范围的对比
  6. 第十二部分 项目相关方管理
  7. 关于app上架华为商城的事儿
  8. oreacle数据库为utf8,但是plsql还是插入数据中文乱码问题
  9. 预约链接怎么做_分享微信公众号预约链接制作步骤
  10. ExtJS6.0扩展日期选择控件为也可以选择时间