有经验的 C++ 开发人员应该学习哪种 Web 技术? [关闭]

Posted

技术标签:

【中文标题】有经验的 C++ 开发人员应该学习哪种 Web 技术? [关闭]【英文标题】:Which web technology to learn for an experienced C++ developer? [closed] 【发布时间】:2010-07-11 15:28:01 【问题描述】:

朋友们,

我有一些 c++ 的经验,现在开始我的 J2EE 之路(为了生存:)))。同时,我有一个计划要冒险进入我自己的门户网站。但是在网络技术方面的经验很少,我需要从头开始。我对走哪条路有点困惑,我就在这里。 php、Python 或 JSP,考虑到无论如何我必须在工作中学习 J2EE。 是否值得学习 PHP 或 Python 来开发一个我希望获得 80-100K 的门户 每天点击“如果”一切顺利还是 jsp 就足够了?

非常感谢

【问题讨论】:

这不是那么简单 - 我们应该如何帮助您做出基于“我预计有 80-100k 次点击”的决定,点击数不算什么 - 您需要查看解决方案(即数据库结构)和您将要提供的内容。深入规划一下,您提到的所有网络技术都可以轻松维持如此多的流量,几乎无需配置。 你可能想看:***.com/questions/1032245/…***.com/questions/328577/python-for-c-developers***.com/questions/1749217/… 【参考方案1】:

在学习其中任何一个之前,请花一些时间深入学习 html 和 CSS。还要学习 javascript 和 JQuery(或您最喜欢的客户端库)。 O'Reilly 有关该主题的书籍几乎都是 IMO 的好书。

我这么说是因为我认为您会发现,对于大多数现代网站来说,很多丰富性正在转移到客户端,而远离服务器端。在此模型下,您在 PHP 或 JSP 中的代码可能看起来非常相似(即,从数据库中获取数据并将其提供给您的视图或 JSON 以供客户端使用)。

【讨论】:

【参考方案2】:

考虑到你习惯了 c++,应该看看 aspx 和 c# - 可能更接近你目前的经验。

也就是说,PHP 是轻而易举的事,所以它不应该带来任何挑战。请记住,如果您想从该语言中获得最大收益,您绝对必须学习一点关于配置 apache 和框架(cake、codeigniter、zend 等)的知识。

【讨论】:

【参考方案3】:

您列出的所有服务器端技术对于您期望的流量“足够”,如果您从性能和扩展的角度设计网站 - 并且您没有提到的许多其他技术也是如此,例如其他基于 Java 的方法、C# 方法和(最后但并非最不重要的)Ruby(可能与 Rails 一起使用,但与其他语言一样,它有几个框架供您选择)。

正如大多数人所说,客户端的考虑更加清晰——除非你想尝试像 gwt 这样的“客户端代码的服务器端生成器”(我听说后者效果很好,但就我个人而言我总是对代码生成器保持警惕,尤其是使用一个代码生成器,而无需了解它为您制作的“代码”,在这种情况下是 HTML、CSS 和带有自己框架的 Javascript)。除了 GWT 和类似的方法(如果那是您选择的毒药),真正学习 HTML、CSS 和 Javascript 确实是必须的——然后您可以再次在许多框架中进行选择(jQuery、Dojo、closure 等,等)。

对于性能问题,您真的很想研究 Steve Souders 的 site(以及书籍等)——Steve 是服务器端专家,直到测量显示他的瓶颈确实是客户端,然后他转身自己进入客户端性能向导;-)。但要充分利用这些书籍,您首先需要了解 HTTP、HTML 等;-)。

【讨论】:

【参考方案4】:

每天的点击次数并不是评估效果的真正有用指标。您确实需要关注峰值负载和可接受的响应时间。

每天 80-100k 次点击平均约为每秒 1 次点击。命中不会均匀分布,因此对于正常流量,您可能会预期每秒 10 次命中的峰值负载。

如果您要通过简报或广告来宣传该网站,预计每秒点击量将达到 100 次。

如果您销售 1 美元的机票,预计将达到每秒 1000 次点击的峰值。

现在,您为网站选择的语言并不像您选择的数据库(不一定是关系数据库)和您在数据库中存储数据的方式那么重要。

