对于仍在以常规方式进行Web开发(服务器端为PHP / J2EE / Struts,客户端端为HTML / CSS / Javascript)的初学者Web开发人员,最近的Trello技术堆栈博客文章使我大失所望。
我不由得对本文中提到的新技术和框架列表感到不知所措,尤其是Javascript框架的普遍存在。
我的问题是,这是网络开发的未来吗?是否有任何文章,网站或资源可以帮助我理解这些新框架在现代Web应用程序中的适合位置?
对于仍在以常规方式进行Web开发(服务器端为PHP / J2EE / Struts,客户端端为HTML / CSS / Javascript)的初学者Web开发人员,最近的Trello技术堆栈博客文章使我大失所望。
我不由得对本文中提到的新技术和框架列表感到不知所措,尤其是Javascript框架的普遍存在。
我的问题是,这是网络开发的未来吗?是否有任何文章,网站或资源可以帮助我理解这些新框架在现代Web应用程序中的适合位置?
Answers:
我认为期望人们了解所有(或四分之一)不同的JavaScript框架在物理上是不可行的。在Web开发方面,我是个菜鸟,但我不时涉猎只是为了使事情变得有趣。
我的建议是选择一个看起来有趣的框架并开始使用它。jQuery是通用实用程序的首选。它使用很少的代码行就可以实现真正的高级功能,但是如果您对它的工作原理有点好奇,它还可以教会您就语言本身而言可以将JavaScript推到多远(无论如何对我而言)。
就像学习其他任何API /库一样,这将花费一些时间,但是您将开始注意到常见的主题/模式,最终从使用新的框架/工具开始它不会变得不知所措,并且您将能够掌握基础知识。概念要容易得多。
因此,请退后一步,然后深吸一口气,然后环顾四周,看看您想在哪里工作以及想要构建/改善的内容。如果您想做Trello插件,那么您知道该看哪个框架。
了解每个框架的足够知识,以便能够选择适合您当前项目的技术,以及您打算将来从事什么样的项目。
事情似乎确实在朝着javascript的方向发展-浏览器技术的方向,对富Web应用程序的期望等。几个月前,我读到某个地方,javascript也将成为Windows 8的核心语言,因此无论您是在网站,移动设备还是任何其他方面(客户端,服务器端和桌面应用程序)工作,对核心javascript的扎实知识通常将非常有用。
我认为jQuery是一个不错的起点。它很成熟,文档很好,很好地利用了事件和回调,您会发现似乎有些奇怪的作用域规则,尽管您拥有很多强大的功能,但它并不是那么抽象你觉得自己在依靠魔术。
另外,如果您以前从未尝试过使用ajax构建某些内容,这将是一个很好的练习-通过dom控制页面的各个部分,而不是每次刷新整个页面;真正感觉到您正在构建一个分解为客户端模块的功能丰富的javascript Web应用程序,而不是拥有一个带有前端界面并具有某些效果的后端应用程序的思想。(我之所以这样说是因为这是我不久前的位置)
当您构建类似javascript的代码时,您可能会开始想到“我想要一个可以在其中执行MVC的js框架”(主干),或者“我想要一个可以在其中执行MVVM的js框架”。 (淘汰赛),依此类推。您和您的项目将为您选择使用哪些其他框架,而不是相反。
node.js可能会成为可扩展性的主要服务器端平台,我还没有真正尝试过(抱歉!),但是我的感觉是学习中最大的收获可能是低(ish)级别网络/网络技术(如果直到现在为止,您都无法发送自己的标头,侦听端口等),以及采用不同的并发方法,而不是语言本身。
我认为特别是对于Java语言,最重要的是学习语言本身。如果您真的学习过Javascript并且了解它的各个方面,那么选择一个框架将是轻而易举的事,您将真正能够体会到该框架为您所做的所有工作。更重要的是,您将能够在效率更高的环境下或者在框架执行您不希望做的事情时使用本机Javascript调用。
另外,尝试选择框架以了解最适合您所做工作的框架。例如,如果您正在执行矢量图形,请了解Raphael。
而且,这是我自己做不到的事情,不仅仅是学习框架,而是深入研究框架。Javascript的伟大之处在于源代码就在您的面前。大多数(全部?)框架以非压缩形式提供其源代码。看源头。这将教给您有关实用且希望很好的Javascript的知识,并且您可以将这些知识应用于所使用的任何框架。
最后,您经常会发现必须规定学习的框架。如果您了解jQuery,但是已经进入使用Mootools的成熟项目,则最好选择学习Mootools。
我认为核心网络技术应该知道的是:
GUI:HTML和CSS样式化HTML
控制客户端:JavaScript是最好的选择,它具有许多库,例如jQuery,Prototype ...(您可以学习纯JavaScript或学习JavaScript,但可以使用jQuery方法,以便更轻松地快速应用于您的项目)
控制服务器端:有许多服务器端技术,例如:PHP,ASP.NET,JSP,Ruby on Rails,Django Python,CodeFusion ...选择其中一种来开始学习。(我建议使用Ruby on Rails或Django Python以获得简便而强大的框架/技术)
资料:JSON或XML
征服了下面列出的所有内容后,根据您的工作,您可以轻松学习新技术,因为所有新技术都源于它们。
取决于您的要求。然后,您需要检查框架工作。http://javacourseblog.blogspot.in/2013/08/mvc-in-javascript-angular-vs-backbone_1416.html中哪个最适合您