Hallo, I8217m Löwe. Im ein Hybrid-Software-Entwickler, Designer, Vermarkter und Unternehmer. Ich bin der CEO von Ballistiq. Ein Web-Software-Design und Entwicklung Unternehmen. Ein wenig mehr über mich gtgt Ballistiq Web-Entwicklung Auf der Suche nach einem vertrauenswürdigen, nordamerikanischen Web-Entwicklungsteam, das eine große Track Record hat Ballistiq bietet maßgeschneiderte Design und Entwicklung Dienstleistungen. Weve baute Websites und Anwendungen für Top-Unternehmen wie Autodesk, NVIDIA, Gnomon School of Visual Effects, Allegorithmic, Luxion und vieles mehr. Kategorien Ruby on Rails vs PHP 8211 Die gute, die schlechte Anmerkung 8211 Dieser Artikel wurde in 2012 geschrieben. I8217ve fügte ein Addendum hinzu, um den Artikel mit den neuesten Gedanken am 30. Mai 2014 unten zu aktualisieren. I8217ve entwickelte sich mit PHP seit Version 2 (vor sehr langer Zeit). Ich wollte schon in Ruby on Rails einsteigen und hatte seit Version 1 mit ihm gespielt, aber ich hatte nie die Chance, es in der Produktion ernst zu nehmen, bis zum vergangenen Jahr mit Ballistiq. Seitdem I8217m jetzt codiert 8020 Ruby on Rails und PHP, so I8217ll geben meine Gedanken auf die beiden. Zum Zeitpunkt des Schreibens, die Versionen I8217ll reden über sind PHP 5.3PHP 5.4 und Ruby on Rails 3.2 (läuft auf Ruby 1.9.3). Der Kontext dieses Beitrags vergleicht die beiden speziell für Web-Entwicklung. Aren8217tst du Äpfel mit Orangen vergleichen Rails ist ein Rahmen für Ruby. PHP ist eine Sprache und hat viele Frameworks. Was I8217m meistens vergleichend ist, sind meine Erfahrungen, die mit beiden Ökosystemen arbeiten: PHP-Framework (es gibt viele) vs Ruby Rails (das vorherrschende Framework). Während einige vielleicht aufgehängt werden, um zu versuchen, die beiden zu vergleichen und kann bei dem Titel des Artikels balkeln, ist dies eine legitime Frage, die viele Entwickler fragen. Viele Entwickler wollen wissen, was sind die Vorteile der beiden Ökosysteme und wollen einfach nur eine klare Antwort. Von der Popularität des Artikels über Google, it8217s etwas, das Zehntausende von Menschen tatsächlich fragen. Ist es nur eine Vorliebe Ja und Nein. Sowohl das PHP - als auch das Ruby-Ökosystem sind sehr mächtig. In vielen Fällen, ja können Sie es einfach auf eine Vorliebe kochen. Allerdings gibt es viele Stärken für beide und it8217s nützlich, um in der Lage sein, sie in einer Ebene-Kopf-Mode zu vergleichen. I8217m nicht religiös an das eine oder andere gebunden. I8217ve verwendet beide. Meine Firma arbeitet mit beiden. Beide sind hier zu bleiben und spielen wichtige Rollen in der globalen Web-Entwicklung Industrie. PHP 8211 Die gute Einfachheit und Lernkurve Was ich absolut an PHP liebe, ist seine Einfachheit und relativ flache Lernkurve. Wenn Sie zum ersten Mal in PHP, alles, was Sie brauchen, ist eine einzige HTML-Web-Seite. Ändere die Erweiterung auf. php. Werfen Sie in einigen ltphp-Code hier gt inline PHP, führen Sie es auf einem PHP-Webserver und los geht's. It8217s wirklich tot einfach für jemanden völlig frisch, um etwas nutzbar gemacht und innerhalb von wenigen Minuten eingesetzt. Dies war eine der Stärken von PHP und warum it8217s so verdammt beliebt 8212 Designer und Nicht-Coder können sofort produktiv sein. Diese Einfachheit kommt jedoch zu einem Preis. Es ist ein zweischneidiges Schwert, da es zu einer Menge von schlampigen, unerwünschten Code führt. Dies führt dazu, dass die Menschen Frameworks verwenden, die einen bestimmten Codierungsstandard erzwingen. Der Vorteil von PHP8217s Einfachheit und flachen Lernkurve ist eine wirklich große Sache, die für sie und dies hat Geschäftsvorteile zu: it8217s einfacher zu finden Menschen, die wissen, PHP. Wenn Sie sich umsehen, sind Ruby on Rails Entwickler teurer und schwerer zu finden. Die guten Entwickler, die Ruby und Rails (die L33T) wirklich kennen, sind in der Regel mehr Hardcore-Devs. Die Dokumentation für PHP ist auch fantastisch. Ich finde die Docs für PHP weit nützlicher als die für Ruby und die Rails Guides. Der Benutzer kommentiert wirklich helfen und es gibt eine Menge von Beispiel Code, der Ihnen zeigt, wie man gemeinsame Probleme zu lösen. It8217s Für das Web Eine große Sache über PHP ist, dass es wirklich ganz auf das Web fokussiert ist. Es ist keine universelle Programmiersprache wie Ruby (oder PythonJavaCPerletc.). Viele seiner eingebauten Funktionen sind spezifisch für die Lösung von Web-Probleme und das macht es eine sehr einfache Sprache für das Web zu programmieren. Z. B. Wenn du einen Header an den Browser schicken möchtest, benutze einfach die header () - Funktion. Ein MD5- oder SHA1-Hash ist einfach md5 () und sha1 (). Es ist nicht so einfach, dies mit RubyRails zu tun, wie man in Bibliotheken laden und Namespacesmodule verwenden muss, um zu den gleichen Funktionen zu gelangen. Lot8217s von Ressourcen PHP hat eine Menge von Ressourcen, Frameworks, Anwendungen und Bibliotheken zur Verfügung. Von CMS8217 wie WordPress und Drupal zu Frameworks wie Symfony und Bibliotheken wie Doctrine, PHP hat wirklich viele gute Ressourcen zur Verfügung. Wenn es um die Bereitstellung eines einfachen CMS geht, zum Beispiel, ich fast immer standardmäßig nur mit WordPress anstatt eine Rails App für sie zu erstellen. Ich habe nur das Gefühl, dass es eine viel einfachere Lösung ist. Tote Einfach zu implementieren Deploying PHP ist einfach einfach. Am einfachsten, nur FTP die Dateien auf einen Webserver (die wir bei Ballistiq nie machen 8211, die wir mit Git einsetzen). Thing ist, mit PHP Sie don8217t müssen wissen oder Pflege unbedingt über den Web-Stack. Viele Hosting-Services verwenden nur eine LAMP-Umgebung (Linux, Apache, MySQL, PHP), so lange, wie Ihre Dateien vorhanden sind, die sie gerade laufen und that8217s das. Auch mit einem Framework wie CodeIgniter ist relativ einfach, wie Sie don8217t jemals brauchen, um die Kommandozeile 8212 verwenden Sie nur kopieren Sie das gesamte Framework-Verzeichnis auf den Server und laufen. That8217s es PHP 8211 Die schlechte seine Evolution führte zu einer Menge von schlechten Code Dies ist nicht ein direkter Merkmal Fehler von PHP, sondern ist das Ergebnis von Jahren und Jahren des Aufbaus auf einer einfachen Skriptsprache, die spezifisch für die Lösung von einfachen Web-Probleme war. PHP war nicht immer objektorientiert. Auch wenn es OOP unterstützt hat, war es seit Jahren nicht wirklich OOP (fehlende wichtige Features wie statische Methoden), so dass Programmierer die Probleme durch alle Arten von Shenanigans wie die Verwendung von globalen Variablen oder die Einstellung einer lokalen Variablen mit einem globalen Referenzzeiger bekam. Z. B. Typischer Pre-PHP5-Code Das sind nur ein paar Beispiele, aber es gibt noch mehr, was ich hier hineingehe. Es ist unglücklich, aber ist nur eine der Nebenwirkungen der Arbeit mit einer Sprache, die sich schnell entwickelt hat. Eine Sache, die uns bei Ballistiq verrückt macht, geht in Projekte, wo wir Upgrade oder Wartung von Anwendungen mit alten PHP haben müssen. Dies ist der Fall mit einem unserer größten Projekte, wo wir versuchen, eine große App im PHP4-Code zu aktualisieren und es ist schrecklich. Eine Menge schlampig Code dort, dass wir mit arbeiten müssen. Bessere Codierungsstandards führen zum wirklich puristischen Code Wie oben erwähnt, ist der schlampige Code kein inhärenter Funktionsfehler von PHP. Es ist genau so, wie die Leute die Sprache benutzt haben. Da PHP populärer geworden ist, hat it8217s einen großen Einfluss von Firmenentwicklern bekommen, die einen wirklich puristischen Ansatz zur Programmierung nehmen. Wenn Sie auf Konferenzen gehen und diese PHP-Experten über Best Practices sprechen, wird PHP nicht mehr lustig zu programmieren. Du siehst fast ein Java-Programm an. Klassen deklarieren explizit Namespaces, importieren Namespaces, explizite Getter - und Setter-Methoden, explizite Deklaration von Publicprivate-Methoden, etc. Der Code wird extrem ausführlich. Jetzt, wenn du einen Rahmen sehen willst, der eine puristischere Annäherung an Sachen annimmt, schaut Symfony aus. Es8217s ein großes PHP-Framework, das bereit für Enterprise Level Nutzung ist, aber aus einer Entwicklungsperspektive, finde ich es langweilig. Ruby on Rails 8211 Das Good Mature Framework Je mehr ich auf Rails entwickle, desto mehr schätze ich es und liebe es. Ich habe festgestellt, dass es uns ermöglicht, qualitativ hochwertige Produkte für Kunden viel schneller zu schaffen, die mehr pflegebar sind. Es ist ein reifer und stabiler Rahmen, den viele große Unternehmen mit der Einführung in ihre Umgebungen bequem machen. Vergleichen Sie dies mit dem PHP-Ökosystem, das viele Frameworks hat 8212 there8217s ein Risiko der Auswahl eines Frameworks und finden, dass it8217s nur nicht so gut unterstützt mehrere Jahre ab jetzt (wir haben diesen Fehler gemacht). Geschwindigkeit und Entwicklung Freude Ich liebe es absolut, mit Rails zu arbeiten, weil es als Entwicklungsplattform extrem automatisiert ist. So viele Menial-Aufgaben wurden automatisiert, so dass Sie nur ganz auf die Lösung der Business-Problem statt Hacken Sie Ihren Weg um ein Framework konzentrieren. Einige Dinge, die wirklich für Rails in dieser Hinsicht sind: GeneratorenScaffolding 8211 Geben Sie einen sehr guten Ausgangspunkt für die Entwicklung um. Einige PHP-Frameworks bieten jetzt Gerüste Features. GemsPlugins 8211 die Rails-Community bietet eine Fülle von Plugins als Ruby Gems, die Sie einfach zu Ihrem Projekt hinzufügen Gemfile und installieren. Dies beschleunigt die Entwicklungs - und Wartungszeit erheblich, da Sie nicht versuchen, unterschiedliche Bibliotheken zu integrieren, it8217s bereits für Sie getan. Active Record ORM 8211 Von allen ORM8217s habe ich (für PHP I8217ve verwendet DataMapper DMZ, FuelKohana, Doctrine), ActiveRecord in Ruby on Rails ist einfach das Beste. Es funktioniert tatsächlich und ist bemerkenswert einfach zu bedienen. Integrierte Testwerkzeuge 8211 Ich liebe es, dass aus dem Tor, Rails hat ein Test-Framework, das verwendet werden kann. In PHP haben viele Frameworks erst seit kurzem versucht, PHPUnit in unterschiedlichem Erfolg zu integrieren. Als Programmiersprache ist Ruby wirklich eine tolle Sprache. Im Gegensatz zu PHP, ist es wirklich Objekt orientiert von Grund auf. Sein Code ist sehr prägnant und mächtig. Mit Edelsteinen (Erweiterungen) können Sie die benötigte Funktionalität einschrauben. Nach der Kodierung in Ruby, finde ich Codierung in PHP (oder etwas anderes wirklich) ziemlich langweilig. Ruby on Rails 8211 Die schlechte steile Lernkurve Mein Hauptrindfleisch mit Ruby on Rails ist, dass es tatsächlich eine steile Lernkurve hat. Glauben Sie nicht dem Hype, der sagt, dass es wirklich einfach ist. Sie zeigen Ihnen Podcasts, wo Sie eine einfache Blog-Anwendung mit Gerüsten und voila Instant Website zu bauen. Nichts ist weiter von der Wahrheit entfernt. Schienen sind gesehen, um einfach zu sein, weil sie viele Sachen im Rahmen von 8212 automatisiert haben, das macht es nicht leicht zu verstehen. Das Entwickeln einer Rails App und die Bereitstellung es tatsächlich erfordert, dass Sie den vollen Stack kennen. Mit PHP, können Sie nur zusammen kobeln einige Inline-PHP-Code, FTP es auf einen Server und los geht's. In Rails musst du wirklich wissen, was du von dem Webserver machst (Apache oder NginX), die Einrichtung von Phusion Passagier und Datenbank-Engine. Dann musst du mit dem Asset-Pipeline-Prozess umgehen, um deine App vorzubereiten, um im Produktionsmodus zu laufen. It8217s nicht so einfach wie das Ausführen im Produktionsmodus 8212 müssen Sie Ihr Vermögen vorkompilieren und sicherstellen, dass Dateien tatsächlich dort sind. Wenn sie nicht sind, wird Rails einfach blasen und Sie müssen herausfinden, warum durch den Zugriff auf die Rails Logs. Im Vergleich zu PHP ist Rails auch unfreundlich, wenn es um Fehler geht. Mit PHP, wird es spucken Fehler bei Ihnen in der Entwicklung und die Fehlermeldungen tatsächlich sinnvoll. Normalerweise wird eine Seite rendern, aber der Teil mit dem Fehler zeigt Ihnen an, welche Zeile der Fehler aufgetreten ist und die Nachricht nützlich ist. In Rails, in der Regel die ganze App bläst. Eine letzte Sache zu werfen ist, dass gute Ruby on Rails Entwickler dazu neigen, Polyglots zu sein. Sie sind in der Lage zu holen und lernen viele Sprachen. Während Anfänger kämpfen, um einfach nur Ruby zu lernen, benutzen Rails Leute mit CoffeeScript anstelle von Javascript, SCSS (oder LESS) und Slim oder HAML. Für einen Newcomer zu Rails ist ein Teil der steilen Kurve nicht nur Lernen Ruby und der Rails Framework, aber alle diese anderen Sprachen auch Ruby ist nicht eine einfache Sprache I8217m Entschuldigung, einige Leute hier zu beleidigen, aber Ruby ist einfach nicht so einfach wie PHP zu lernen Es ist in allen Absichten eine äußerst mächtige Sprache. Ich wähle, um Ruby einfach zu benutzen, weil als Entwickler ich das Gefühl habe, dass es eine viel bessere Sprache als PHP ist. Aber aus einer Lernperspektive ist es nicht. Ruby hat viele Features, die einfach nicht einfach für einen Anfänger Programmierer zu verstehen sind. Ein solches Konzept sind Blöcke, Procs und Lambdas, die Rails stark benutzt. Das klassische Ruby on Rails Beispiel, das ich verwenden werde, ist für die Erstellung eines Formulars: Wenn du mich zu Ruby neu kommst, kannst du dir vergeben werden, zu sagen, 8220Wait a minute8230.what8217s f8221 Ja Herr. Willkommen in Blöcken. Hier ist ein ganz besonderes Beispiel: Sogar als erfahrener Programmierer, ging ich bei der Betrachtung der obigen Codezeile plrosseyed. It8217s sehr einfach eigentlich 8211 erzeugen eine 8-stellige zufällige Zeichenfolge. Ein weiterer Bereich ist Meta-Programmierung. Hier8217s ein Beispiel: I8217ve lehrte Ruby on Rails an erfahrene Entwickler und das macht sie immer aus. Was genau ist was. Hat viele und hasandbelongstomany. Es sieht aus wie it8217s eine Art von reservierten Schlüsselwort oder Deklaration, da diese nicht in einer Methode eingekapselt sind. In Ruby wird jedoch ALLE Code ausgeführt. Jede Codezeile wird ausgeführt. Hasmany und hasandbelongstomany sind nur Methoden, die ausführen, wenn die Klasse deklariert wird. Eine andere Sache, die Ruby für Anfänger herausfordernd macht, ist seine lose Syntax. Let8217s schauen wieder auf den oben genannten Code. Es8217s nicht offensichtlich (zu einem Anfänger), die hasone: Adresse ruft eine Methode auf, weil die Klammern aus dem Methodenaufruf fehlen. In PHP ist die Syntax strenger und das macht es einfacher für Anfänger zu wissen, was8217s was. Als eine Sprache, vor allem, wenn Sie von anderen wie CJavaPHP kommen, ist Ruby anspruchsvoll und es wird Ihren Geist beugen. Sobald you8217re oben und läuft zwar, it8217s fantastisch und viele, die den Sprung genommen haben, genießen wirklich Codierung damit. Fazit Also aus all dem, was schließe ich PHP ist ein freundlicher Einstieg in Web-Entwicklung als RubyRails. It8217s einfacher, es gibt mehr verfügbare Ressourcen und du kannst schnell Ergebnisse erzielen. Trotzdem genieße ich persönlich die Arbeit mit Ruby und Rails mehr als PHP. Für viele der Gründe, die ich in diesem Artikel beschrieben habe, habe ich nur das Gefühl, dass das Ruby-Ökosystem ein überlegenes Werkzeug für die Entwicklung von Anwendungen bietet. Ich respektiere, dass die sterben-harten PHP-Fans gewann8217t das Gefühl, die gleiche Art und Weise 8211 that8217s cool. Meine Meinung hat sich aus der Arbeit mit beiden Sprachen und Ökosystemen gründlich in der Produktion gebildet. Seit dem Umzug in Rails, I8217ve nie wirklich fühlte viel von einem Drang, um zurück zu entwickeln mit PHP und so alle meine neuen Projekte neigen dazu, RubyRails werden. Bei Ballistiq. Wir entwickeln sich in beiden. Wenn ein Client-Projekt bereits vorhandenen PHP-Code und we8217re Entwicklung für die, die Notwendigkeit, auf der Software-Ebene integriert haben, bleiben wir in PHP. Wenn ein Kunde eine brandneue Anwendung benötigt, oder wir bauen unsere eigene App verwenden Rails. Addendum 8211 30 Mai 2014 Wow it8217s war schon eine Weile her, seit ich das geschrieben habe und es ist weiterhin ein sehr hochrangiger Artikel auf Google, der viel Verkehr anzieht. Weil die Technik in solch einem halsbrecherischen Tempo vorrückt, wollte ich diesen Artikel mit einigen neuen Gedanken aktualisieren. PHP ist ein langer Weg gekommen, seit ich diesen Artikel geschrieben habe. Als ich diesen Artikel schrieb, war PHP in einer vorübergehenden Phase, da viele Leute noch mit PHP 4 arbeiten und versuchen, auf 5 zu migrieren. Symfony 2 war noch nicht freigegeben worden Laravel war einfach keine große Sache. Ab sofort hat PHP ein bisschen eine Renaissance. Hier sind einige tolle Technologien, die wirklich PHP glänzen: Laravel 8211 Als Rahmen sieht Laravel wirklich hervorragend aus und viele PHP-Leute haben es als Rahmen gewählt. Ich kann dafür sprechen, weil ich es in der Produktion benutzt habe. Aber es sieht gut aus Komponist 8211 Komponist ist zu PHP was RubyGems Bundler ist Ruby. Es macht Paket-Management, das doesn8217t saugen. Jahrelang musste die PHP-Community mit Pear umgehen, was wirklich viel Traktion verzeichnete. PHP Webserver 8211 Für die längste Zeit, die Entwicklung mit PHP auf Ihrem Computer bedeutete, dass man sich auf einen externen Webserver wie Apache verlassen musste. Viele Devs endete mit der Installation von MAMP. Ab PHP 5.4 kommt PHP jetzt mit einem eigenen Kommandozeilen-Webserver, und es ist wirklich bemerkenswert einfach zu feuern. Nun, nicht alles funktioniert mit dem Kommandozeilen-Webserver (ich hatte Schwierigkeiten, WordPress dazu zu bringen, mit ihm zu booten), aber wenn Sie sich mit einem Framework entwickeln, das dies unterstützt, ist es eine viel schönere und sanftere Art, sich zu entwickeln. Codeception 8211 Einer unserer Teammitglieder bei Ballistiq gab ein sehr schönes Gespräch über ein Test-Framework namens Codeception, und ich muss sagen, dass es eigentlich anständig aussieht und dabei Dinge wie Selen - und BDD-Style-Tests unterstützt. HHVM 8211 Opensource Projekt von Facebook geführt, dies dauert PHP und kompiliert es zu Bytecode, die wiederum wird in x64 Maschinencode übersetzt und läuft wirklich schnell. Dies ist ein sehr interessantes Projekt, das PHP hoch performant und skalierbar macht. So ist PHP jetzt bald weg. Viele Leute benutzen es und setzen es gut. Allerdings habe ich (und viele Web-Ingenieure) weitergegangen. Als Ingenieure haben wir alles, was wir brauchen, um die Arbeit zu erledigen, aber durch die Wahl, ich gewann ein neues Projekt in PHP. Warum fühle ich, dass es dort interessantere Lösungen gibt, die es wert sind, zu sehen. Warum habe ich immer noch Rails als Rahmen und Ruby als Sprache geliebt Wie ich schon im Jahr 2012 erwähnt habe, habe ich es wirklich genossen, mit Ruby und Rails zu arbeiten. Trotz it8217s steilen Lernkurve, nach einer Weile traf ich einen Groove und jetzt die Anwendungen, die wir liefern, sind so gut, dass ich mir vorstellen kann, zurück zu gehen. Hier8217s einige der Sachen, die für RubyRails gehen, die ich wirklich fühle, macht es so eine starke Wahl: Edelsteine 8211 Als ich anfing, in Ruby zu kodieren, verwirrten Edelsteine mich mehr, als sie geholfen hatten, weil es zu viel gab. Sobald ich gelernt habe, dass man (und sollte) nur den Quellcode für Edelsteine lesen, hat alles so viel Sinn gemacht. Wegen der steckbaren Natur der Edelsteine und der Community8217s Standards können Edelsteine Ihrer Anwendung eine enorme Menge an Funktionalität sehr schnell geben. Einige Edelsteine, die ich nicht ohne wohnen kann: Devise (Authentifizierung 8211 behandelt Benutzer-Logins, Social-Sign-on, Passwort vergessen Workflows und vieles mehr), Paperclip (Datei hochgeladen 8211 sogar Griffe hochladen auf S3, Bild-Zuschneiden), Simple Form macht Formen unglaublich einfach Zu standardisieren und zu rendern auf Websites. Mountable Engines 8211 Wir haben ein Mammut-Projekt für ein Fortune-500-Unternehmen gemacht, wo nach dem Aufbau der Erstanwendung es so erfolgreich war, dass andere Abteilungen die gleiche Applikation wollten, aber mit etwas unterschiedlicher Funktionalität und unterschiedlicher Benutzeroberfläche. Anstatt die Anwendung zu kopieren und mehrere Codebasen zu unterstützen, konnten wir die meisten Kernfunktionen in einen Rails-installierbaren Motor extrahieren und haben buchstäblich eine Codebasis, aber mehrere Webseiten. Der Klient war absolut begeistert davon und es war ein großer Gewinn für uns. Skalierung 8211 Rails hat ein Stigma, nicht in der Lage zu skalieren und sie beziehen sich auf Twitter-Dumping Rails. Wir haben keine Skalierungsprobleme mit Rails gefunden und wir haben Anwendungen, die mit Millionen von Seitenaufrufen und Hunderttausenden von Benutzern jeden Monat laufen. Die Tatsache ist, die Mehrheit von euch wird niemals die Skalierungsprobleme haben, die Twitter hatte. Und in der Tat, wir fanden es einfacher, mit Rails zu skalieren als mit PHP. Zuerst unterstützt Rails das Caching aus der Box. You8217re in der Lage zu betrachten Fragment Caching in Ihrem Anwendungscode und verwenden Sie Redis als Cache-Shop. Das ist eine weit einfachere Lösung als der Versuch, Lack zu verwenden, der alles, was durch sie hindurchgeht, verlässt und eingeloggte Benutzer ohne Zwischenspeicherung verlässt. Mit eingebautem Rails-Caching konnten wir leicht skalieren. Zweitens macht Rails Capistrano Chef es sehr einfach, auf mehrere Serverumgebungen sehr schnell zu skalieren. Unsere typische Amazon AWS-Infrastruktur umfasst Elastic Load Balancer, mehrere Application Server-Instanzen ein Redissearch-Server, unterstützt durch eine RDS-Datenbankinstanz. Wir richten die Server-Provisioning mit Chef ein und ermöglichen es uns, eine neue, fertige Instanz in wenigen Minuten bereitzustellen. Die gleichzeitige Bereitstellung mit Datenmigrationen kann mit Capistrano über die Befehlszeile erfolgen. Wörtlich schreibe ich die Cap-Produktion ein: Migrationen und alles ist magisch auf alle unsere Applikationsserver implementiert. Benutzer sehen keine Ausfallzeiten, da wir Phusion Passage Enterprise und Rolling Neustarts haben. Hintergrundaufträge 8211 PHP wurde als Hypertext-Pre-Prozessor konzipiert, was bedeutet, dass es nur dann ausgeführt wird, wenn es eine Web-Anfrage gibt. Im Vergleich zu Ruby läuft ein Prozess. In Rails können Sie problemlos Hintergrundaufträge mit Sidekiq oder Resque einrichten. Dies fügt auch Rails8217 Fähigkeit, leicht zu skalieren. In unseren Anwendungen bewegen wir eine Menge von Sachen, die verlangsamen können Anfragen wie E-Mail-Nutzer in Hintergrund-Jobs. Jetzt kann PHP Hintergrundjobs mit Gearman machen, aber das8217s nicht standardisiert 8211 müssen Sie die PECL-Erweiterung installieren. In RubyRails sind Hintergrundjobs ein Nicht-Problem. Du machst es einfach Schienen sind BORING 8211 Schienen sind jetzt bei Version 4.x. Es ist ein reifes Rahmenwerk. Es ist jetzt langweilig. Die kühlen Kinder sind touting NodeJS in diesen Tagen. Schienen sind langweilig, weil es robust und stabil ist. We8217ve entwickelte apps in Rails jetzt für einige der world8217s größten Unternehmen und Menschen in ihren IT-Abteilungen don8217t bat ein Augenlid. Es8217s bekannt, dass it8217s eine gute Wahl, um Ihre (robuste, Enterprise-ready, skalierbare, performant) Anwendung auf zu bauen. Andere Technologien, die ich denke, sind die Gestaltung des Web AngularJS 8211 Wir haben AngularJS in unsere Kundenprojekte Anfang dieses Jahres für zwei Fortune-500-Unternehmen eingeführt und es war ein großer Gewinn. AngularJS ermöglicht es Ihnen, einseitige Anwendungen zu erstellen, die in Javascript laufen. Die meisten Ihrer Front-End-Logik geht in AngularJS, und Ihr Backend einfach, weil eine API, die JSON dient. Dabei konnten wir sehr leistungsstarke Anwendungen aufbauen. Die Benutzererfahrung ist mit diesem Ansatz sehr gut, da die Seiten extrem schnell geladen werden, da der Browser keine vollständige Roundtrip-Anfrage machen muss. NodeJS 8211 Ich habe vor einigen Monaten mit der Entwicklung in NodeJS begonnen und es hat mich verpasst. Was NodeJS sehr gut ist, baut vernetzte Anwendungen auf. Z. B. Wenn du eine Echtzeit-Chat-Anwendung baust, kannst du dazu NodeJS verwenden. Wegen der Reife von Rails, glaube ich, dass wir uns nicht bald davon abziehen werden, große Anwendungen zu bauen, sondern um Echtzeit-Komponenten hinzuzufügen, würde ich NodeJS SocketIO verwenden. Also, was sollten Sie tun Web-Entwicklung wird immer unglaublich komplex. Die Tage eines einzigen Entwicklers, der in der Lage ist, eine vollständige Anwendung von Anfang bis Ende zu versenden, werden immer schwieriger. Auch Front-End kann nicht mehr von einem einzigen Hybrid-Designer-Entwickler behandelt werden, die CSS HTML-Markup hacken können. Wenn du gerade anfängst, empfehle ich immer, dass du mit PHP anfängst. Sie erhalten Ergebnisse viel schneller, und dies wird Ihr Wachstum und Wissen zu tanken. Springen in RubyRails als Ihre erste Sprache könnte Sie wirklich frustriert versuchen, Ergebnisse zu bekommen 8211 erinnern, mit Rails, müssen Sie wissen, die volle Stack so it8217s nicht nur die Sprache und Framework you8217re herausgefordert mit. Sobald you8217re bequem mit Gebäude maßgeschneiderte Anwendungen in PHP, können Sie dann Ihren Appetit und starten Sie mit anderen Technologien wie RubyRails und sogar NodeJSExpress, und you8217ll schätzen, was diese Technologien bieten. Viele der Konzepte, die Sie von PHP in Frameworks wie Symfony amp Laravel lernen werden, werden in andere Sprachen und Frameworks übergehen. Ein weiterer Grund, warum ich empfehlen PHP als ein guter Ausgangspunkt ist, dass it8217s sehr nützlich zu wissen, so dass Sie auf Dinge wie WordPress Themen und Plugins hacken können. WordPress ist so weit verbreitet heute im Geschäft (vor allem Marketing-Abteilungen) und it8217s toll, Software-Polyglots haben, die mit vielen verschiedenen Tools und Plattformen arbeiten können. Die Sache, die Sie haben zu erkennen ist, dass das Web nicht über die Sprache, die Sie wählen, um mit 8212 it8217s über die Standards zu entwickeln und was es braucht, um Informationen in und aus dem Web-Browser zu bekommen. Es ist nicht wichtig, was auf dem Server ist, solange es ausspuckt HTML und die richtigen JSON Daten 8211 können Sie C für alle, die sich interessiert. Das ist, warum gibt es so viele Web-Technologien von PHP zu Ruby zu Python zu Java und Gosh Perl ist immer noch verwendet (ich traf einen Kerl, der eine Shopify App vollständig in Perl geschrieben hat). Hier bitteschön. Halten Sie auf Hacken Sie können alles in PHP, die Sie in Rails und umgekehrt tun können. That8217s genug für mich, um mit PHP zu bleiben. Soweit Rails schneller eingesetzt werden, zweifle ich wirklich daran. Es gibt nicht viel Zeit, die in PHP gegen eine andere Sprache mit den vorhandenen Frameworks gespeichert werden kann, die ich bereits benutzt habe (es sei denn natürlich, wir bauen AI, um Programmcode zu starten). Schöner Artikel. Ich bin völlig einverstanden, weil ich die gleiche Erfahrung von einem PHP-Hintergrund auf RoR gehabt habe. I8217m nur froh, dass I8217m nicht der einzige, der denkt, dass Lernen Rails schwierig ist. I8217m immer noch versuchen, meinen Kopf um Coffeescript zu bekommen. Ich möchte den Lesern einen Rat geben, ein wirklich guter Weg, um Ruby und Rails zu lernen, indem du den kostenlosen SaaS-Kurs von Edx (edx. orgcourseuc-berkeleycs-169-1xsoftware-service993) machst. Nicht nur werden Sie lernen, solide Ruby on Rails, aber Sie werden lernen, gute technische Aspekte und am Ende mit einem Zertifikat von Berkeley University als auch Andere als das, kann ich empfehlen, die Ruby on Rails Tutorial 2ed von Michael Hartl. Und Kopf First Rails (O8217 Reilly). Denken Sie daran, je mehr Sie RoR eine Chance geben, desto mehr lieben Sie es. Großartig aufschreiben Im eher ein Javascript-Typ, der gelegentlich PHP für die Serverseite verwendet. Seit dem Knoten kam, begann auch Javascript auf der Serverseite zu verwenden. Eine Menge der coolen Werkzeuge, die ich wie Jekyll, Sass und Kompass verwende, sind in Ruby geschrieben, also habe ich immer versucht, Ruby zu lernen. Ich habe beobachtet, dass viele meiner Kollegen sich zu Ruby oder Python bewegen, weil sie das fühlen, dass ein PHP-Programmierer nur doesn8217t die gleiche Respekt bekommen. Toller, ausgeglichener Artikel Leo, vielen Dank, dass du nicht das eine oder das andere verfolgt hast und das Ziel über deine Erfahrung bleibt. Deployment Komplexität von RoR betrifft mich, während ich die anderen Aspekte mag. Schöner Artikel. Im beide PHP und Ruby on Rails Programmierer. Ich wähle Rails weil im Gegensatz zu PHP there8217s zu viele zu studieren je nach Ihren Bedürfnissen. Viel rahmen und cms Während Ruby, Schienen ist alles was du brauchst. Du kannst Apps machen. Wirklich hilfreicher Artikel, Leo. Ich habe meine Zehen in die Web-Entwicklung für die letzten sechs Monate getaucht und habe hauptsächlich mit PHP gearbeitet, aber Ruby on Rails ist als nächstes auf meiner Liste der Sprachen. Als erfahrener Web-Entwickler, würden Sie vorschlagen, dass ich mit PHP weiterfahren und weiter nach Rails, nachdem ich etwas Erfahrung bekommen habe oder direkt in Rails Hi Michael springen. Ich denke, es ist wertvoll, beide zu kennen. Auf jeden Fall im aktuellen Klima wird ein Wissen von Rails Ihnen einen Job sehr schnell bekommen, da es mehr Nachfrage und weniger Konkurrenz gibt. Wenn Sie völlig neu für Web-Entwicklung sind, denke ich, dass PHP ein besserer Ausgangspunkt ist, weil Sie Ergebnisse schneller erhalten werden, die Sie anspornen werden, um in der Webentwicklung fortzufahren. Ich kann nicht genug betonen, wie kleine Erfolge aufeinander aufbauen. Sie können eine gute, benutzerdefinierte MVC-Anwendung schnell mit etwas wie CakePHP oder CodeIgniter. Wenn du dich zu Rails bewegst, raten I8217d nicht, Rails zuerst zu lernen. Lernen Sie Ruby zuerst und versuchen Sie es mit einem Framework wie Sinatra zu beginnen. Mein Denken ist, dass Rails zu viel 8220automagic8221 hat, was es sehr schwer macht zu verstehen, was unter der Kapuze passiert. Wenn Sie nicht verstehen, was Rails unter der Kapuze macht, und Sie don8217t wissen, wie man in Rails Quellcode aussehen und herausfinden, Debugging Ihre Anwendungen kann sehr lang und frustrierend sein, vor allem für einen Anfänger. Vielen Dank für die hilfreiche Antwort Leo Ich bin definitiv einverstanden, dass das Lernen der Ruby ist super wichtig, bevor sie in Rails springen. Da8217s definitiv viel zu lernen für mich noch aber I8217m super aufgeregt und motiviert von jedem kleinen erfolg Cheers Couldn8217t stimme mehr zu. Als neuere Ruby und RoR Dev war es instrumental, dass ich Ruby zuerst gelernt habe. Während RoR Ruby in seinem Kern ist, behandelt es eine Menge der rudimentären Aufgaben für Sie8230 daher Rails 8220Magic8221. Wenn Sie don8217t haben eine anständige Griff auf, wie man Ruby ohne ein Web-Framework verwenden, was8217s geht unter der Kapuze wird absolut frustrieren Sie, vor allem, wenn es um Debugging oder sogar zu verstehen, was die richtige Werkzeugmethode für den Job ist. Großer Artikel, Leo I, wie die meisten anderen, schätzen die gerechte und ausgewogene Darstellung der beiden Sprachen und ihrer jeweiligen Rahmenbedingungen. Oder Zeichen (8216a8217..8217z8217).toa Array. new (8).join Erste Sprache, die ich je gelernt habe, war Turbo Pascal. Dann Java. Erste Web-Programmiersprache, die ich gelernt habe, war PHP. Sehr informativ. I8217m neu in der Programmierung und schaue sowohl PHP und Ruby als serverseitige Sprachen (I8217ll entscheiden, welche zu gehen mit einmal I8217m in es ein bisschen mehr). Ich bin damit einverstanden, dass PHP ist einfacher abholen 8216off die bat8217 aber es ist sehr schwer zu finden gute Qualität Tutorials oder Anleitung gibt es dort. It8217s lächerlich wirklich sehen, wie es8217s schon so lange da war. Auf der anderen Seite hat Ruby eine steile Lernkurve (obwohl das Lernen von PHP im Tandem scheint mir geholfen zu haben, es zu verstehen), aber die Ressourcen für das Lernen, die da draußen sind, sind einfacher zu finden und ein ganzer Haufen besser. Code-Schule, zum Beispiel (check it out, wenn you8217re neu in der Entwicklung) ist eine fantastische resource8230 aber doesn8217t sogar berühren PHP. Ich sehe Ruby als die SS-Sprache der Zukunft. Ich arbeite an Ruby auf Schienen. Mit Ruby auf Schienen zu bauen Rock festen Code so Qualität Websites, die leicht zu pflegen wird nachher. Ruby on Rails ist auch bekannt für seine Codierung Konvention, Agile Praktiken und Sicherheit Stärke. Aber es ist wertvoll, beide Nizza Artikel zu kennen. Ich bin schon in den vergangenen Monaten in Web-Dev mit Rails gekommen und es ist schön zu sehen, dass I8217m nicht allein in meinem Glauben ist, dass es einfach nicht ganz intuitiv ist. Der Vergleich ist in der Tat wie Äpfel und Orangen, aber es ist nützlich, wenn man bedenkt, welche Bereich auf das Studium konzentrieren. I8217m zieht derzeit die Industrieerfahrung mit Rails auf, aber ich zögere zu begehen, die volle Meile in diesem Bereich zu gehen, weil die Kurve so steil ist, und ich weiß nicht, ob ich ein Rails dev sein will. Guter Artikel. Ich fühle genau so Nach gt10 Jahren php und Java habe ich gelernt, Ruby zu mögen. Und der Seelenfrieden, der die Schienen in einem stressigen Projekt gibt. Blind wissend, wo man neuen Code auch nach 12 Stunden Kodierung um 4 Uhr morgens setzen. Aber ich hasse wirklich die Komplexität, die Sie über das Infrastruktur-Setup erwähnt haben. Manche Leute genießen das 8211 ich don8217t. Live ist zu kurz für solche dummen Aufgaben. Ich frage mich immer, warum can8217t die RubyRails Leute schaffen, um eine Setup-Routine that8217s so einfach wie PHP zu erstellen Warum muss ich mit Ruby Version Edelstein Version Mac OSX Version Inkonsistenzen für 2 Tage kämpfen, bevor Schienen Server läuft das erste Mal Grmpffff8230. Eigentlich musst du mit 8221 Versionen aufstecken. 8211 Ruby-Versionen: Generell verwaltet von rbenvrvm et al. (Rbenv wird offiziell von Rails 8211 rubyonrails. orgdownload empfohlen). Wenn Ihr Eingeborener Ruby die von dem Projekt benötigte Ruby-Version erfüllt (z. B. 1.9.3 für Rails 4, 1.8.7 für Rails 3.2), dann sind Sie gut und Sie brauchen diese Werkzeuge nicht. But if you are doing client work, or even experiments (e. g. your main project is Rails 3, you are experimenting onplanning on switching to Rails 4) you8217ll need multiple Ruby versions running simultaneously in the same machine. You can use Vagrant et al. but that can8217t beat having it in your base OS. Rbenvrvmetc makes this possible only with a few lines of commands. You can say that one can just use the latest possible Ruby, but it doesn8217t always work like that (compatibility problems etc). Now try that with PHP. There are PHP version switching tools but they were nowhere near maturefull-fledgedeasy-to-use as rbenvrvm last time I checked. 8211 Gem versions: Seriously Show me a single languageframework with a packagedependency manager that doesn8217t involve version numbers (e. g. PHP8217s composer, Python8217s PIP, Closure8217s Leiningen, Java8217s Maven) Ever heard of DLL Hell 8211 Mac OSX: I8217m an Ubuntu user but I8217d be surprised if you can8217t get anything related to RubyRails working in MacOSX, seeing that most Rails developers are using Macs. 8211 You need to to install rbnevrvm on a machine only once. After that, you can install any version of Rubies and Gems in a matter of minutes. And with Heroku, you can see your thing in interwebs in seconds. And you have proven deployment tools like Capistrano which works for any empty Linux box. Yeah, PHP shared hosting is really ubiquitous (in most of which you still can8217t reliablysecurely run modern PHP frameworks), but here the scopes are really different. 8230from a long time PHP user who is busy switching to Laravel 4 and Rails 4 at the same time in production projects for the last 1-2 months. I8217m just finishing up a big L4 project and about to get started with ROR myself. hi leonard I am from India this article is very useful I want some suggestions on building a big eCommerce website. I have a good experience of making website in asp, asp Ajax and sql server 2008. Now I am thinking about moving from Microsoft (because of cost). Please help me choose between php(plain),php with mvc framework, django (not rails because of steep learning curve and updating the website after the host has updated the version).I have no experience on any of the above three. and I will develop alone and I want to cost to be on lower side. Any help would be useful Thanks for this article. As a programmer who8217s been out of the loop for a while (no pun), I had suddenly been preached to about RoR by kids who had never been across other languages. as if RoR was the be all and end all. Your article clarifies all the pros and cons very objectively. Much appreciated. As a would-be programmer starting out and slightly overwhelmed with all the languages and pressure with choosing one: really interesting article. Thanks Thanks for this Article. I8217m using PHP (Laravel framework) for development and Codeception for automate testing. Should I try RoR I8217ve heard that RoR have testing amp deployment tool which help us saving time a lot. Do you have any recommends for me. Thank you in advance We can not compare a programming language with a framework for a programming language. If you don8217t get this then you must start to learn again. A very well considered, helpful and well written article. Thank you Leo. Just read your article. I started my developing 8216career8217 in ASP webforms, which was quite easy and then switch to MVC with scaffolding, razor, nuget, entity framework, jquery, etc. It seems to me that Microsoft8217s stack is well-build and although I found it hard to learn MVC, it all fits together. Maybe they have 8216stolen8217 all good ideas from other frameworks and languages but they combined them very well and build a great IDE. So why does no one use it these days I read a lot of articles about what framework and language is the best, but they never compare it to ASP. Is it 8216just8217 because it8217s Microsoft The best article i8217ve ever read about ruby n php. Thanks for this Meanwhile, in Morocco: Hi. I loved your blog and it helped me a lot. Thank you so much I wanted to ask you one thing My first Rails app is a mobile app that will start with almost 1 million users (from another app my company is buying) and also a web application, like Facebook that you use in the browser and on your iPhone. I don8217t know how many nodes I can start with and I can8217t find a lot of information online. We have one server (16 GB RAM) I am using to test load balancer, database replication I can create as many VPS in the server as it fits in this server. I don8217t know if 16 GB will be enough for 1 million users but I created 6 nodes for staging (and learn): 8211 one with Nginx for load balancing (512MB) 8211 two with Unicorn for the Rails application (1GB each) 8211 two for MySQL (one master, one slave, but I still have to learn how to make Rails read from slave and write in the master, 2GB each) 8211 one for files (512MB shared via NFS with the load balancers and apps, where paperclip will write). The database will have a lot of writes. What architecture configuration you recommend Am I too wrong I used small RAM because I will use more for production but I don8217t know if 6 nodes is enough or if 16 GB will be enough. Can you help me Thank you 1 million users who are logged in, or 1 million users per month who are mostly just browsing the site Also, is the Rails application going to just be for an API or will it actually deliver the pages It also depends on the memory footprint of your application, if it is large or not. 1. 16GB is not likely enough for 1 million users if it is a reasonably sized application, and for that number of users I wouldn8217t put everything on a single server anyway. I8217d load balance across 2x 16GB (or 32GB) servers, quad cores minimum and scale from there. Remember, Ruby applications tend to bloat with lots of gems that you load in. The typical way to scale is to get as much memory as possible and run as many concurrent processes as you can in memory. 2. I would not use Unicorn. It is flaky and consumes a lot of memory. For that kind of scale, I would use Passenger Enterprise. If you want to be cheap and not pay for the Passenger license (which is worth it), you can use Puma. 4. Cache, cache, cache. Have one server just for Redis and cache the hell out of your application: guides. rubyonrails. orgcachingwithrails. html 5. Move slow processes into Sidekiq for background processing. Ich danke dir sehr. It is 1 million users registered but usually 20,000 to 300,000 concurrent connections. And it8217s HTML and JSON, depends of the extension. We want to grow, of course, so need to be ready to more. I thought Unicorn was the best. I was using memcached but I will try Redis. Thank you very much again. It was hard to find something online explaining how much memory and how many servers in the load balancer and things like this. Just think about this: if Facebook was done in PHP, which is probably the most robust and used web application in the planet, you don8217t need to be a very smart person to realize php is far from being a bad programming language. in fact, PHP in the next 5 years will become the definitive best web programming language on top of every other one by far. Why Because its syntax is more human readable. The only reason why RoR is so trendy, is because it did very cool stuff a few years ago not available in php. But php is getting better day by day, frameworks like laravest are getting tremendous attention, and even bringing back old php users who are dropping RoR and coming back like prodigal sons. Yes, RoR deserves the credit of pioneering MVC and many other things, but it lacks the beauty and simplicity of C syntax, which will reign forever and ever. There8217s a lot of hype regarding RoR, most people try RoR just because they want to feel trendy and cool, one of the reasons most hipsters use it. Don8217t be a victim of the phenomenon. PHP is not a trendy thing, PHP, without all the noise and propaganda, still dominates the web. Juan David Pasts Rivera Another alternative is Meteor, which is great, is a framework on top of node js, is the one I like the most from all that I have tried: derbyjs, deployd, sails, express, from what I remember. Even when it8217s not comparable with Angular, Meteor supersedes it since you have 2 way data binding and backend logic at the same time and written in JavaScript, also you don8217t have to learn ng attributes. PHP has Facebook as a great representative, but its syntax is not as simple as you can get with Meteor and preprocessing packages. Anyway, scaling is always another whole story, it8217s a huge work which can be done in all languagesframeworks, I am not sure in which of them is easier though. If that8217s so then why does nobody choose to write apps in COBOL or BASIC anymore Why would you choose CoffeeScript over Javascript Why has Apple created Swift when people can just as well use Objective-C Why does it take a non-speaker on average twice as long to learn Russian compared to Italian To say it8217s all about preferences and claim that somehow all languages are equal is pretty naive. I like Php spent a lot of time learning it built most projects in Php and will continue doing so. The only reason I8217m learning ROR now is because I get tons of job offers some remote. I look at it this way freelance jobs I8217m using Php. Contract long term company jobs ROR I guess. I8217m currently in between angularjs now because at my company we wanted to try this out with Ruby as the backend. So imagine the steep learning curve I8217m going through for both of these languages Ruby and AngularJS at the same time. Yet another moving average crossover system Oh, but this one is so much fun This is a trend trading system using very clean charts. Welcher Zeitrahmen (TF) Zwei TFs mit einem Verhältnis von 1: 4 - 1: 6. Zum Beispiel: Ich benutze die H1 und die M15 TFs mit einem Verhältnis von 1: 4. Aber du könntest die H4- und H1-Charts (Verhältnis 1: 4) oder die Tages - und H4-Charts (Verhältnis 1: 6) verwenden. du bekommst das Bild. Jeder, aber ich werde nur GBPUSD, EURUSD oder AUDUSD zu illustrativen Zwecken. Wie bestimmen wir die Richtung des Trends für unsere Zwecke Einfache. Zu einem quotblankquot-Diagramm fügen Sie eine 200 EMAclose0 Verschiebungsanzeige hinzu. Siehe Tabelle 1 unten. Von links nach rechts auf der 200 EMA auf dem H1 GBPUSD Chart ist es klar, dass die Richtung seit dem 7. Oktober aufgestiegen ist, also bis die Richtung der 200 EMA sich merklich ändert, werden wir nur lange Trades nehmen, das heißt , Handelt nur über die weiße 200 EMA-Linie. UPDATE: Ich finde die MA-Kreuzungen sehr gut auf Countertrend Trades auf niedrigeren TFs auch. Einfach nur genauer beobachten und nicht unbedingt so viele Pips wie in einem Trendhandel suchen. Lets Blick auf die H1 EURUSD Chart für die Praxis bei der Bestimmung der Richtung. (Grafik 2 unten) Wieder ist die Richtung seit ca. 7. Oktober gegangen. Gehen Sie durch diese Übung auf andere Paare, um mehr Praxis in der Bestimmung der Richtung zu bekommen. (Hinweis: Wenn Sie von einem höheren TF als H4-Chart handeln, würden Sie die 200 EMA auf diesem höheren TF verwenden, um die Richtung zu bestimmen.) Beenden der Einrichtung des Trading-Diagramms. Zu dem Blinddiagramm mit dem 200 EM A fügen Sie die folgenden geglätteten MAs hinzu: --- 3 geglättet MAclose0 Verschiebung gold --- 8 SmoothedMAclose0 Verschiebung lila Siehe Diagramm 3 im nächsten Beitrag Nachdem das Diagramm eingerichtet ist, stellen Sie sicher, dass Sie die Vorlage speichern. ZUSAMMENFASSUNG DER ZEICHNUNG "Großes Bild für die Richtung kommt aus dem H1-Diagramm (oder höher, wenn ein anderer TF gehandelt wird, aber der Drawdown wird deutlich größer sein, je höher der TF eins ist) Scan für die Richtung von 3,8 geglättete MAs in Bezug auf die gewünschte Richtung. Machen Sie Notizen von Paaren aufstellen oder benötigen Sie spätere Überprüfung, zum Beispiel, wenn sie sich der 200 EMA nähern. Was werden sie tun Bounce aus der 200 und drehen, gehen durch sie, oder gehen Sie es entlang. Das sind die einzigen Entscheidungen. Wenn 3 Kreuze 8 auf höherer TF. Um die TF für die Einreise zu senken. Suche ein starkes Kreuz auf niedriger TF und betritt. Ich überwache den Handel auf dem höheren TF. Aber das ist ein Händler bevorzugt. Angehängte Bilder (zum Vergrößern anklicken) Ich habe Recht mit Ihnen Lawgirl. Sobald Sie über die Angst zu verlieren und Sie können Ihre eigenen Absichten vertrauen, Geld verdienen bei Forex kann einfach und macht Spaß. Heres ein kleiner Umschlag MA Kreuz Vorlage von meinem eigenen, dass ich alle so oft verwenden. Keine Kerzen, folgen Sie einfach der weißen Linie und bleiben Sie auf der rechten Seite des Trends. Wie viel leichter kann es sein Hey forexhard, nett, über dich zu hören, Im sehr neu in FF weil ich gelesen habe, aber nie in das Forum involviert, aber ich werde von nun an seit seiner unglaublichen die Menge an Kwnoledge du kannst aus FF Ich las den Treppenstufen-Thread, ziemlich schönes System aber leistungsstarke, kann nicht warten, um Märkte zu öffnen, nur um es auf Demo natürlich auszuprobieren. Ich dachte, was ist mit einem 100pips SL auf der Suche nach einem 1000pips profit Sounds verrückt lässt skype: elchinoazul Das sieht interessant aus. Auf jeden Fall werden sie in dieser Woche abgerissen. Auch in einer Konsolidierungsphase, wenn Sie beenden, wenn die 3 und 8 Ihre Verluste überqueren wird minimal im Vergleich zu den Zeiten, wenn Sie gewinnen. Plus, es spart auf Verschleiß der Ole Augäpfel Es war ein Kerl hier, der diese Strategie vorschlug: Zitat mit 2 oder 3, und wenn du 50 schlägst, verkaufe zwei und bring den Stoppverlust auf, um zu brechen und das zu lassen Dritter Runquot bis die 3 und 8 wieder kreuzen Es ist eine große Strategie, weil du Gier beseitigt hast. Und der Läufer ist ein Freihandel Das ist eine definitiv eine gute Idee. Do you use microlots (0.01) or minilots (0.1)MACD (Moving Average ConvergenceDivergence Oscillator) MACD (Moving Average ConvergenceDivergence Oscillator) Introduction Developed by Gerald Appel in the late seventies, the Moving Average ConvergenceDivergence oscillator (MACD) is one of the simplest and most effective momentum indicators available. Die MACD verwandelt zwei Trend-Indikatoren, gleitende Durchschnitte. In einen Impulsoszillator durch Subtrahieren des längeren gleitenden Mittels aus dem kürzeren gleitenden Durchschnitt. Infolgedessen bietet die MACD das Beste aus beiden Welten: Trend und Dynamik. Der MACD schwankt oberhalb und unterhalb der Nulllinie, während die gleitenden Mittelwerte konvergieren, kreuzen und divergieren. Händler können nach Signalleitungsüberkreuzungen, Mittellinienüberkreuzungen und Divergenzen suchen, um Signale zu erzeugen. Da die MACD unbegrenzt ist, ist es nicht besonders nützlich, um überkaufte und überverkaufte Levels zu identifizieren. Hinweis: MACD kann entweder als Mac-Dee oder M-A-C-D ausgesprochen werden. Hier ist ein Beispiel-Diagramm mit dem MACD-Indikator im unteren Panel: Berechnung Die MACD-Linie ist die 12-Tage-Exponential Moving Average (EMA) abzüglich der 26-Tage-EMA. Für diese gleitenden Durchschnitte werden die Schlusskurse verwendet. Eine 9-tägige EMA der MACD-Linie ist mit dem Indikator aufgetragen, um als Signalleitung zu fungieren und Wendungen zu identifizieren. Das MACD Histogramm repräsentiert den Unterschied zwischen MACD und seiner 9-Tage-EMA, der Signalleitung. Das Histogramm ist positiv, wenn die MACD-Leitung oberhalb ihrer Signalleitung liegt und negativ ist, wenn die MACD-Leitung unterhalb der Signalleitung liegt. Die Werte von 12, 26 und 9 sind die typische Einstellung, die mit dem MACD verwendet wird, jedoch können andere Werte je nach Trading-Stil und Ziele ersetzt werden. Interpretation Wie der Name schon sagt, handelt es sich bei dem MACD um die Konvergenz und Divergenz der beiden gleitenden Mittelwerte. Konvergenz tritt auf, wenn sich die bewegten Durchschnitte aufeinander zu bewegen. Divergenz tritt auf, wenn sich die gleitenden Mittelwerte voneinander weg bewegen. Der kürzere gleitende Durchschnitt (12-Tage) ist schneller und verantwortlich für die meisten MACD-Bewegungen. Der längere gleitende Durchschnitt (26-Tage) ist langsamer und weniger reaktiv gegenüber Preisänderungen des zugrunde liegenden Wertpapiers. Die MACD-Linie oszilliert oberhalb und unterhalb der Nulllinie, die auch als Mittellinie bekannt ist. Diese Crossover signalisieren, dass die 12-tägige EMA die 26-Tage-EMA überquert hat. Die Richtung hängt natürlich von der Richtung des gleitenden Durchschnittskreuzes ab. Positive MACD zeigt an, dass die 12-Tage-EMA über der 26-Tage-EMA liegt. Positive Werte steigen, da die kürzere EMA weiter von der längeren EMA abweicht. Dies bedeutet, dass die Aufwärtsbewegung zunimmt. Negative MACD-Werte zeigen an, dass die 12-Tage-EMA unter der 26-Tage-EMA liegt. Negative Werte steigen, da die kürzere EMA weiter unterhalb der längeren EMA abweicht. Dies bedeutet, dass die Abwärtsbewegung zunimmt. Im obigen Beispiel zeigt der gelbe Bereich die MACD-Linie im negativen Bereich, da die 12-tägige EMA unter der 26-tägigen EMA handelt. Das erste Kreuz trat Ende September auf (schwarzer Pfeil) und der MACD zog weiter in negatives Territorium, als die 12-Tage-EMA weiter von der 26-Tage-EMA abwich. Der orangefarbene Bereich hebt einen Zeitraum positiver MACD-Werte hervor, bei denen die 12-tägige EMA über der 26-tägigen EMA lag. Beachten Sie, dass die MACD-Linie während dieses Zeitraums unter 1 blieb (rote gepunktete Linie). Dies bedeutet, dass der Abstand zwischen der 12-tägigen EMA und der 26-tägigen EMA weniger als 1 Punkt betrug, was kein großer Unterschied ist. Signalleitungsübergänge Signalleitungsübergänge sind die gängigsten MACD-Signale. Die Signalleitung ist eine 9-tägige EMA der MACD-Leitung. Als gleitender Durchschnitt des Indikators, führt er die MACD und macht es einfacher, MACD-Wendungen zu erkennen. Ein bullish crossover tritt auf, wenn der MACD auftaucht und über die Signalleitung kreuzt. Eine bärige Überkreuzung tritt auf, wenn der MACD abfällt und unter die Signalleitung geht. Crossovers kann ein paar Tage oder ein paar Wochen dauern, alles hängt von der Stärke des Umzugs ab. Due Diligence ist erforderlich, bevor sie sich auf diese gemeinsamen Signale verlassen. Signalleitungsübergänge bei positiven oder negativen Extremen sollten mit Vorsicht betrachtet werden. Auch wenn die MACD keine oberen und unteren Grenzen hat, können die Chartisten historische Extreme mit einer einfachen visuellen Bewertung abschätzen. Es ist ein starker Schritt in der zugrunde liegenden Sicherheit, um die Dynamik auf ein Extrem zu drücken. Auch wenn die Bewegung fortgesetzt werden kann, ist die Dynamik wahrscheinlich zu verlangsamen, und dies wird in der Regel eine Signalleitung Crossover an den Extremitäten zu produzieren. Die Volatilität in der zugrunde liegenden Sicherheit kann auch die Anzahl der Crossover erhöhen. Die folgende Tabelle zeigt IBM mit seinem 12-Tage-EMA (grün), 26-Tage-EMA (rot) und dem 12,26,9 MACD im Indikatorfenster. Es gab acht Signalleitungsübergänge in sechs Monaten: vier oben und vier unten. Es gab einige gute Signale und einige schlechte Signale. Der gelbe Bereich hebt einen Zeitraum hervor, in dem die MACD-Linie über 2 stieg, um ein positives Extrem zu erreichen. Im April und Mai gab es zwei bärische Signalleitungsübergänge, aber IBM setzte sich weiter fort. Auch wenn sich der Aufschwung nach dem Aufschwung verlangsamte, war der Aufwärtstrend im April-Mai immer noch stärker als die Abwärtsbewegung. Die dritte bärische Signalleitung Crossover im Mai führte zu einem guten Signal. Centerline Crossovers Centerline Crossover sind die nächsten häufigsten MACD Signale. Eine bullische Mittellinienüberkreuzung tritt auf, wenn sich die MACD-Linie über die Nulllinie bewegt, um positiv zu werden. Dies geschieht, wenn die 12-tägige EMA der zugrunde liegenden Sicherheit über die 26-tägige EMA zieht. Ein bärischer Mittellinienübergang tritt auf, wenn der MACD unter die Nulllinie bewegt, um negativ zu werden. Dies geschieht, wenn die 12-Tage-EMA unter die 26-Tage-EMA geht. Centerline Crossovers können ein paar Tage oder ein paar Monate dauern. Alles hängt von der Stärke des Trends ab. Der MACD wird solange positiv bleiben, solange es einen anhaltenden Aufwärtstrend gibt. Der MACD bleibt bei einem anhaltenden Abwärtstrend negativ. Die nächste Tabelle zeigt Pulte Homes (PHM) mit mindestens vier Mittellinienkreuzen in neun Monaten. Die daraus resultierenden Signale funktionierten gut, weil mit diesen Mittellinien-Crossovers starke Trends auftraten. Unten ist ein Diagramm von Cummins Inc (CMI) mit sieben Mittellinien-Crossover in fünf Monaten. Im Gegensatz zu Pulte Homes hätten diese Signale zu zahlreichen Whipsaws geführt, weil nach den Crossovers keine starken Trends entstanden sind. Die nächste Tabelle zeigt 3M (MMM) mit einem bullish-Mittellinien-Crossover Ende März 2009 und einem Bären-Mittellinien-Crossover Anfang Februar 2010. Dieses Signal dauerte 10 Monate. Mit anderen Worten, die 12-Tage-EMA war über die 26-Tage-EMA für 10 Monate. Das war ein starker Trend. Divergenzen Divergenzen bilden, wenn der MACD von der Preisaktion des zugrunde liegenden Wertpapiers abweicht. Eine bullische Divergenz bildet sich, wenn eine Sicherheit einen niedrigeren Tiefstand aufweist und die MACD einen höheren Tiefstand bildet. Der niedrigere Tiefstand in der Sicherheit bestätigt den aktuellen Abwärtstrend, aber der höhere Tiefstand im MACD zeigt weniger Abwärtsschwung. Trotz weniger nachteiliger Dynamik übertrifft die Abwärtsdynamik immer noch die Aufwärtsbewegung, solange die MACD im negativen Bereich bleibt. Die Verlangsamung der Abwärtsbewegung kann manchmal eine Trendumkehr oder eine große Rallye vorhersehen. Die nächste Grafik zeigt Google (GOOG) mit einer bullish Divergenz im Oktober-November 2008. Zuerst bemerken wir, dass wir die Schlusskurse verwenden, um die Divergenz zu identifizieren. Die MACD039s gleitenden Durchschnitte basieren auf Schlusskursen und wir sollten auch die Schließung der Preise in der Sicherheit berücksichtigen. Zweitens bemerken, dass es klare Reaktions-Tiefs (Trog) gab, da sowohl Google als auch seine MACD-Linie im Oktober und Ende November hüpften. Drittens bemerken, dass der MACD einen höheren Tiefstand bildete, als Google im November einen niedrigeren Tiefstand machte. Die MACD tauchte mit einer bullish Divergenz mit einem Signalleitung Crossover Anfang Dezember auf. Google bestätigte eine Umkehrung mit Widerstandsausbruch. Eine bärische Divergenz bildet sich, wenn eine Sicherheit ein höheres Hochzeichen aufnimmt und die MACD-Linie ein niedrigeres Hoch bildet. Die höhere Hoch in der Sicherheit ist normal für einen Aufwärtstrend, aber die niedrigere hohe in der MACD zeigt weniger Aufwärtsbewegung. Auch wenn der Aufwärtsimpuls weniger sein kann, liegt der Aufwärtsimpuls immer noch nach unten, während der MACD positiv ist. Abnehmende Aufwärtsbewegung kann manchmal eine Trendumkehr oder einen erheblichen Rückgang vorhersagen. Unten sehen wir Gamestop (GME) mit einer großen bärischen Divergenz von August bis Oktober. Der Vorrat schmiedete ein höheres Hoch über 28, aber die MACD Linie fiel seinem vorherigen hohen und bildete ein niedrigeres Hoch. Die nachfolgende Signalleitung Crossover und Support Pause in der MACD waren bärisch. Auf der Preisliste, bemerken Sie, wie gebrochene Unterstützung zum Widerstand auf dem Rückfallsprung im November (rote gepunktete Linie) wurde. Dieser Rückfall stellte eine zweite Chance dar, kurz zu verkaufen oder zu verkaufen. Abweichungen sollten mit Vorsicht getroffen werden. Bearish Divergenzen sind alltäglich in einem starken Aufwärtstrend, während bullische Divergenzen oft in einem starken Abwärtstrend auftreten. Ja, das hast du richtig gelesen. Uptrends beginnen oft mit einem starken Fortschritt, der einen Anstieg im Aufwärtsimpuls (MACD) erzeugt. Auch wenn der Aufwärtstrend andauert, fährt er mit einem langsameren Tempo fort, der die MACD von ihren Höhen absenkt. Der Upside-Impuls darf nicht so stark sein, aber der Aufwärts-Impuls übertrifft immer noch den Abwärtsimpuls, solange die MACD-Linie über Null liegt. Das Gegenteil tritt zu Beginn eines starken Abwärtstrends auf. Die nächste Grafik zeigt die SampP 500 ETF (SPY) mit vier bärischen Divergenzen von August bis November 2009. Trotz weniger Aufwärtstrend setzte sich die ETF weiter fort, weil der Aufwärtstrend stark war. Beachten Sie, wie SPY seine Reihe von höheren Höhen und höheren Tiefs fortsetzte. Denken Sie daran, upside Impuls ist stärker als Downside Impuls, solange seine MACD ist positiv. Sein MACD (Impuls) kann weniger positiv (stark) gewesen sein, da der Fortschritt verlängert wurde, aber es war immer noch weitgehend positiv. Schlussfolgerungen Die MACD-Indikator ist besonders, weil sie Impulse und Tendenzen in einem Indikator zusammenführt. Diese einzigartige Mischung aus Trend und Impuls kann auf tägliche, wöchentliche oder monatliche Charts angewendet werden. Die Standardeinstellung für MACD ist der Unterschied zwischen den EMAs mit 12 und 26 Jahren. Chartisten, die nach mehr Empfindlichkeit suchen, können einen kürzeren kurzfristigen gleitenden Durchschnitt und einen längeren, langfristig gleitenden Durchschnitt versuchen. MACD (5,35,5) ist empfindlicher als MACD (12,26,9) und könnte besser für wöchentliche Charts geeignet sein. Chartisten, die weniger Empfindlichkeit suchen, können die gleitenden Durchschnitte verlängern. Eine weniger empfindliche MACD wird noch oberhalb von Null oszillieren, aber die Mittellinienübergänge und Signalleitungsübergänge werden weniger häufig sein. Die MACD ist nicht besonders gut für die Identifizierung von überkauften und überverkauft Ebenen. Auch wenn es möglich ist, Ebenen zu identifizieren, die historisch überkauft oder überverkauft sind, hat der MACD keine Ober - oder Untergrenzen, um seine Bewegung zu binden. Bei scharfen Zügen kann die MACD auch weiterhin über ihre historischen Extreme hinausgehen. Schließlich ist zu erinnern, dass die MACD-Linie mit der tatsächlichen Differenz zwischen zwei gleitenden Durchschnitten berechnet wird. Dies bedeutet, dass die MACD-Werte vom Preis des zugrunde liegenden Wertpapiers abhängen. Die MACD-Werte für 20 Aktien können von -1,5 bis 1,5 reichen, während die MACD-Werte für eine 100 von -10 bis 10 reichen können. Es ist nicht möglich, MACD-Werte für eine Gruppe von Wertpapieren mit unterschiedlichen Preisen zu vergleichen. Wenn du Impulsmessungen vergleicht, solltest du den Procedure Price Oscillator (PPO) verwenden. Statt der MACD. Hinzufügen der MACD-Anzeige zu SharpCharts Die MACD kann als Indikator oben, unter oder hinter einem security039s Preisplot gesetzt werden. Die Platzierung der MACD hinter dem Preisplot macht es leicht, Momentumbewegungen mit Preisbewegungen zu vergleichen. Sobald die Anzeige aus dem Dropdown-Menü ausgewählt ist, erscheint die Standardparametereinstellung: (12,26,9). Diese Parameter können eingestellt werden, um die Empfindlichkeit zu erhöhen oder die Empfindlichkeit zu verringern. Das MACD-Histogramm erscheint mit dem Indikator oder kann als separates Kennzeichen hinzugefügt werden. Setzen Sie die Signalleitung auf 1, (12,26,1), entfernen Sie das MACD Histogramm und die Signalleitung. Eine separate Signalleitung, ohne das Histogramm, kann durch Auswahl von Exp Mov Avg aus dem Menü "Advanced Options Overlays" hinzugefügt werden. Klicken Sie hier für ein Live-Diagramm der MACD-Anzeige. Verwenden der MACD mit StockCharts Scans Hier sind einige Beispiel-Scans, die StockCharts-Mitglieder verwenden können, um nach verschiedenen MACD-Signalen zu suchen: MACD Bullish Signal Line Cross. Dieser Scan zeigt Aktien, die über ihren 200-Tage gleitenden Durchschnitt handeln und eine bullish Signalleitung Crossover in MACD haben. Beachten Sie auch, dass MACD erforderlich ist, um negativ zu sein, um sicherzustellen, dass dieser Aufschwung nach einem Pullback auftritt. Dieser Scan ist nur als Starter für weitere Verfeinerung gedacht. MACD Bearish Signal Line Kreuz. Dieser Scan zeigt Aktien, die unter ihrem 200-Tage gleitenden Durchschnitt handeln und eine bärische Signalleitung Crossover in MACD haben. Beachten Sie auch, dass MACD erforderlich ist, um positiv zu sein, um sicherzustellen, dass dieser Abschwung nach einem Bounce auftritt. Dieser Scan ist nur als Starter für weitere Verfeinerung gedacht. Weitere Studie: Aus dem Schöpfer bietet dieses Buch eine umfassende Studie zur Verwendung und Interpretation von MACD. Technische Analyse - Elektrowerkzeuge für aktive Investoren Gerald Appel
Learn Forex Analysis Wenn Sie interessiert sind, sich bei Forex Analysis. Als in Kontakt mit dem Kontakt uns Formular oder Sie können direkt mailen Sie uns an delhitrainingcoursesgmail oder verwenden Sie die Telefonnummern, um uns zu kontaktieren. Jetzt anrufen 9210640422, 9999959129, 9899127357, 8287996284, 011-43014913. Delhi Institut für Computer-Kurse (DICC) hat die Forex-Analyse-Kurs für diejenigen, die daran interessiert sind, Geld zu verdienen durch Devisenhandel. Forex und Devisenhandel Kurs von DICC wird es den Schülern ermöglichen, die Schwankungen in den verschiedenen Ländern der Welt zu verstehen und sie können Trades in der Devisenbörse mit den technischen Charts, Grundlagen und Derivate etc. initiieren. Der Kurs wurde von den Experten und entworfen Es umfasst von Grundlagen, um Ebenen Konzepte wie Grundlagen der Preis Aktion Handel, Charting und Trends in Forex Austausch, technische und abgeleitete Analyse, menschliche Psychologie hinter dem Forex-Kurs und viele andere Th...
Comments
Post a Comment