17 ms·
Phoenix 1.0
- ChuckMcM 11y agoGetting to 1.0 is really awesome. Although I have a lot of 'framework fatigue' at this point, what would be really helpful for me would be why this framework is better than the dozen other frameworks along any number of axes, say "time to develop", "spinning up new developers", "obsolecence protection", anything which would provide a compelling story why this instead of Angular or React or Bootstrap or Eve or anything else for that matter.
- chrismccord 11y agoI don't have time for a longer response at the moment, but Angular/React are front-end frameworks, and Bootstrap is a css framework. In case you missed the 2nd sentence: > Phoenix is set to take on the world whether you're building APIs, HTML5 applications, or network services for native devices. My NDC Oslo talk (linked in this thread) would answer your questions if you have the time to watch it. I give a high-level overview of Phoenix, Elixir, and the Erlang virtual machine and the virtues of how it all fits together. I'll try to get back later with a broader overview.
- ChuckMcM 11y agoThanks Chris, my suggestion is that you link that talk on the announcement page too, my guess is that other people who are looking at Phoenix for the very first time since its now 1.0 will benefit from that information.
- xolubi 11y agoThis doesn't compare to the frameworks you mentioned in that regard. It's a framework for the Elixir language, not another JS framework.
- ChuckMcM 11y agoTrue, my thinking was one level up the stack, Phoenix is (according to Chris' talk) a framework for building applications. And it does this using Elixir running on Erlang. Is Elixir special? Sure it is, but "framework for building apps using language X which is run by virtual machine Y" is the basic pattern for JavaScript, Clojure, Scala, Java, and others. There are a lot of them, they have varying levels of integration. Can I build a discussion forum in Phoenix? Sure, it has all the tools. Can I build it using PHP or Ruby? Sure those have tools too. Can I create an integrated IDE with my langauge and my execution environment? Sure we can do that too like Light Table. So is it just Visual Basic all over again? Thinking of it that way is probably not conducive to polite conversation :-) but in many ways it is. We have a scripted language (Elixir), a virtual machine (Erlang), a "window" system (HTML5), and a set of APIs we can call on. That is great, doesn't solve a new problem but solves an existing problem in a new way. And I watched Chris' talk and read the documentation, and I still don't feel like I have a good feel for why its better than what came before.
- davelnewton 11y agoDescribe a "new problem". I only rarely encounter truly unique problems. One thing it does do is allow scalability in a pretty straight-forward, integrated way.
- ChuckMcM 11y agoI like the scaling aspect of it very much. There are lots of "new" problems with respect to changing conditions in our day to day lives. Here are a few - Identity management across Internet and non-Internet properties - Configuration, control, auditing, and monitoring of billions of Beacon level devices - Zero knowledge proofs as a technique for anonymous and no repudiated purchases online - "home" level cloud services for local and on the road implementation of always available services (mail, journaling, calendaring, Etc.) - Reliable third party payment systems (somewhat of an old system but one that benefits from revisiting with current technology from time to time) - Navigation and cartography tools for people in disconnected regions of the planet. - Civil process augmentation with automation and authentication. - Connectivity as a tax payer civic utility, without an editorial bias. -Dynamic skills assessment for students in the presence of confounding factors (mostly remote access) - Low friction capital markets for charitable giving (think Watsi but for everything, and with better controls than 'GoFundMe') - Providing civic services for indigenous homeless populations. I could go on, there are lots and lots of problems. But to be clear it isn't a criticism of Phoenix that they are not solving a new problem, the feedback was that there are lots of solutions to the general form of problem they are solving and, as feedback on this announcement, I was trying to learn from their materials how they were different (and presumptively better) than those other solutions. I'm still looking for that summary somewhere.
- jonathonf 11y agoAh, this is great. Hopefully now there won't be updates that alter syntax and functionality with quite the same frequency! (check the 'Upgrading from...' posts) I'm pretty excited about Elixir and Phoenix. Building on Erlang's OTP should mean scaling can be fairly transparent.
- chrismccord 11y agoRest assured that's the point of the 1.0 release. Those upgrading guides are what it took to get here, but our APIs are all now stable. Enjoy!
- angersock 11y agoJust in time for your workshop. :)
- sjtgraham 11y agoI have been working with Phoenix for about a year. Upgrading hasn't been bad. The most inconvenient thing was when Ecto changed some APIs to return tuples, and changing Ecto.Repo.update/2 to be a no-op with no changes. It really isn't that bad with a good test suite though. :)
- mccada 11y agoThis is fantastic. I'm hoping for some book releases in the near future now that the framework has reached version 1.
- chrismccord 11y agoThere are at least a few in the works that I'm aware of
- gt565k 11y agoCould you provide some links / info on where we can find them? Personally I've got a few books on elixir (one written by you), but I'd like to get as many resources as possible for Phoenix.
- chrismccord 11y agoAwesome. None have been publicly announced yet, but stayed tuned now that 1.0 is out
- rdtsc 11y agoGreat work Chris, Valim and everyone else involved. I like the screenshot of htop on the front page with all CPUs working along. And a shoutout to the Erlang's Observer tool as well, to inspect the running system and show process dependencies.
- devty 11y agovery excited to see the development. hope to see many apps built using phoenix.
- dodyg 11y agoThis is fantastic. It is now on my list to learn.
- happyfriend 11y agoDoes phoenix require javascript, or just this announcement page? I see a big block of text mixed with json... Not so good for noscript users and search engines that don't load JS.
- chrismccord 11y agoWe use readme.io to host our guides and blog. They use angular I believe, so maybe a hiccup on their end? Phoenix itself targets html/form, spa's, and api's alike.
- shadeless 11y agoJust the announcement page. The Phoenix website is hosted on https://readme.io/ https://readme.io/, it seems that it uses client side rendering for posts.
- phamilton 11y agoPhoenix is built to power realtime web applications. Realtime web applications require javascript. Edit: Not that you can't use Phoenix without realtime capabilities, but a lot of the good stuff in Phoenix is around Channels.
- tedunangst 11y agoJavaScript may well be practically required, but there are people/agents that don't have it, and dumping piles of json data on them is a poor fallback.
- thirdsun 11y agoI've been getting into serious production-ready web development for some time now and Rails has been the tool that kicked things off for me. However Phoenix and Volt are alternatives that have been on my radar recently and really caught my interest. Glad to see it reaching this milestone. Congratulations!
- thirdsun 11y agoI've been getting into serious production-ready web development for some time now and Rails has been the tool that kicked things off for me. However Phoenix and Volt are alternatives that have been on my radar recently and really caught my interest. Glad to see it reaching this milestone. Congratulations!
- djm_ 11y agoCongrats to the whole team! It's also worth noting that Ecto [1], the core-maintained Elixir ORM-like package, also hit v1 earlier this week and has backends for dealing with: PostgreSQL, MySQL, MSSQL, SQLite3 & MongoDB. [1] https://github.com/elixir-lang/ecto https://github.com/elixir-lang/ecto
- rattray 11y agoCan you talk about your experiences with Ecto? How does it compare to ORM's in other langs, like Python's SQLAlchemy or Node's Sequelize?
- rubiquity 11y agoEcto isn't an ORM since Elixir isn't OO. Terminology aside, Ecto identifies more as an Integrated Query Language in a similar vein as LINQ does in the .NET ecosystem. As someone who has used lots of ORMs I find the switch to a libary like Ecto very refreshing. It has an intuitive and very composable querying API and friendly DSLs for defining schemas and validations. These are the baseline features of any database/modeling library and Ecto satisfies them nicely. But by far my favorite feature that has come in handy is that Ecto's concept of Repos does not couple you to a specific database. Unlike traditional ORMs that couple your objects to a specific database (read: the my_cool_app database in MySQL or Postgres) it's easy to support different databases within the same type of RDBMS or different RDBMS entirely. Since all querying in Ecto goes through Repo modules all you need to do is just create more Repo modules and configure them accordingly. For some people this feature might not sound useful but if you've ever worked on an Enterprise or older app with multiple data sources or want to switch from MySQL to Postgres, this is a killer feature. Doing this with Rails' ActiveRecord is ugly, buggy, a pain and will bring you to your knees during Rails upgrades any time there are major changes in ActiveRecord.
- rufugee 11y agoI've worked with multiple ORMs (Hibernate, Rails ActiveRecord, and Grails GORM), and I've always been able to easily switch betweens RDBMS's unless I specifically decided to step out of the ORM and use a DB-specific feature or query. I'm not sure what you mean here?
- chrismccord 11y agoMy NDC Oslo talk gives a nice overview of the framework, Elixir, and its Erlang roots for those that want to evaluate the stack before jumping in https://vimeo.com/131633172 https://vimeo.com/131633172
- houshuang 11y agoPhoenix and Elixir are really great tools. I spent the summer building a bunch of interactive components for an EdX MOOC (https://imgur.com/a/rAXVz https://imgur.com/a/rAXVz), and got to try out a lot of Phoenix capabilities (channels/websocket support is great!), but also using underlying Elixir/Erlang libraries for task-queues, email sending and receiving, etc. Super stable, never able to get our server above a few percent of CPU :)
- tbrooks 11y agoDo you have any blog posts on task-queues and email sending/receiving? I'm trying to learn Phoenix and Elixir by rewriting an app I have that does just this. Sidekiq has been great as a background worker, but I'd like to try concurrency elsewhere.
- houshuang 11y agoJust wrote something on [sending errors by emails](http://reganmian.net/ http://reganmian.net/). The full code is here: https://github.com/houshuang/survey https://github.com/houshuang/survey, including my job module https://github.com/houshuang/survey/blob/master/lib/job_worker.ex https://github.com/houshuang/survey/blob/master/lib/job_work.... The code worked well for me, mostly because it registers errors and retries (I had problems with rate-limiting of Amazon SES), however it's not parallel right now. I will probably rewrite it to have a single module that gets tasks from the DB, and then dispatches it to workers, and I want to split it out into a separate library. Note that this was my first Elixir library and I was very much learning as I went along. Lot's of code that I want to refactor and extract.
- tbrooks 11y agoWow, this is awesome. Thanks for sharing!
- ghayes 11y agoIf you're curious about the framework as well, here's the source for an app I made for peer-to-peer file sharing in Phoenix: https://github.com/hayesgm/fuego https://github.com/hayesgm/fuego. You can try it out here: https://fuego.link https://fuego.link Phoenix has really been exciting to use. It's a great way to get introduced into the OTP system from Erlang (plus all of Erlang's modules), it's incredibly fast, and the immutable data structures make it easy to reason about your concurrent code. I would strongly suggest giving it a try.
- techpeace 11y agoCongrats on hitting 1.0.0! Thanks for all the hard work. The Elixir community is producing some really exciting stuff.
- tortilla 11y agoAwesome! Great work Chris and Jose and everyone else. Getting my feet wet with a few side projects and am really loving Elixir and Phoenix. Performance is great and I don't miss too much compared to Rails. I still love Ruby and Rails, but will most likely default to Phoenix/Elixir for most future projects.
- jerelunruh 11y agoI primarily use Django REST Framework for APIs... has anyone moved from Django to Phoenix and can give a report on how the developer productivity compares currently? If it's not there yet I'm sure it will get there as the community grows but how is it now?
- Conlectus 11y agoI'm a Django developer working who works with Phoenix in my free time, and I can say I prefer it. However "Developer productivity" seems like an excessively vague term, and would be hard to compare in any meaningful way.
- djm_ 11y agoPhoenix is more like Flask in that regard and definitely doesn't come batteries included like Django (no auth, no admin, no cache backends etc) so it would be more work to build something as full-featured as DRF on top of it. Having said that, I've found it easy to get along with retuning JSON and the actual speed of responses is incredible. Completely anecdotal and unscientific but one service I recently converted from DRF to Phoenix saw drops in avg response time of 350ms to about 15ms.
- dugmartin 11y agoIf you are doing REST apis and are interested in Elixir I'd recommend checking out Trot (https://github.com/hexedpackets/trot https://github.com/hexedpackets/trot). If is a lightweight wrapper around Plug (Exilir's middleware framework) and Cowboy (Elixir's native http server).
- andersonmvd 11y agoAs Jose was one of who contributed the most of RoR code and now is focusing on Elixir/Phoenix, will the RoR community move to Elixir/Phoenix? I think so, as Rails 5 doesn't seems to be that promising as one discussion here took place
- pbreit 11y agoWhen people choose to build on a more esoteric language such as Elixir (and to lesser extent Erlang) is it because what they want to do simply is not possible in Ruby/Python/Go/JavaScript/etc or just less efficient, elegant, productive, etc?
- erokar 11y agoThe latter. The virtues of Elixir is that it is a functional language with immutable data structures, and that it does not support object oriented programming (which I consider a feature).
- sjtgraham 11y agoErlang processes have state and you interact with them by sending them messages. You can do OO if you want :P
- dpeck 11y agoOddly enough you can do OO with Erlang/Elixir in a more pure/better (to me) way than you can with more traditional OO languages.
- Havvy 11y agoThat's because the core of OO (message passing to opaque things) is really all you can do if you have a PID. In other more-traditional object-oriented languages, they usually have defaults that let you do more than just send messages - such as mutate the internal state directly in ways that the object cannot detect.
- sjtgraham 11y agoErlang/OTP is great fit for building applications that support a huge amount of concurrent users, but the problem is that IMO Erlang is nowhere near as pleasant to work with as Ruby, Python, etc. So if you're building something with zero users and choosing Erlang because of the ROFLscale potential it's premature optimisation. Elixir is the difference. I am just as productive in it as anything else and I enjoy it much more. So what we have is the massive power and potential of Erlang/OTP with a productive, pleasant API and great developer tools (Mix, Hex, etc).
- ffn 11y agoThis is awesome! I've been working with Phoenix for a bit now, and aside from the fact hex/phoenix doesn't yet have all the libraries that rubygems/rails have, Phoenix has blown my expectations out of the water. For such a big and complex framework, the entire functional plug system (functional is love, functional is life) makes the whole thing easy to grok in a way utterly unimaginable in a traditional rails framework. By the way, in case core team is reading, what's the motivation behind removing infer_model_view from the render functions?
- rubiquity 11y ago> By the way, in case core team is reading, what's the motivation behind removing infer_model_view from the render functions? I'm not on the core team, but speaking as an Elixir user, explicitness trumps all virtues.
- chrismccord 11y agoPretty much what rubiquity said. Inflection was causing confusion and explicit > implicit almost always, so we decided to drop it.
- rdtsc 11y agoI haven't done much either with Elixir or Ruby (I do more Python and Erlang). But one thing I noticed is Valim (and others on the team) created a really approachable langauge and framework. Their emphasis on new comers, documentation, friendliness of community is outstanding. Also Elixir will bring more people to the BEAM VM and take advantage of it, as I think it is a gem of engineering.
- angersock 11y agoIt's great having new people, but hopefully we'll avoid the clusterfuck of gems and node modules that are the hallmark of the perpetually-immature web development community.
- rubiquity 11y agoI know you're being downvoted but I 100% agree with you. I don't want 100,000 Hex packages. I want a few thousand packages that solve problems really well and people rally around and collaborate on them. NPM and RubyGems are casualties of people seeking open source fame and I hope we can avoid that in Elixir.
- oomkiller 11y agoAfter spending nearly 7 years in the Ruby and Rails ecosystem, I changed jobs and have been working in with Elixir and Phoenix for nearly 3 months. I have been very satisfied with the process. The community is amazing, the tooling is unbeatable, and the quality and availability of open source libraries is great, especially for such a young project. The future looks very bright for Elixir and Phoenix!
- rhizome31 11y agoDo you mind sharing what kind of project you develop? And even maybe what company you work for?
- oomkiller 11y agoCan't say much about the details yet, but I work here: http://www.reactionhousing.com/ http://www.reactionhousing.com/ :)
- jjbohn 11y agoThat looks fun :)
- hartator 11y agoMaybe a stupid question, but why would you need something like exilir?
- oomkiller 11y agoI like Elixir because of its ability to do distributed computing, fault tolerance/HA, binary pattern matching, speed, and more. You don't need Elixir, but it makes a lot of stuff much easier to do.
- ffn 11y agoAgreed. One of the many things that makes Phoenix/Elixir great for us rails/ruby refugees is that it's built by other rails/ruby refugees. In many ways, we have all the good things that our old masters DHH trailblazed with rails, but at the same time, very little of the mess that also came with the trail-blazing. That being said, I do miss active_support though; Elixir's utility libraries (fox, pipe, croma, etc.) doesn't yet have all the easy automagic that made rails so simple to develop on.
- aren55555 11y agoFWIW the URL should probably be updated to http://www.phoenixframework.org/blog/phoenix-10-the-framework-for-the-modern-web-just-landed http://www.phoenixframework.org/blog/phoenix-10-the-framewor... http://www.phoenixframework.org/blog http://www.phoenixframework.org/blog seems to point to the most recent post.
- skrause 11y agoIf this framework gets too popular they'll probably rename it to Firebird. Let's just hope there isn't already another open source software called Firebird.
- k3d3 11y agoAnd then after that they'll rename it to Firefox
- acheron 11y agohttp://tvtropes.org/pmwiki/pmwiki.php/Main/DontExplainTheJoke http://tvtropes.org/pmwiki/pmwiki.php/Main/DontExplainTheJok...
- jonathonf 11y agoYes, there is [1]. That's the reason Firefox is Firefox (Phoenix -> Firebird -> Firefox). [1] http://www.firebirdsql.org/ http://www.firebirdsql.org/
- msandford 11y agoDoes Elixir have any kind of signal processing capabilities ala numpy/scipy for the Python ecosystem? I'm doing some stuff right now using a django/nodejs hybrid system (glued together manually) and I'd love to be able to do everything in one language. But the DSP support (seemingly) isn't there in the javascript ecosystem yet. I'd really love something built on erlang because of all the theoretical problems that just don't happen because of the way it's built.
- cpjk 11y agoCongratulations to the whole team! Thank you for all your hard work! Phoenix has so far been a joy to work with.
- krashidov 11y agoAre there any libraries to help with authentication in Phoenix? I couldn't find anything in the docs.
- rickr 11y agoI haven't done much with Phoenix but I think there are a few libraries out there. I think addict is the front runner: https://github.com/trenpixster/addict https://github.com/trenpixster/addict https://github.com/opendrops/passport https://github.com/opendrops/passport Also here's a nice blog post that was in the elixir newsletter that may help! http://nithinbekal.com/posts/phoenix-authentication/ http://nithinbekal.com/posts/phoenix-authentication/
- mands 11y agoSlightly off-topic, but can someone familiar with both Elixir and Erlang explain what Elixir provides in comparison to Erlang. I'm looking into using Erlang for a new project that requires extensive scaling and concurrency and am coming from a functional background so may be more comfortable with the traditional Erlang syntax. However it seems that perhaps more development and activity is happening on the Elixir side of things and it may be more productive in terms of tooling, libraries (such as Phoenix and Ecto), and support. Thanks!
- hansihe 11y agoI have worked a bit with elixir and erlang lately, but i'm not means an expert. I have to say, the biggest advantage elixir has against erlang for me is the macro system. It seems to manage to combine a ruby-like syntax with lisp-like macros, and it works incredibly well. Because of this it is very easy to create DSLs.
- kungfooguru 11y agoI'm a long time Erlang programmer and still prefer Erlang. But anyone who asks about web programming I point to Phoenix. So if you are doing a web app, or have a web component, I'd suggest Elixir and Phoenix for that part :) Erlang developer tooling does need work. But we are getting there, we have a new build tool http://www.rebar3.org/ http://www.rebar3.org/ that also combines forces with Elixir for the package management https://github.com/hexpm/rebar3_hex https://github.com/hexpm/rebar3_hex
- unoti 11y ago> can someone familiar with both Elixir and Erlang explain what Elixir provides in comparison to Erlang. The syntax is nicer, but that's just a bonus. The real game-changer to me about Elixir vs Erlang is its macro system. This gives you runtime code execution and runtime code generation, similar to what makes LISP to powerful. There's a large amount of boilerplate involved in creating an OTP server, as you know if you've done any Erlang. Elixir's macro capabilities completely eliminate all the boilerplate. The source to both Elixir and Phoenix are quite elegant and educational to browse, and demonstrate this runtime code generation aspect very well. It's straightforward in Elixir to introspect code, represent that code as data structures, manipulate those data structures, then generate or execute that code, as you can in LISP. Elixir also gives a number of excellent tools that streamline the support process over vanilla Erlang. For example, Elixir's runtime tooling automatically manages dependencies for you (similar to node's npm), and automatically maintains the application string that you need to provide for all OTP applications. It also has improved capabilities for testing, which are also made possible by the amazing macro generation capabilities. > I'm looking into using Erlang for a new project that requires extensive scaling and concurrency and am coming from a functional background so may be more comfortable with the traditional Erlang syntax Elixir's syntax is still just as functional. They support a regular if statement, unlike Erlang, but generally it's just as functional as Erlang. Elixir eliminates a number of needless chores from Erlang, such as having to end some lines of code with a comma, and others with a period, and then shuffling punctuation around whenever you add or remove lines of code. That's a task I used to do literally a hundred times a day in Erlang that I don't have to do at all any more.
- arca_vorago 11y agoHas anyone gotten Elixir and Phoenix talking with VoltDB via JSON/BSON or anything else? That's something I've been working on but got distracted with other projects. Loving Erlang/Elixir/Phoenix, I really feel it is going to scale very well.
- bra-ket 11y agonot to be confused with https://phoenix.apache.org/ https://phoenix.apache.org/ (distributed database)
- staticint 11y agoOr to be confused with http://website-archive.mozilla.org/www.mozilla.org/firefox_releasenotes/en-US/firefox/releases/0.1.html http://website-archive.mozilla.org/www.mozilla.org/firefox_r... (web browser) An interesting choice for a name of a software project, given its history.
- yellowapple 11y agoThe screenshot there seems to imply that Phoenix uses 6GB of RAM and pegs two CPU cores for one controller action and the rendering thereof ;) Congrats to the Phoenix folks; I'm pretty sure it's the first Elixir framework to hit that 1.0 milestone, and that's a pretty big deal.
- beginrescueend 11y agoWay to go! Great work, team.
- elevenfist 11y agoCan anyone break down how phoenix compares to meteor? Advantages/Disadvantages? Let's say I'm a CS grad, not a layman.
- lpsz 11y agoIf you were choosing today, would you recommend choosing Elixir over Go for web/back-end development? Would you say Go is more suited for high-performance command-line tools, and Elixir for long-term running stuff? I'm an indie developer building such a back-end (social networking/chat space), have full choice of language. Started using Go earlier this year and mostly happy with it. Should I switch to Elixir in my next iteration? Would it make me more productive, or save me from various deployment hurdles in long-term? (Please don't take this as one of those mostly aimless "Hey, is Ruby or Python better?" type of questions. I hate those myself. I'm going to be investing thousands of hours into Go at this point. Hoping for some serious pro-vs-con discussion, hoping people who have architected something big in either language could chime in -- such is the major plus of asking on HN.) I tried Googling, and the best/most recent I found was this thread. [1] [1] https://www.reddit.com/r/elixir/comments/3c8yfz/how_does_go_compare_to_elixir/ https://www.reddit.com/r/elixir/comments/3c8yfz/how_does_go_...
- kamac 11y agoOut of curiosity, which libs/frameworks are you using in Go? (that are web related)
- lpsz 11y agoHmm, still in the exploratory-hacking phase. Rewrote various parts of what Gorilla provides for learning purposes, plan to switch to Gorilla. Using "lib/pq" (Postgres) for the db. Also: need to cache some computed data in memory, and reload using a REPL or other means, haven't figured out the most "batteries included" way to do so yet. Also: need to figure out the most production-friendly way to redeploy code (sounds like Erlang/Elixir can do really well in this regard.)
- kamac 11y agoRelating to redeploying code, did you give https://github.com/codegangsta/gin https://github.com/codegangsta/gin a look? Also, any particular reason to not use a web framework such as gin-gonic for routing and templating? It simplifies some things down for me.
- vippy 11y agoThen you have to learn Elixir though. Disclaimer: My needs are currently best served by isomorphic React.
- haddadell 11y agoOh, the horrors in having to learn a new programming language!
- wiremine 11y agoIf you're new to Elixir, I highly recommend Dave Thomas' book "Programming Elixir" https://pragprog.com/book/elixir/programming-elixir https://pragprog.com/book/elixir/programming-elixir From the website: "You want to explore functional programming, but are put off by the academic feel (tell me about monads just one more time). You know you need concurrent applications, but also know these are almost impossible to get right. Meet Elixir, a functional, concurrent language built on the rock-solid Erlang VM. Elixir’s pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. This book is the introduction to Elixir for experienced programmers."
- rodgerd 11y agoAt an introductory level, Katie Miller's "Programming in Elixir" from LCA 2014 is a good talk: https://www.youtube.com/watch?v=uWSGBpW3xEQ https://www.youtube.com/watch?v=uWSGBpW3xEQ
- hackerboos 11y agoDave's book gives a great overview of Elixir. If you want a deeper look at Elixir - I'd recommend Elixir in Action by Saša Jurić (Manning publications). Ben Tan Wei Hao's book is also promising (still in early release) - The Little Elixir & OTP Guidebook also Manning.
- muzafferali4 11y agoWorking Class Hero - John Lennon (Best Acoustic Version) (youtube.com) https://www.youtube.com/watch?v=6dsZW70cuBA https://www.youtube.com/watch?v=6dsZW70cuBA
- anderspitman 11y agoMan, we really are spoiled with some great languages and frameworks these days.
- gjaldon 11y agoIn case anyone's interested, there's some screencast tutorials on Phoenix http://phoenixscreencasts.com/ http://phoenixscreencasts.com/ - Not much episodes yet though :)
- agend 11y agoreading the comments it's pretty clear that phoenix + elixir - it the best thing since sliced bread. Usually it takes years and couple of versions - to make it tick. But here - boom - 1.0 - everything works great - pretty impresive
- amelius 11y agoHow would this compare to the NodeJS ecosystem?
- davelnewton 11y agoNewer and smaller.
- shaunxcode 11y agoWhat is the "tooling" (https://www.filepicker.io/api/file/exQlE8JZQ2O2DaLm6cEA https://www.filepicker.io/api/file/exQlE8JZQ2O2DaLm6cEA) specifically called? (edit: it is ":observer.start()" from inside iex (elixir repl) http://blog.plataformatec.com.br/2015/06/elixir-in-times-of-microservices/ http://blog.plataformatec.com.br/2015/06/elixir-in-times-of-...)
- tednaleid 11y agoThat's the Erlang "observer". You can launch it from an iex (elixir) console as simply as: `:observer.start` and see your currently running process. It's super powerful for seeing the state and organization of your current application (though a little ugly). It can also be used to monitor remote nodes easily, kill processes, view state, see application load, etc.
- toephu2 11y ago...another new web framework?
- tiffanyh 11y agoShould there be concern using Phoenix given the low performance rank of it on the Web Framework benchmark? [1] [1] https://www.techempower.com/benchmarks/previews/round11/ https://www.techempower.com/benchmarks/previews/round11/
- chrismccord 11y agoAs noted on that page: > WARNING: Preliminary data! Errors, anomalies, and other peculiarities should be expected. We sent them a PR as their example app was doing things like html form CSRF token generation, session fetching, and heavy logging, - all for JSON apis. Phoenix has pipelines to explicitly segregate these kinds of request overhead when they aren't needed. They also used a very low database connection pool size. Hopefully they merge the PR shortly, and re-run the tests to properly represent us. See own series of benchmarks here: https://gist.github.com/omnibs/e5e72b31e6bd25caf39a#results https://gist.github.com/omnibs/e5e72b31e6bd25caf39a#results
- RGamma 11y agoWay to go to ignore most basic web standards, too (JS disabled): http://i.imgur.com/HE3uH4Y.png http://i.imgur.com/HE3uH4Y.png Please don't participate in the "modern web", thanks.
- djm_ 11y agoTo be clear to anyone reading this who didn't read the rest of the thread: the docs are hosted on readme.io (YC) and not with a Phoenix build. Readme.io have stated they are working on a better nojs solution.
- thunderbong 11y agoWithout javascript enabled this site is totally garbled. Since rendering is so dependent on javascript maybe a noscript will help
- digitalzombie 11y agoMan I went to an Erlang meeting a year ago and all the people there were talking about how to get Erlang to be popular. I basically said look at Ruby, it shot up because of RoR. All erlang needs is a good hype web framework. Everybody in that room was like nope, the people can't see the power of Erlang and Erlang only solve a niche problem or that web framework isn't the answer. Uh huh. Phoenix is evidence that programming language needs a good framework and a big user base that are hype about it. Sadly I don't see Erlang going to get momentum as Elixir and I think it's a good thing. Erlang can do it thing and Elixir can bring in more people on to the Erlang VM (BEAM).
- akoder 11y agoWow,excited to see this. I'm following phoenix since its 0.10 days and i'm proud to say it has come a long way. Using phoenix source for tips and guidance while im developing a web framework for Erlang (Entirely for learning purposes). Amazing work team Phoenix. Hats off to you!
- jdoconnor 11y agoThis is great news. Side note: with a name like Phoenix, would it make sense to start at 2.0? :)