我很想将Breeze与AngularJS结合使用。但是我的经理担心产品的成熟度和产品的成熟度。
那里有没有任何文件可以传递给我的经理给他一些保证Breeze将来还会存在。风险怎么样?现在有多少人开始使用Breeze<> AngularJS并存在风险。如果没有更多Breeze,那么如果有的话可以选择什么呢。
答案 0 :(得分:30)
我非常感谢您的经理所关心的问题。我们都在努力对技术进行合理的投注。这并不容易。你开始认为供应商的规模是一个很好的指导的那一刻......他们放弃了一项主要技术(微软的Silverlight和Google Reader浮现在脑海中,但这些例子太多了,无法提及)。没有保证。
我们知道什么?
IdeaBlade(Breeze的制造商)自2002年以来一直从事的数据管理业务(我知道这是我的创始人)。这并不能证明我们明天会在这里。它确实证明我们有持久的力量并且知道如何经营企业。
Breeze正在制作超过一年,大约6个月前首次发布。同样重要的是,设计和实施是建立和销售商业产品(DevForce)超过10年的成果,以应对同样的挑战。 这说明了产品的成熟度。在现实世界客户的不断压力下,我们吸取了许多教训。我们很有可能从你还没有看到的错误中恢复过来。
当我们这样规模的营利性公司将大部分最好的工程和产品营销资源投入Breeze时,这就说明了这一点。这对我们来说是一个巨大的赌注和巨大的投资。我们不能轻易离开它。你的经理会知道。
Breeze是麻省理工学院的许可和开源。我们无法改变这种情况并且不想改变。原则上,我们可以剥离商业版本并放弃开源分支的进一步开发。但是(a)必须具有商业意义,它不是在主要是免费的JavaScript库的时候,而且(b)任何人都可以分叉当前代码并维护它。
微风是在露天开发的。你会看到我们正在做的事情。
Breeze文档比您在大多数付费产品中找到的内容更广泛。它远远超出了您在大多数JavaScript库中找到的内容......包括您提到的一个。那有关系吗?我们在构建商业产品方面有着长期的经验......足够长的时间来理解" bit"只是技术产品的一部分。你决定。
微软已经足够让Breeze在他们的Single Page Application web page上展示它,并与IdeaBlade一起开发基于Breeze的应用程序模板,这些模板可以与Visual Studio一起使用。 Breeze不是Microsoft产品。但它已经超过了足以让微软以这种方式舒适地呈现它的门槛。这很重要。
我们应该发布我们的路线图。它部分由您通过User Voice和Stack Overflow问题提出的建议驱动。角度支持在这些论坛中非常受欢迎。它也是由我们阅读市场机会所驱动的......在这里,Angular再次成为明智的战略选择。
我们与Angular产品团队建立了良好的合作关系,致力于共同推进单页应用程序的开发。这种关系的一些成果:Breeze/Angular Template和a talk I gave at the Google Mt. View Campus on Angular and Breeze。
把我放在你的位置,我想知道我的替代品是什么。 Ember.Data是另一个基准。据我所知,目前还没有与Angular合作。但它确实告诉了你很多关于复杂数据管理的挑战以及如何充分解决它们的问题。
"自己构建"永远是一种可能性。如果你想知道它是什么样的,请四处看看。或者用你的头脑和经验。你有多少时间能够更好地编写自己的框架而不是专注于它的团队十年?也许你可以。你所要做的就是说服老板。
我们假设你可以。仅仅因为你可以并不意味着你应该。你可以写自己的" Angular"太。基础设施开发是否是您人才的最有效利用?或者,您是否应该将时间和精力重新定向到具有感知客户价值的应用程序开发?
也许最谨慎的事情是将Breeze内容封装在一个服务层中,其中包含一个API,它具有您希望应用程序组件与之交互的抽象。如果出现问题,您已将问题隔离到服务层。我们所有的样本都采用这种方法:寻找名为" datacontext"和" dataservice"。
目前我们的Angular支持并没有延伸到缺乏ECMAScript 5支持getter / setter属性的浏览器......正如FastReload所观察到的那样。我们没有计划解决这个问题。我们的研究告诉我们,构建单页应用程序(SPA)的大多数人都是针对移动方案,其中EC5浏览器是给定的。我非常怀疑这种以JavaScript为中心的应用程序在旧版浏览器上的表现是否足够。但是你应该和你的经理讨论你为什么要走这条路以及你想要达到的目标。如果您需要在较旧的浏览器上运行,我不会打赌Breeze可以帮助您使用Angular应用程序。您可以考虑切换到我们的Hot Towel / Knockout / Breeze堆栈,它可以在旧浏览器上运行;见John Papa" Single Page Application Jumpstart"关于Pluralsight的课程。
Angular依赖脏检查更改检测,Breeze内部依赖事件。这些是不同的方法;他们并不矛盾。例如,Angular将自身挂钩到DOM事件和XHR回调中。 Angular团队了解我们正在做什么,他们也不认为我们也不相容。您必须注意规则(例如,在适当的时间调用$ scope。$ apply)。这对Angular开发人员来说不是新闻。
您需要Breeze功能吗?取决于你正在做什么。以下是Breeze在Angular中找不到的一些内容:客户端查询语言,对象图导航,变更跟踪(与变更检测不同),模型验证,客户端缓存,临时密钥生成/解析,以及捆绑/事务保存。这不是对Angular的批评。这意味着我们有不同的互补领域。 Angular专注于应用逻辑和演示,而Breeze专注于与持久数据模型相关的事务。
答案 1 :(得分:2)
似乎作者正在公开发布这个项目6个月,第一个版本是0.53。如果我们假设他们确实有2天的迭代(有点与发布后的迭代长度相关),那么应用程序大约是1年。
两位主要作者在他们的公司Idea Blade中CTO
和VP Tech
。
该公司自2004年以来一直存在。
除此之外,我没有看到任何路线图,或者对项目的承诺将继续下去。我认为只要它被使用它们就会开发它,只要它们的公司获得利润。需要注意的是,该公司销售"企业"产品;所以他们可能会改变他们的想法来停止开源项目,也许不是,但没有承诺。
我有两个主要问题,
Todo-Angular在现代浏览器中运行,例如IE9,IE10和最新版本 Chrome,Safari,Firefox和WebKit浏览器。微风不支持 AngularJS应用程序在缺少ECMAScript 5的旧浏览器中运行 财产获取者和二传手。
虽然,我很感激 NOT 支持<IE9
,如果您要向老板解释,那么这将是一个问题。另外一件事,breeze
依赖getters
和setters
,又名change listeners
,棱角相反:dirty checking
。他们在完全不同的方案上工作,因此可能存在兼容性问题。
我的严格个人结论不会使用它。主要是因为在使用角度时,您无论如何都不需要大多数功能。随着项目的发展,这可能是一种负担,而不是项目的支持。