Questions tagged «frameworks»

框架是除编程语言和相应编译器之外的一组工具。有时它是强制性的;有时它是可选的,并有助于应用程序的开发。

3
依赖注入框架会带来依赖风险吗?
我一直在重构现有系统以使用依赖项注入,并且该工作进展顺利。 一段时间后,我注意到大量内部库变得依赖于我使用的DI框架。结果,整个项目现在都依赖于此第三方框架。 在使所有依赖项依赖于共享库来解耦所有依赖项时,我感到讽刺。 我的第一个反应是围绕依赖关系框架创建包装器库。因此,如果需要,我可以替换此框架。在估计了所涉及的工作之后,我意识到最终的API将类似于现有框架,因此使替换它变得更加困难。所以我放弃了这个主意。 我担心的是,我正在使用的DI框架已过时或需要替换。 使用DI时是否存在减少项目和DI框架之间耦合的开发模式?

4
没有Spring,Ruby,Python,PHP如何管理?
我为副项目编写了工作中的企业Java应用程序和Web服务(Spring,Hibernate,Maven,RESTEasy)以及PHP(CakePHP)和Python(Django)。 虽然我确实看到了Spring带来的控制反转,面向方面编程等的价值,但是我不确定如果没有像Spring这样的框架,不在Java堆栈上的大量Web应用程序将如何管理。 那么,开发人员是否只需要“克服” Spring消除的紧密耦合的组件和其他抱怨,还是我错过了什么? 对于那些不熟悉Spring的人,我们最常使用的功能是: 控制容器的反转:应用程序组件的配置和Java对象的生命周期管理, 面向方面的编程:可以实现跨领域的例程, 事务管理:统一多个事务管理API并协调Java对象的事务。

4
跨平台的GUI工具包有趋势吗?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 目前,跨平台 GUI框架的使用趋势如何?是更多的人开始使用跨平台框架(例如GTK +,Qt和wxWidgets),还是有更多的人在使用更多与平台相关的框架(例如Cocoa或WPF)?它多少停滞不前?像过山车吗?从现在起的5年后,您认为这种趋势会如何? 使用Windows的人越来越少,操作系统的格局正在发生变化(个人观察)。这应该会增加对跨平台工具包的需求,不是吗? 编辑:此外,哪些工具(跨平台)正在增长最多,如果可以的话?

14
您认为哪个库/框架过于复杂,无法解决所要解决的问题?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 ...并“手动”编码功能? 作为一个相当隐喻的示例,您几乎不需要用于求解二次方程的库,尽管此类库确实存在并且有人认真对待它们。 作为一个更可疑的案例,根据情况,我可能会抛弃jQuery(例如,当我不需要支持某些石器时代的浏览器时):它确实简化了某些事情,但又为DOM增加了另一层复杂性和不可靠性。过度使用jQuery会导致荒谬的问题,例如最近在SO上看到的一个问题:如何a使用jQuery 为标签分配空的href ?原来这是一个HTML问题,甚至不是JavaScript。 对于许多人来说,另一个荒谬而又不明显的情况是使用在另一个模板系统PHP之上构建的一些模板引擎/语言。吸引任何人的第三层? 还有一个:有时候(仅用)吐出XML printf比使用一些怪异的XML引擎容易得多。 根据您的经验,还有其他情况吗?

2
为什么Apple只允许iOS上使用静态框架?
显然,Apple可以为iOS创建动态加载的库(称为框架),因为它们带有XCode(例如UIKit)。应用开发人员只能创建静态库,或者充其量只能诱使Xcode在实际加载静态库时认为它正在加载框架,这被称为创建假框架,某些拖放方便,但没有任何动态加载优势。 Apple拒绝应用程序开发人员使用动态框架的原因是什么?似乎相当容易使用外部库,因为开发人员不必依赖挑剔的链接器标志或开源库依赖链。 我看到一个常见的原因是安全性。那么,为什么Apple允许OSX而不是iOS允许它?那里的安全性不是吗? 编辑:自iOS 8起,这不再相关。Apple已添加对动态框架的支持。

