Bestand wählen
Merken

Cross-Pollinating Communities: We All Win

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
the and and
everyone but still right into good artists
copy great artists steal so if you're familiar with this quote you may you need a lot of people probably heard at the origin is not really clear the most people when who said this you said it's this man Steve Jobs and this coal became somewhat of a catch phrase so sorry here we have said about the cost of sayings in good artists copy great artists steel and we have you know always fight than shameless about stealing great ideas so simple he says Picasso and as the case in
quite catch everything the here's a quote the important thing to note here is that we've always been shameless about stealing great ideas I
the OK so maybe this is because it said it but it turns out if you do a little bit of research on this topic what's really interesting is there's no real proof the Picasso ever said and so this got me thinking well if a constant didn't say it who did but looking at some other possible origins the
1st person that you come across is this man this is Igor Stravinsky is a famous composer and he was quoted in a book on 20th century music saying good composer does not imitate he still it turns out that Picasso Stravinsky
actually meant resulted in this sketch this may or may not be why people think that because the set it maybe Steve Jobs had some inside info that is not really public I don't know but it's really interesting if you continue a little bit further you
come across this man this is William Faulkner is a famous author there was a book on stage design for theaters totally different industry than us and in in it included a similar quote that was attributed to him it's an immature artists copy great artists steal he goes a little bit further and says knowing what and when to steal is very much a part of the designers self-education the so what is
this mean this is clearly a really important concept the quotes a slightly different but actually when 2nd these names sound a little bit familiar to us the door and I think that's the key to success so here we have a we have an entrepreneur we have an author composer the score resonates with all of them I imagine it can resonate across industries designers architects developers
what this means to me at its core is that we're all influenced by what has come before us and what's around us the so what's really embrace that the steel good ideas and make them neuro this is the most important thing that I'd like you to take away from my talk I know I'm keeping your from lunch if you can a glaze over for the next 20 minutes is the only thing you remember that jumbled so about me and my name's chris Paul I work
for a combined were consulting company that does almost all amber work some rails work I really really like amber of I a site called from real samba that tries to give rails developers kind of a foothold in our way of doing things and I'm also an organizer of Boston so 3 major things that like to talk to you
about when a talk a little bit about communities that embarassed stolen from going to talk about some communities that have also stolen from Amber and then talk about how this sort of shaping our industry as a whole so communities that embers stolen from the 1st 1 that was a very major influence is
sprout this framework was developed by Apple if you knew to amber you may not have heard of it but it's basically the original javascript and the C library that's what they can ability so it's inspired by the best core ideas of coca which is in object-oriented framework for programming desktop applications so this is kind of interesting because the desktop influence unadjusted plane frame so the flagship application for 1st proper in my mind at least was was mobile me was sort of remember when it came out it was very interesting and I thought wow universe we have this sort of native feeling experience the it was widget-based they really felt like of desktop on the web which is really cool struck were brought this idea of this desktop-style because of the influence there was a desktop NBC architecture and what I mean by that this is a document document from and apples stocks and basically this flow might look a little bit familiar especially if you use number for a long time and so you have a view I'm a starter with the view way over around the bottom left and actions happen they're handled by the controller the controller then updates the model model notifies the controller things are done in the controller tells the view to sort of rewrite so this type of flow is what was coming if I wanted if you wanna sort of think of this in kind of an odd your way of thinking what say we can just replace a few things so we can change our controller to component we can change due to a template we do have to add a routing because it's very important in our way of thinking and it can achieve the data flow around a little bit so my point is that this is not terribly far off right it's it's it's considered the origin sort of came from around there spoke
about key-value observers and so I like to think of these is just property change notifications as saying this property updated go do something that what's really important about it is the framework is responsible for keeping things in Sec it's not on user developer to write the hook says hey when this changes go here's what I want you to do and the way that this really works this by using get and set so this is something they were pretty familiar with rabies at all the time sprung also and competed properties so again if you're not familiar with proper it maybe crazy that Amber didn't really invent sprocket In fact this look it's
proper code this looks a lot like a number and if I didn't have a scrapper logo if I didn't have a c . object extended the top and most of us would probably say at the number so here's why that is the if you're not familiar with the so in
2011 there was a rework of sprout for that was that was taken on to support auto updating templates the the I don't think templates of course became handlebars yeah and this rework was known respect for 2 points so
let's OK we you had a sense of the he said after a lot of soul-searching we decided to start from scratch is proper to point 0 taking the best for ideas from but leaving a large sum sprawling codebase behind in which really interesting about this this is already the 2nd time someone is taken the best score ideas of something else stolen it and kind of made up their own the so spread for 2 . 0 is a name was a little confusing if you try to search for amber and amber 2 . 0 in look at different things in a sort of understand why that could be in addition spec or 1 . 0 was sort of a native style widget library 2 . 0 was more of a web style and basically this you spread use HTML and CSS for presentation where so it's really different factors spread or 2 . 0 was then because of that named ran into Ember tests and then from there it was pointed out that there was another project using the name Amber so we will bring them again and we came up with a number of the the is the
1st then which is really cool you never looked at the 1st thing that number and the important thing to note here is if you look at the tag name the C S C 2 . 0 beta 1 you wanna read a little bit more in depth on this
history OK so now you it has a really great blog post on this about announcing Amber JS and in the follow-up renaming to us so we got a lot from scratch or you can't really have a bigger influence than so it's insuring norm going next with the let's look around so rails popularized this idea of convention over configuration is the major selling point of this in my this is a very powerful concept because shared ideas across different codebases can build conventions in making much more productive to to me adopting this for amber means is 1 of the biggest selling points for using because effort on teams as a consultant I can go into an number rapid immediately know my way around that I have to learn anything custom as a new developer as you develop rejoindre team they don't have to learn your custom built tool if anyone's done and consulting for quite a while they may be spent the 1st 2 weeks of any project working with build tools so it's really nice for us not to have that pain speaking of tooling rails also prove that powerful tooling was a total gain change the fact that you can just type rails New your app is generated type server and see it should sound very familiar so when we think about embassy alive we can try and bring you we get things generated in all just works it's really great you also don't have to copy and paste when you make file so every time you go in making around your copy of previous round put it and maybe some of you but use the generators to do this right they do the heavy lifting generate test for us rails also has a rather just like him and there's a lot excuse that I think were sort of borrowed from the weighted rails did things you know we have underscored conventions for dynamic segments you may see like GM . user underscore ID a lot which is interesting because most of the time we deal with is camel in that the nested routs feels very similar in a number so it's not exactly the same because obviously 1 is a client-side rather and 1 is a service better but you can sort of feel the inspiration additionally rails and Ruby in general actually has kind of what I like to call happy developer functions and these these are things that you get like singular arise and for relies we have this number as well in testing you have things like the visit to fill in APS like that they're just to kind when I see it yeah so there are a lot of inspiration and elsewhere the next up is react to react is kind of a newcomer of this and the obviously other jobs frameworks that have come out sense but re actually showed us that just by taking different ideas they can be really powerful so we learned a lot from react and this is in my mind the single biggest influence in our kind of new way of thinking with rendering and with Amber to point out so where the some of the things that we stole from react 1 way bindings this is interesting because what probably got most of us interested in number in the 1st place was to right you change a value somewhere and then immediately a template over here updates that's really cool for demos for small at but as things get more complex it doesn't really scale well turn to see you change the data where did it come from there can be weird side effects you run into so react really showed us that 1 way binding is a viable and preferred approach they did down actions that became are muncher for Amber 2 . 0 In react is called unidirectional data flow it's easy to see you answered it it's easy to see where things came from in this sort of goes along with one-way bind react also had a virtual down and on this so virtual done you have an in-memory representation of the down because Don updates can be expensive anyone sort of way expensive transformations on and on so what you do is when the UI needs to change the framework will sort of take a snapshot and you Don diffing to compare what needs to update and update everything on 1 shot this makes things much faster so these concepts and react really paved the way
for the glamor rendering engine really important so there's another another framework another community that isn't what you'd expect maybe
and that's back those interesting here is this is background is all about being lightweight lightweight API slightly different yeah I light weight functions and so what what we learned from background was that it's kind of good to be lightweight sometimes there are API eyes in cocoa so again remember that cocoa scrap rapid it's it's inspiration from cocoa and Amber died inspiration from spread for so you can tend to have these can ever boast API so you might have things and making some of the sort that you might have model for out of model did loader component and render it's just eating you might be typing these things all the time instead what we took from back inspiration for this lightweight still descriptive API we have a model after model did render things like that so overall this feels nicer again because we have to write it the men have
time summarize sort of this whole section with in all of he said with Amber JS we spent a lot of time borrowing liberally from concepts introduced by native application frameworks like cocoa when we felt
those constants were more a hindrance than help or didn't fit within the unique constraints of the web returned and a popular open-source projects like Ruby on Rails and back jails for inspiration so imagine that this this quote predates react I imagine if time were sort of Rees say this again you probably reaction to that as well so
this is in some communities that we've we've stolen from what look at if you the stolen from and go right back to
react and talk about react rather the so this is really cool is initially inspired by members right here's what the real says basically the last line there it was inspired by inverse fantastic router many thanks to the in between it's pretty cool so they value and what we were doing we got running really right right away and there's value in that shared ideas instead of writing from scratch angular also had some really nice things to say about so this is a recent
presentation and this is 1 of the core team members talking about the new rather frangula to it's using rat recognizer and the so root recognizer is sort of a dependency to rather as which is what we use for the rather a number the the it really has 1 job and that's just translating your also to define routs and replication so this this this is useful for a lot of people angular as it was mentioned in the in the keynote is also working on a C-like that
completely so it basically against the writing from scratch they're going to use embassy alive as the base and improve on it for their purposes and likely other projects
it turns out it's really hard to sort of find this if you don't know about the community don't know about the history but I think you know maybe you know it's stated explicitly maybe this is something that you know you get inspiration from the dancers so all
this is great but let's let's talk about how this helps not only your framework or maybe how you can help out other frameworks but how this moves everything for for every for a whole industry the yeah so Amber made a
really big bet and when all and on promises many years ago and other languages narrative frameworks sort of adopted this is well if seductive promise is is really a way to go but standardize honest and with all that support promises are available natively in all recent browsers except i.e. dry you will follow but that's really cool the the we also at all in and when can and our our version of web components is not quite ready for prime time yet but that's that's fine I think it's important that we champion web components as a viable way forward and but sort of browser vendors in standards committees know that this is a really important thing and I think it will further help drive for the adoption the we also in all and
on the next version of Java script so we've been using this for a long time we get this out of the box with embassy alive and it turns out a long time is actually a year and a half so that's pretty cool were all really used to the new version of JavaScript before it's even at and a lot of other communities have also your body into this and that's also because more moving everything forward to this project started off his yes Next we then moved to 6 2 5 and now it's babble and the naming as important as the concept in the data and also when
all and on JASigning Fiat and this is really helping drive adoption for this I think that the Jason API 1 . 0 1 that it probably would have taken longer if we didn't have a direct influence from a community like amber the if you've heard of active model serializes this is a project used in rails I and it's a bit part of rails API and rails API is now integrated into rails 5 and they're also going all in adjacent API and light amber data you can override if you don't use it but the important important thing to note is that that's the happy that's what's going to give you the the stenotic configuration required so nice if this all pushing for this is what also
TC 39 so this is a true it's basically responsible for evolving the John script language and by extension it really determines what's available natively in all browsers the and this is a multi-step process kind of an RFC like we have a number it's a lot more involved but what's really cool to note here is that you could is actively involved in this I know that stuff has also been involved we have member core team members that benefit From intimately knowing kind of the trajectory of things in all there's nothing private you all the all the meeting notes Republican sort of where everything is is public but being present for discussions the end to sort of knowing how things are going to go we can find things out a number as sort propose that 2 TC 39 and bytes where what's coming in TC 39 sort of apply that to how a building things that number and I think that's really power so
really don't don't just create framework features help out every every what is all this matter
we've looked at lots of examples of of stealing the so what so all turn again to you because he summarize this really really well and he gave it a keynote rails Conference 2014 where he explains this idea that successful communities toggle
between 2 modes I had to be on the path to greatness but the the important thing to note is that there's this toggle that happens as you build things up no 1 is experimentation so this
is an open where you see what works you try out things you get real worse in real world usage and sort of see what sticks the mode to is a shared solutions close mode the follow-up no 1 with mode to you decide on the direction you have focused execution the standardized and kind of everything for so if you've ever done in development spike sort to see if you can do something and then come back and tried to implement correctly maybe using TDD you're just being a lot more careful about what you're doing the following this process in the again the toggles what's important here yeah it's not just the 1 mode to Don you go back to mode 1 after mode to is finished and you get this sort of stair-step approach you're building on top of things you're learning and moving a lot from there the the and all of these stealing ideas from other communities in other frameworks that's what you're doing you not starting from scratch every it's not only communities
you can replace communities of lots of things you can replace communities of companies products developers designers in the this is a really cool concept regardless of what the actual core thing you're talking about this so it turns out and was really good at this we
this process really well we continue to innovate and there toggling between these 2 modes see very comfortable has
Rodney around for quite a while the so
build on what's come on come before you you shared solutions look at other communities in other industries and the shameless about stealing good ideas the and apps thank you they you lose you if you lose we the
Videokonferenz
Code
Güte der Anpassung
Metropolitan area network
Bit
Schmelze
Beweistheorie
Bit
Gruppe <Mathematik>
Information
Metropolitan area network
Arithmetisches Mittel
Autorisierung
Bit
Mereologie
CMM <Software Engineering>
Softwareentwickler
Schlüsselverwaltung
CMM <Software Engineering>
Metropolitan area network
Web Site
Selbst organisierendes System
Güte der Anpassung
Speicherabzug
Softwareentwickler
Ebene
Bit
Punkt
Gruppenoperation
Zahlenbereich
Kartesische Koordinaten
Framework <Informatik>
Komponente <Software>
Informationsmodellierung
Benutzerbeteiligung
Objektorientierte Programmiersprache
Minimum
Datentyp
Speicherabzug
Programmbibliothek
Zusammenhängender Graph
Optimierung
Grundraum
Architektur <Informatik>
Sichtenkonzept
Template
Datenfluss
Quick-Sort
Gamecontroller
Speicherabzug
Computerarchitektur
Shape <Informatik>
Kategorie <Mathematik>
Hook <Programmierung>
Mathematisierung
Luenberger-Beobachter
Zahlenbereich
Softwareentwickler
Menge
Code
Framework <Informatik>
Softwaretest
Addition
Subtraktion
Punkt
Gewichtete Summe
Template
Zahlenbereich
Kombinatorische Gruppentheorie
Template
Quick-Sort
Teilbarkeit
Entscheidungstheorie
Benutzerbeteiligung
Dämpfung
Widget
Speicherabzug
Programmbibliothek
Projektive Ebene
Router
Subtraktion
Bit
Demo <Programm>
Punkt
Web log
Puls <Technik>
Gruppenoperation
Selbstrepräsentation
EDV-Beratung
Zahlenbereich
Sprachsynthese
Unrundheit
Transformation <Mathematik>
Framework <Informatik>
Dämpfung
Prozess <Informatik>
Endlicher Graph
Code
Datentyp
Virtuelle Realität
Softwareentwickler
Konfigurationsraum
Softwaretest
Soundverarbeitung
Lineares Funktional
Schnelltaste
Zentrische Streckung
App <Programm>
Softwareentwickler
Diskretes System
Template
Konfigurationsraum
Systemaufruf
Routing
Elektronische Publikation
Datenfluss
American Physical Society
Quick-Sort
Gruppenoperation
Dienst <Informatik>
Generator <Informatik>
Schnelltaste
Funktion <Mathematik>
Rechter Winkel
Digitale Videotechnik
Server
Projektive Ebene
Normalvektor
Informationsmodellierung
Gewichtung
Datenmodell
Volumenvisualisierung
Volumenvisualisierung
Zusammenhängender Graph
Quick-Sort
Framework <Informatik>
Nebenbedingung
Ruby on Rails
Open Source
Nebenbedingung
Maschinensprache
Quick-Sort
Framework <Informatik>
Konstante
Open Source
Benutzerbeteiligung
Framework <Informatik>
Projektive Ebene
Eindeutigkeit
Hilfesystem
Fitnessfunktion
Router
Dämpfung
Rechter Winkel
Inverse
Router
Gerade
Router
Zustandsmaschine
Zahlenbereich
Schreiben <Datenverarbeitung>
Routing
Kombinatorische Gruppentheorie
Quick-Sort
CLI
Dämpfung
Prozess <Informatik>
Datenreplikation
Speicherabzug
Projektive Ebene
Wurzel <Mathematik>
Prototyping
Normalvektor
Zustandsmaschine
Framework <Informatik>
Shape <Informatik>
Elektronische Publikation
Quader
Browser
Default
Formale Sprache
Applet
Browser
Versionsverwaltung
Applet
Framework <Informatik>
Quick-Sort
Komponente <Software>
Benutzerbeteiligung
Chatten <Kommunikation>
Wurzel <Mathematik>
Primzahlzwillinge
Skript <Programm>
Skript <Programm>
Zusammenhängender Graph
Projektive Ebene
Compiler
Standardabweichung
Bit
Prozess <Physik>
Browser
Gebäude <Mathematik>
Zahlenbereich
Gebäude <Mathematik>
Benutzerfreundlichkeit
Trajektorie <Mathematik>
Quick-Sort
Informationsmodellierung
Umwandlungsenthalpie
Verbandstheorie
Mereologie
Skript <Programm>
Skript <Programm>
Speicherabzug
Serielle Schnittstelle
Projektive Ebene
Maßerweiterung
Konfigurationsraum
Leistung <Physik>
Framework <Informatik>
Framework <Informatik>
ATM
Prozess <Physik>
Dämpfung
Reelle Zahl
ATM
Gebäude <Mathematik>
Abgeschlossene Menge
Gemeinsamer Speicher
Softwareentwickler
Quick-Sort
Framework <Informatik>
Richtung
ATM
Softwareentwickler
Prozess <Physik>
ATM
Speicherabzug
Biprodukt
Biprodukt
Softwareentwickler
Videokonferenz
Code
Gebäude <Mathematik>
Dienst <Informatik>
Ereignishorizont

Metadaten

Formale Metadaten

Titel Cross-Pollinating Communities: We All Win
Serientitel Ember Conf 2016
Autor Ball, Chris
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/34692
Herausgeber Confreaks, LLC
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract You may have heard the quote, "Good artists copy, great artists steal." Ember's origins were inspired by Cocoa. Ember has taken many cues from Rails, the biggest coming in the form of strong framework conventions. In 1.13, Ember's rendering engine was rewritten based on concepts pioneered by React. Instead of writing their own cli from the ground up, Angular has embraced ember-cli. Let's examine past and future benefits of sharing ideas, and what it means for our favorite framework and our industry as a whole.

Ähnliche Filme

Loading...
Feedback