如何为具有相同布局的多个web应用程序设计UI框架
How to design an UI framework for multiple web applications with the same layout?
我正在尝试为多个web应用程序设计一个ui框架,但在为我们的情况设计基础设施时遇到了麻烦:
- 使用asp.net mvc构建7个(或更多)独立的web应用程序
- 一些web应用程序在内部服务器上,一些托管
- 所有的基本css/images/javascript(每个应用程序可以使用的共享组件)
- 每个应用程序都有一些独特的css和javascript
- 每个应用程序都有自己的TFS分支和解决方案
- 每个应用程序都有自己的发布管理(每月/每年/等)
我想要达到的目标:
- 修复一次而不是所有应用程序的UI错误
- 所有应用程序的一致UI
- 不要用UI的东西打扰其他开发者
什么是智能基础设施?
根据我的经验,在web项目之间共享未编译代码的困难主要是源代码控制。我们使用内部的NuGet服务器来共享已编译的代码,但这对于未编译的代码并不是很有效。对于这些东西(HTML,脚本,内容),我发现最简单的方法是将框架的所有公共组件保持在一个单一的层次结构中,可以作为一个独立的项目或子模块存储在您使用的任何源代码控制系统中,例如
/myframework/scripts
/myframework/styles
/myframework/images
如果"myframework"是作为子模块管理的,你应该能够独立于你所包含的项目来维护它。使用git和svn,这很简单。
你的应用程序特定的脚本和内容可以像往常一样保持在任何你喜欢的正常层次结构中,例如
/scripts
/styles
/images
你也可以看看流行的前端框架是如何在它们的默认配置中设置的。例如,Zurb Foundation提供了一组脚本、样式和内容模板。默认情况下,所有内容都存储在文件夹Content
和Javascripts
下,它们建议您不要更改它们的样式表,而是在单独的样式表中覆盖自定义的样式。这样可以避免对共享框架进行更改。对您自己的内部框架应用类似的策略似乎是明智的。
我们最终使用NuGet将css/js/图像分发到所有不同的项目。全局ui有自己的团队项目,可以自动为内部nuget服务器创建nuget包。
相关文章:
- 在Web应用程序中使用Highcharts javascript
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- Web应用程序,将成员状态更新为其他成员
- 同一文本框中的验证程序CPF e CNPJ(ASP.NET web应用程序)
- 使用Ember的Web应用程序架构.动画逻辑应该放在哪里
- 如何使用默认的网络摄像头拍摄照片并将其保存在我的c#.net web应用程序中
- c#web应用程序中的条形码打印
- 使用javascript为web应用程序自定义键盘快捷键
- 使用angularjs和node.js时的Web应用程序文件夹结构
- PhpWindows 8.1版本上的Javascript web应用程序
- 是否有任何开源web应用程序具有良好的QUnit(或JSUnit)测试用例
- Project和作为web应用程序发布的多个doGet()脚本文件——需要澄清
- 如何获取使用我们的脚本或web应用程序的网站名称
- 没有框架/DLL的VS Web应用程序项目
- 正确传输和保护用户'web应用程序的密码
- 检查Progressive web应用程序中的网络更改
- 一个Web应用程序上有两个Java脚本
- JavaScript onScroll在谷歌应用程序脚本web应用程序中不起作用
- 家谱web应用程序的“家谱”视图
- 如何更改web应用程序的语言.有没有这样的api