4
与纯JavaScript框架相比,诸如GWT之类的工具具有哪些公认的优势?
GWT是一个软件堆栈,可将Java代码和Java Runtime类库的子集转换为JavaScript代码。 与JavaScript工具包相比,GWT在本质上和用途上似乎疏远了,并且过于复杂以至于无法完成简单的事情,从而直接使用JavaScript会占用很多细粒度的控件。 为什么Web开发人员会选择使用GWT之类的工具,而不是使用纯JavaScript和JavaScript框架和工具包,而该工具使用的是最初不面向Web的语言? 它可测量地更好,并且基于什么标准?

2
语言开发框架应该多么容易使用?
这是一系列问题的一部分,这些问题集中于一个称为抽象项目的项目,该项目旨在以框架的形式抽象语言设计中使用的概念。 可以在此处查看与它相关的与结构化类型相关的另一个页面。可以在此处找到与有关框架和适当发布位置的查询相关的元主题。 使用语言开发框架应该有多容易? 我编写了大规模的代码生成框架,其中还包括将结果发送到特定语言的编译器的功能。易用性主题来自这样一个框架示例:CodeDOM或代码文档对象模型。 它是由Microsoft编写的框架,描述了常见的代码结构,但通常忽略了很多(表达强制),并且在表示某些结构时趋于抽象,完全根据您的工作发出错误的代码:当使用的类型是通用接口时,CodeDOM不能很好地处理PrivateImplementationTypeon CodeMemberMethod。CodeDOM是我编写第一个代码生成器的最初原因。 为了简化框架,我正在尝试做的一件事是减少要做某件事所需的工作量,并着重于动作与构成这些动作的特定类型。 这是我正在编写的框架的并行比较: //Truncated... /* * * From a project that generates a lexer, this is the * state->state transition character range selection logic. * */ var nextChar = nextMethod.Parameters.Add(new TypedName("currentChar", typeof(char).GetTypeReference())); //... char start = rangeElement.B.Value.Start; char end = rangeElement.B.Value.End; /* * * 'start' …

8
您从一个因多线程不良而几乎/实际上失败的项目中学到了什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 您从一个因多线程不良而几乎/实际上失败的项目中学到了什么? 有时,框架会采用某种线程模型,使事情难以正确处理一个数量级。 对于我来说,我还没有从上一次失败中恢复过来,我觉得最好不要在该框架中处理与多线程有关的任何事情。 我发现我擅长处理多线程问题,这些问题具有简单的fork / join,并且数据仅在一个方向上传播(而信号可以在圆形方向上传播)。 我无法处理GUI,其中某些工作只能在严格序列化的线程(“主线程”)上完成,而其他工作只能在除主线程(“工作线程”)之外的任何线程上完成,并且数据和消息必须在N个组件之间完全传播(完整连接的图表)。 在我将该项目移交给另一个项目时,到处都有僵局问题。我听说2-3个月后,其他几位开发人员设法解决了所有僵局问题,以至于可以将其交付给客户。我从未设法找出我所缺少的知识。 关于项目的一些事情:消息ID(描述事件含义的整数值,可以将其发送到另一个对象的消息队列中,而与线程无关,而已)达到数千。唯一字符串(用户消息)也有大约一千。 添加 我从另一个团队得到的最好的类比(与我的过去或现在的项目无关)是“将数据放入数据库”。(“数据库”指的是集中化和原子更新。)在分为多个视图且全部在同一“主线程”上运行且所有非GUI繁重工作都在单个工作线程中完成的GUI中,应用程序的数据应可以将其存储在一个像数据库一样的单一文件中,并让“数据库”处理涉及非平凡数据依赖项的所有“原子更新”。GUI的所有其他部分仅处理屏幕绘图,而没有其他内容。UI部分可能会缓存内容,并且如果设计正确,用户将不会注意到它是否过时了不到一秒钟。此“数据库”也称为“文档” 在文档视图体系结构中。不幸的是-不,我的应用程序实际上将所有数据存储在“视图”中。我不知道为什么会这样。 会员贡献者: (贡献者不需要使用真实/个人示例。如果您自己认为可信的轶事示例,也欢迎他们提供经验教训。)

3
Java Swing GUI框架有哪些缺点?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我已经将Java Swing用于某些桌面应用程序。但是我没有使用太多其他GUI框架,因此无法进行比较。 肯定有一些我喜欢Swing的东西,有些我不喜欢,但这就是几乎所有情况。 Java Swing GUI框架的最大缺点是什么?
11 frameworks  gui  swing 

