簡體   English   中英

RUBY和RAILS對PHP和CODEIGNITER的主要優點是什么

[英]What are main advantages of RUBY and RAILS to PHP and CODEIGNITER

我們將要啟動一個新的Web2 / AJAX應用程序,並嘗試確定值得花時間和精力來學習Ruby / RubyOnRails而不是我們當前使用的PHP,CodeIgnitor和JQuery。

關鍵問題是干凈/快速/現代的AJAX UI,可靠的錯誤處理以及可維護性。

我將感謝經驗豐富的PHP和RUBY開發人員的公正評論(如果可能的話,都是在談論語言/框架)。

我不能對Ruby講太多,但我可以說我經常覺得PHP表現不好。 PHP是您所用。 是的,那里有很多糟糕的PHP代碼,但是您知道,它大部分是由會編寫糟糕的Ruby或糟糕的Python的人編寫的。 PHP的受眾如此廣泛,各種風格和能力的程序員都在使用它,其中許多人在編寫不良程序。

也就是說,您可以使用PHP編寫好的程序。 你有好的開發者嗎? 如果是這樣,您當然可以使用PHP編寫良好的代碼。

PHP享有如此糟糕的聲譽,因為它是如此易於使用。 任何人都可以開始編寫PHP,如今,大多數托管解決方案都提供PHP,因此,有許多非程序員類型使用PHP編寫程序。 這些程序缺乏適當的計算機科學學科。

隨着PHP開始采用現代語言功能,PHP社區內朝着易讀,格式正確的代碼發展的趨勢非常廣泛。 借助PHP5,OOP成為了現實,並且有關OOP最佳實踐和開發模式的書籍和材料也激增了。 雖然PHP通常用於編寫格式錯誤的草率意大利面條代碼,但那里的語言工具使開發人員可以使用MVC,OOP和TDD等開發范例進行編程。

更不用說,PEAR大大提高了社區腳本的質量和可訪問性。 PHP的最強資產是其社區,並且它已經變得越來越強大和更加規范。 在許多方面,PHP非常類似於JavaScript,它的開始很草率,開發人員和社區一直試圖從中恢復。 JavaScript是一種非常草率的語言,但是在Ajax和交互式Web應用程序時代,JavaScript的一些非常強大的部分為其帶來了應有的尊重。

諸如Ruby和Python之類的語言充斥着面向計算機程序員的事物。 如果您雇用Python或Ruby程序員,則僅是因為了解該語言的人比使用PHP開發人員的人更容易欣賞干凈,組織良好的代碼。 那是這些語言以及傳福音的人們的文化的一部分。

我認為Ruby或Ruby on Rails本質上沒有什么更好的。 Rails是第一個主流的MVC開發框架,但是它的流行和成功促使人們以各種可以想象的語言開發了類似的框架。 許多人認為,選擇用Ruby編寫Rails並不表示Ruby比PHP更好。 考慮到編寫Rails的時間以及37signals對晦澀難懂的事物的迷戀,我可以完全理解此舉。 當時,Web腳本語言非常la腳,而37signals正在尋找一種更能滿足應用程序程序員而不是腳本編寫者需求的語言。

您不會因為使用Zend Framework,CakePHP或symfony之類的PHP框架而受阻。 即使CakePHP和symfony不是直接端口,也都直接以Rails為模型。 Akelos是Rails到PHP的實際移植。 Zend Framework是我到目前為止使用的功能最全的框架。 不要害怕嘗試,但是沒有必要跳船到一個完全不同的平台,並且不會改變您的業務方式。 這是不同語言中的同一行業。

語言的最重要特征是您喜歡它的程度。 如果您喜歡使用的語言,不僅可以改善生活,還可以編寫更好的代碼並提高工作效率。 當然,這完全是主觀的。 但是,我從未聽說過任何一流的程序員都在談論他們有多愛PHP。

當然,要想真正達到一種語言/框架組合的流利程度,就要花大量的時間。 我認為,即使最終您確定自己更喜歡其他工具,花費的時間也將使您成為一名更好的程序員,所以,繼續努力吧!

我認為這與語言無關,而是社區中使用的學科。 如果您是不對單元代碼進行功能或功能測試的PHP開發人員,那么沒人在乎。 有很多這樣的PHP開發人員。 如果您是Rails開發人員,並且沒有自動測試您的代碼,那您很奇怪,那么您的某些問題一定很錯。

在我看來,Ruby on Rails不僅僅是框架,而是社區隨附的所有工具。 建議您使用Capistrano之類的半自動部署工具。 如果不是,那又會很奇怪。 等等。

我同意dicroce的觀點,即您可以同時使用兩種語言/框架進行拍攝。 您可以使用PHP並嘗試使用最初針對Rails的一些工具,我相信您會獲得不錯的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM