PHP vs Ruby on Rails, OS X / iPhone Geliştirme lider

7 Cevap php

İyi günler. Ben bir kullanıcı deneyimi XHTML uzman tasarımcı ve CSS duyuyorum. Bazı PHP ve JavaScript ile amatörce ama hiçbir şekilde onlarla ben rahatım var.

Benim ana hedefi OS X ve iPhone yazılım geliştirmektir. Ben bu konularda danışmanlık verilmiş, ama ben Object Oriented programlama ile mücadele ediyorum.

Books that I have regarding Mac development include: Cocoa Programming for Mac OS X 3rd Edition - Aaron Hillegass, Programming in Objective-C 2.0 - Stephen Kochan, The Object-Oriented Thought Process -Matt Weisfeld

Ben şu anda bu mücadele programlama ile yeterli deneyimi yok, bu yüzden bir web teknolojisi karşı benim öğrenmeyi yönlendirmek istiyorum gibi Kısacası ben hissediyorum. Ben Rails ve PHP Ruby arasındaki farklar hakkında biraz okudum. Benim sorum, benim nihai hedef doğrultusunda daha yararlı olacak, nedir? Ruby on başlangıçta PHP olmadığı gibi, nesne yönelimli edilir.

Sana ile başlamak tavsiye ederim hem video dersler var? Belki de bu konuda yanlış şekilde gidiyorum? Sen ne düşünüyorsun?

Bu Mesaja anlamsız ya da iki katına ise özür dilemek, ben şaşırıp.

UPDATE I have been following a PHP course all week. Concepts appear to be very clear to me now. During the middle of this coming week I plan to begin the OOP chapters of the video training. I'm quite happy with what I will be able to pursue with this new found knowledge in terms of web application development.

Objective-C ile ilgili olarak, ben önce Objective-C takip için C öğrenmek için tavsiye olduğunu biliyoruz. Ben Aaron Hillegass kitabı ile devam etmeden önce, ben bir atlayışı C almalı? Learn C, bir newb için bu optimal, yoksa geliştiriciler yerine bir acemi bir kitap mücadele görmek deneyimli istiyorsunuz? Ben hep birlikte C unutun ve yukarıda belirtilen ve düz Objective-C girerken PHP ile OOP öğrenmek gerekir?

7 Cevap

Zaten Javascript temel bilgi varsa, yerine Ruby veya PHP gibi tamamen farklı bir dil toplayıp daha bu yönde devam etmelidir. Javascript bu RoR veya PHP daha kullanılır nasıl Objective-C ile ortak pek çok şey var.

Javascript veya Objective-C programları zaman belirsiz bir süre için çalıştırmak ise sunucu taraflı diller, bölünmüş ikinci baştan küçük programları çalıştırmak. Programları her iki tür farklı bir zihniyet gerektirir ve aslında zamanla ve kullanıcı ile etkileşim birbirleriyle etkileşim nesneleri bir grup varsa, nesne yönelimli programlama çok daha mantıklı. PHP nesneleri ağırlıklı kod düzenlemek için bir yol vardır, onlar size nesne etkileşim hakkında çok şey öğretmek değil.

Ne olursa olsun bir öğrenme eğrisi var oluyor bu yana, siz de doğru Objective-C dalmak olabilir, ama sen gerçekten istemiyorsanız Javascript öğrenme ilk sonraki en iyi şeydir. Eğer tarayıcınızın konsolda onunla oynayabilir bu yana öğrenmek için harika bir etkileşimli bir yol sunar. Javascript ile sorun iyi malzeme eksikliği, ancak Crockford ve Mozilla Reference muhtemelen başlamak için en iyi yerlerdir.

Programming in Javascript usually means manipulating a browser's DOM, which is another concept you'd have to learn. It also means having to deal with browser quirks, which is best dealt with by using a Javascript framework/library like jQuery, MooTools or Prototype, which is yet another technology.
To avoid these additional learning curves, you can use Javascript in a bunch of other scenarios, including desktop widgets/gadgets. These work a lot like mini-Cocoa apps in terms of user interaction and might be a good starting point.

Anlayış Object Oriented programlama ile sorun kısmı bu etkin bir şekilde kullanılacak olan ne kadar çok nesne ve sınıf kavramını açgözlü değil, ama. Iyi stratejiler Design Patterns kitabında özetlenmiştir. Bu referans oldukça teknik olmakla birlikte, çok kapsamlı ve stratejik bir yazılım-tasarım açısından birçok ortak durumlara yaklaşım nasıl ayrıntıları.

Siz bu tür bir yaklaşımı tamamen Apple iPhone SDK, büyük ölçüde NeXT yapılan çalışma üzerine inşa edilmiş bir çerçevede benimsemiş olduğunu görebilirsiniz.

Raylar üzerinde Ruby ve Ruby özellikle gibi güçlü tasarım desenleri sözleşmelere karşı önyargılı olmasa da, aynı ilkeler uygulanabilir.

Eğer bir meydan okuma için iseniz, çok yararlı bir başvuru kitabıdır.

Yeni bir geliştirici için Objective-C üzerinde Ruby için pek çok avantajı vardır. Yorumlanır, çünkü basit bir hata Ruby çökmesine çok zordur, ve etkileşimli komut satırı hızlı deneyler için güçlü bir araçtır. Diğer taraftan, Ruby ayıklama özellikler ciddi Amaç-C ve XCode ortam ile sınırlıdır. Ruby on özellikle eksik belge ve her zaman çok iyi organize olmayan bir yayılan bir özellik seti muzdarip.

Objective-C öğrenmek için özellikle zor değildir, ancak tam SDK büyüktür. İyi haber son derece iyi belgelenmiş olduğunu ve birçok video eğitimlerini ve kod örnekleri vardır. Ben etkili bir iPhone geliştiricisi olmak için yeterince absorbe daha zor olduğunu söyleyebilirim, ama o daha tatmin edici bulabilirsiniz.

İyi haber her ikisi de kendi toplumları tarafından ve yığın taşması gibi yerlerde desteklenen olmasıdır.

Sonuçta, ben denemek ve en uygun olan platformdur görmek niyetinde olan projelerin türlü bakmak istiyorum.

About C

Eğer gerçekten bazı kesim, yüksek performanslı hesaplama yapıyorsun sürece, saf C gerekmez. Kakao çerçeve, karşılaşacağınız ortak görevlerin çoğu, ya da bu tür çözümler oluşturmak için en azından yeterli araçlara çözüm sağlar, güçlü ve hızlı bir C gibi düşük seviye C kaba dünyasına dalış olmadan olabilir, çok güvensiz bir dildir bu kod ton yazmak ve zaman hata ayıklama bir sürü harcama yapacağız.


Diğerleri de belirtildiği gibi, RoR bir çerçeve ve PHP bir dildir. Bu yüzden bana ilk Ruby, JavaScript, PHP hakkında bir şeyler söyleyeyim.

Ruby

Yakut harika bir dildir. Belirtilenlere ki, bu amacı,-C en yakın olanıdır. Objective-C gibi, bu yöntem çağrıları için geçen mesajın modelini kullanır. Bir wonderful introduction to Ruby çevrimiçi var. Ben birkaç gün içinde okudum ve sevdim. Ne yazık ki Ruby oldukça yavaş ve dağıtmak çok kolay değildir.

PHP

iyi ... PHP. avantajları: PHP muhtemelen başarısının nedeni olduğu, dağıtmak son derece kolaydır. Bu çok geniş bir ekosistem kurmuştur geniş ve etkin bir topluluk vardır. Ve PHP çok bağışlayıcı olduğunu, bu yüzden onu kullanmak için bir çok deneyim gerektirmez.

Muhtemelen bir "ama" olmalı, seziyorum. Peki, yerine ayrıntılarına girmeden, ben PHP bir çok şey yapar bir arkadaşım, alıntı yapmak istiyorum: "PHP is the rotten flesh among programming languages".

PHP, her dil gibi, kusurları vardır. Ama PHP PHP destekçileri tarafından "PHP dayak" gibi icat edilmiş bir davranış davet noktasına, onları sahiptir. Bu kimse PHP iyi olup olmadığını tartışmaya koyar her zaman yani oldukça sık görünen bir şey vardır. Genellikle, PHP programcıları (iyice dilinizi seçmeden önce seçenekleri dikkate olduğunu varsayarak, makul bir davranıştır) PHP tarafını alacak ve PHP ve alternatif biliyorum çoğu programcı, a lot PHP hakkında şikayet edecek . Ben google bu konu hakkında yeterince bulabilirsiniz beri, bu önlemek istiyor. >This< soru hoş ve nazik bir şekilde konu ile ilgilenir. Bu bütün konuyu kapsamaz.

Ben yapmak istiyorum nokta iyi bir dil olduğunu düşünüyorum, çünkü sen düşünüyorum çünkü bunu PROGAMMER olarak gelişmeye yardımcı olacağız, PHP kullanmak, ya da olmamalı olmasıdır. PHP seçerseniz, stratejik nedenlerle yapmalıdır. Ve böyle symfony veya flow3 olarak, uygun bir çerçeve kullanmalısınız. Sadece akılda tutmak, PHP, diğer dillerde bol bulamıyorum, bir şey sunuyor.

JavaScript

JavaScript de güzel bir dildir. Bu çok uzak Ruby değildir. Bu nesne yönelimi Yakut high order functions, onlardan olmayan çeşitli değiştirilebilir sürümlerine sahip, bu biraz tutarsız olduğu ancak, functional approaches için çok daha uygundur, Ruby kadar güçlü değil mi hepsi biraz farklı çalışır. JavaScript gibi bağışlayıcı, ama olması gerekenden daha belki daha fazla olduğunu. Şu anda ve öngörülebilen gelecek için, JavaScript çok kalça, ve daha fazla alanda kullanılır. HTML5, CSS3 ve WebGL ile bir JavaScript kullanarak büyük uygulamalar oluşturmak mümkün olacak. Ancak, her zaman çapraz tarayıcı tuhaflıklar ile uğraşmak zorunda olacak. Ayrıca, JavaScript diğer sınırlamalar olduğunu öğrenmek olasıdır


Bu üç, ben Ruby en zarif ve güçlü bir dil olduğuna inanıyorum. Eğer bir programcı olarak gelişmeye istiyorsanız, üçünün bu en iyi seçimdir.

haXe

Ama benim kendi adayı önermek istiyorum: haXe. hala nispeten genç ve çok hızlı gelişen açık kaynak kodlu bir dildir. Bu çapraz-platform bulurlar, ve birçok farklı platformlara derlenmiş olabilir. (Objective-C dahil) önerilen dillerinden herhangi aksine, haXe engelsiz ama çok destek olduğunu kanıtlıyor çok güçlü bir tipi sistemi, etrafında inşa edilmiştir. Sen, bu nedenle temelde kolayca haxe haXe ile çıkış PHP dağıtabilir. Ayrıca çıkış JavaScript yapabilirsiniz. Ben şahsen Flash Player hedeflemek için kullanabilirsiniz. Sen şeylerin bir dik sayıda için tek bir dil kullanabilirsiniz. Eğer bu dili tercih yaparsanız, o join the community çekinmeyin. Tercihen posta listesi veya IRC kanalı.

iyi, ben bu yardımcı umut ...

Umutsuzluk yok! JavaScript / CSS ile deneyim iPhone uygulamaları için yeterlidir. Çıkış jQTouch. Bu JavaScript kullanarak bir dokunmatik ekran dostu mobil webapp oluşturmak için olanak sağlayan bir JQuery eklentisi bulunuyor. Ben jQTouch bir yerli uygulama bir web uygulaması oluşturur, değil vurgulamak gerekir. Olumsuz bir yerli uygulama olurdu tüm API'ler erişimi kalmamasıdır. Baş jQTouch web uygulamaları webkit tabanlı tarayıcılarda (iPhone, iTouch, Android cihazlar, vb) ile tüm telefonlar genelinde iş olmasıdır. UI açısından, jQTouch çok iyi bir iş, görünüm sağlamak hissediyorum ve yerel iPhone apps navigasyon yapar.

PHP ve Ruby hem tanımak için ilginç diller ve UI tasarımcı kariyer için iyi beceriler de olsa, ben gerçekten sadece Objective-C ile küçük bir müdahalesi başlamak için teşvik ediyorum. Ben bazı küçük örnekler ile başlayan ve küçük bir deneme, yakında dil ile rahat olmak istiyorum düşünüyorum ve dışarı şube güven var.

Sen Objective-C ile kavrama almak için programlama deneyimi yok ki; iyi, şimdi görünürde gerçek bir hedef ile bazı gerçekten güzel şeyler öğrenmek için bir şans. Bir öğrenme eğrisi burada açıkça var, ama kesinlikle çok Ruby ve PHP ile orada olacak, bu yüzden belki de Objective-C için düz giderek daha doğrudan bir şekilde devam edebilirsiniz.

Ben Hillegass kitap okudum ve ince bir metin var ama bir başlangıç ​​noktası olarak oldukça doğru olup olmadığından emin değilim. Eğer Scott Stevenson's tutorial bir göz vardı? Eğer objc yol gitmek karar verirseniz bu iyi bir yer olabilir. Ben de nesne yönelimli programlama pratikte nasıl çalıştığını görünce, yakında arkasında teori alırsınız düşünüyorum.

Yani bir acemi çerçeve dili şaşırtmak için kolaydır çünkü Ruby on uygun olmayacağını duydum. Ayrıca, PHP nesne yönelimi ile programlamak için zorlamaz çünkü optimal değildir ve bazı özellikleri eksik. Ona daha bir şey var mı?

Bu Macruby derleyici var ve şu anda desteklenmiyor Mac OS X iPhone için yerli-derlenmiş Kakao uygulamaları oluşturabilirsiniz dikkat çekicidir, ancak bir köprü görevi görebilir.