5
当主要目标是依赖核心语言的框架时,学习超越核心语言的基础是否有益?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 请记住,这不是另一个“ 在移至[ 此处插入框架 ] 之前我应该​​知道多少[ 这里插入编程语言 ]?”?我想知道的是,当您的意图是在大多数时候严重依赖其框架时,学习编程语言的那些高级概念有什么好处。因此,例如,我开始使用jQuery,首先花时间真正掌握Javascript的核心概念。另外,我在书架上还有一些不仅仅涉及基础知识的书籍(例如,《 Java忍者》的秘密),而且还深入研究了该语言。当我浏览页面时,我发现其中相当一部分并没有延续到jQuery,因为我的主要目的是进行DOM操作。 Ruby和RoR也可以这样说。这些书会使我整体上成为更好的程序员吗?大概。这些主题可以帮助我更好地利用其框架吗?这就是我很难理解的地方。

3
您如何使用托管扩展框架?
我已经与MEF合作约2周。我开始考虑MEF的用途,进行研究以了解如何使用MEF,并最终实现具有3个模块的主机。事实证明,合同易于掌握,模块易于管理。 尽管MEF有非常实际的用途,但我想知道在多大程度上?我的意思是,每个人都将重写现有应用程序以实现可扩展性吗? 是的,听起来很疯狂,而且不切实际。夸张地说: MEF如何影响当前的编程趋势? 您是否开始寻找使用MEF的机会? 您是否已开始计划对可能受益于可扩展性的现有应用进行重大重写? 就是说,我的问题是: 我怎么知道什么时候应该计划一个具有可扩展性的新项目? 我如何知道现有项目是否需要重写才能实现可扩展性? 有人在使用MEF吗?
10 .net  frameworks  mef 

2
什么是“断言框架”?
当我发现js-test-driver单元测试框架时,我发现该框架背后的人打算将其与断言框架集成。什么是断言框架?它是一种单元测试框架吗?如果是这样的话,那么这些框架有什么具体特点?

5
Ruby on Rails / Grails是最快建立网站的最快框架吗?
我正在考虑将Grails用于新网站,但可以使用其他/新的编程语言和框架。我已经使用J2EE / JSF2,ASP.NET和PHP进行了开发。Grails或Ruby on Rails几乎是使功能快速启动和运行的最佳方法吗? 一些初步的想法: DJango看起来与RoR / Grails类似,我会考虑的 GWT是一个有趣的概念,但是周转时间似乎并不那么快 谢谢-乔恩

3
从一个PHP框架迁移到另一个
我正在与一家网络公司合作,由于其V1的一些基础和原则已经超出了几乎所有从数据模型到应用程序的内建原则,因此它可能需要将产品重新视为V2。用户界面。由于各种原因,这种演变可能涉及从CakePHP(已构建V1)迁移到Symfony或Zend。 我想征询一些有关人们如何对流量巨大并产生收入的网站进行这样的过渡的经验观点。我不想就不同PHP框架的优缺点展开讨论,也不想为什么需要这种迁移。相反,我很想知道是否存在一些可行的替代方案,以便从头开始与V1一起从头构建V2几个月,并在这段紧张的时间内锁定宝贵的编码时间。这种替代方案的一个示例可能是在更长的时间内分批迁移应用程序。 对于可能已经管理或参与此类过渡的人们的任何意见,我将不胜感激。 提前致谢。

4
为什么.NET世界没有Rails / grails / django / roo之类的东西?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 在我看来,快速发展的Web平台将彻底改变Web应用程序的世界。 自从Rails 1.0为Ruby发行以来已经五年了,自那时以来,我们已经看到Grails代表Groovy,Django代表Python和Roo代表Java。 但是据我所知(可能是有限的,作为Java / Groovy程序员),没有类似的C#框架。 这样的事情存在吗?如果没有,为什么不呢? 编辑: 当我说“快速开发”时,很可能我没有使用正确的词,但是我所谈论的框架可能可以让您在30分钟内构建一个工作的博客引擎。考虑到要找到控制器所需的各种配置,以及持久化和检索实体所需的配置和代码,您不能用Java,Spring和Hibernate合理地做到这一点。 因此,我正在谈论一种以约定优先于配置的思想处理所有CRUD的框架。如果有人对我所说的话有正确的词,请告诉我。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.