扩展前端相对容易,因此快速高效的 HTML 生成不应该是主要问题。选择一个对开发时间有效的平台。

【讨论】:

【参考方案5】:

我希望这个问题是主观的。但是,我会投入 2 美分。

JSP 很可能与 J2EE 相吻合。 (我听说它可能有点死板,但我没有经验可以提供任何关于此事的见解。)

PHP 是一个很好的候选者,因为它很受欢迎。你可以在网上找到很多信息。

Python 在 webdev 中并不流行,因此查找示例并不容易。

我也赞同 Dave Markle 的观点。如果你想学习 webdev,HTML、CSS 和 JavaScript 也很重要。您可能永远不想成为前端开发人员,但在某些时候您无法摆脱与这些技术打交道。

【讨论】:

【参考方案6】:

有很多选择。

    由于您已经了解(并且正在学习)Java,因此一种选择是将 GWT 用于服务器和客户端。这可以帮助您,因为您不需要学习另一种语言(JS/HTML/Python/PHP 等)。如果您的门户要很大,使用 Java 可以帮助您更好地组织应用程序 - 通常基于 JS/HTML 的应用程序不太适合适当的组织,即使您使用像 jQuery 或 YUI 这样的优秀 JS 库。拥有一个好的组织可以帮助很多 - 在以后的更新和修改期间。

    如果您计划的企业是单人/两人企业,或者如果它有时间限制 - 上市时间就是一切 - 那么我不建议早期的方法 - 特别是如果您的服务器端部分预计很大。

    Java 是一种用于编写代码的慢速语言。使用 Python 编写一个项目需要 6 个月的时间,而 Java 将需要将近 1 年以上的时间。在这样的场景中,我更喜欢 Python——它是一种合适的语言——与 PHP 不同,你也可以在那里创建组织良好的代码——尽管它的组织性比使用 Java 稍差。

    请注意,如果您的客户端代码比服务器端代码复杂得多,那么使用 GWT 不会对您造成任何伤害。但是,如果您的服务器端代码与客户端相比非常复杂,那么我会建议使用 Python。

    另一点是使用现有的 Web 框架来简化您的工作。对于 Python,Django 是一个很好的选择。这本身将使您的工作时间减少 50% 或更多,同时使您的代码更加安全和可扩展。

【讨论】:

忘记添加以下内容:如果您担心需要学习 Python 并且需要时间等 - 我面临的是它确实是一种非常容易学习的语言 -只说在学习后 3 周左右。 当您使用组织作为选择语言的基础时,您失去了我。让我们责怪工具而不是开发人员的经验不足...... 对于一个领域的新手来说,组织确实是一个重要的方面——如果一个工具提供了更好的组织机制,那么就更好地使用它。根据我的经验,我真的觉得 JS 为新手提供的组织空间非常小,而像 Java 这样的语言确实在它的基础上做了很多改进。如果需要,我们甚至可以在汇编中编写非常有条理的代码,但这需要大量的耐心和大量的经验。这里也不是这样——因为 OP 想尽快在一个他经验很少的领域开始创业——我仍然更愿意认为我就在这里。【参考方案7】:

它确实与 C++ 不太相似,但我会推荐 PHP。您真的不能期望服务器端脚本语言类似于 C++ 之类的编译语言。就个人而言,我发现 PHP 是一门丑陋、杂乱无章的语言,但是一旦你开始使用它,它就会非常有收获。其他语言有太多的缺点。 ASP.Net 太以微软为中心,Python 和 Ruby on Rails 太晦涩难懂,而且也是非花括号语言,这意味着需要大量调整才能适应它们。希望这可以帮助。

【讨论】:

调用 Python 和 Ruby 晦涩难懂...

以上是关于有经验的 C++ 开发人员应该学习哪种 Web 技术? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

2020年Web开发:你应该学习哪种编程语言?

Flask vs. Django ,Web 开发用哪个框架好?

初入Web开发,phppython和ruby应该学哪个?

如何使用Web组件

不使用HTML / CSS / JavaScript进行Web开发

Iphone 应用程序与离线 Web 应用程序。哪种方式最聪明?