One other thing: Meteor’s build takes a really long time once you reach a project of any reasonable size.
Exceptionally nice!
Looking forward to seeing the github repo evolve! I’ll contribute where I can with my so fair limited knowledge.
There’s just so much info in what you posted here that I wasn’t even aware of would be issues or were tools that existed.
Due to discover meteor I thought iron-router is “THE” thing, but I’ll definitely look into Flow.
I was unaware of useful testing frameworks as I’m fairly new to JS development on fullstack.
Looking forward to seeing the github repo evolve! I’ll contribute where I can with my so fair limited knowledge.
Organizing doesn’t require knowledge, just some experience. Rome wasn’t build in a day. I expect that it will take at least a month of three to be barely complete for my own quest. I added a structure I want to use for my experiments, based on the research of the last two weeks. Also added some typical stack configurations and naming conventions. Plus that FAQ might be filled mostly from the questions I’ll find on the forum.
Even if I began programming in 1980. and can think as a programmer, I have problem understanding today’s technologies because I do not know things like variable scoping in JS, DOM, all these levels of interpreted layers of executions, and Meteor, such as how a page is rendered and when, rendering propagation, JQuery, etc.
I think there should be one forum just for mastering the technology (Meteor and related) where beginners, with their eyes of beginners would ask questions. Such as things we should know but are already as granted for more advanced people.
Of course, such discussions can be seen as polution and noise to more advances people. So, it should be mainly for beginners and those interested in answering or seeing what beginners are puzzled with. From such discussions, should be generated a wiki., but more like an e-book where things are presented in a specific order, not just a web of links. Bottom of the line, we should review everything that needs to be known, so why not put it in order.
Learning a technology should be cool and fun from start.
I think there are great learning resources available. For example the Udacity Nanodegree. the Mozilla Development Network and StackOverflow.
I think the learning journey for a Web developer who starts with Meteor can be like this:
- You have never done Web development and want to get started.
- You start with Meteor and you can build relatively cool things and relatively short learning time. Doing this motivates you to continue your journey. At this stage you still have only a basic understanding of Meteor, the Web Platform and Node.js.
- As you continue to push what you do, you will often encounter situations where you have to learn more about a specific part of Meteor, the Web Platform and Node.js, so that you have the understanding to solve your problem. I call this just-in-time learning and I do this all the time (for years).
I think there should be one forum just for mastering the technology (Meteor and related) where beginners, with their eyes of beginners would ask questions. Such as things we should know but are already as granted for more advanced people.
For this there are forums like StackOverflow. However, most things just require background research. Google and Wikipedia are great friends. The hardship is just part of the game. No victories without battles. Twenty years ago, I had no high speed Internet available, no wikipedia and just my buddies on BBS and IRC. All I had were man pages and a library card, a collection of books with API. Nothing changed. Examples will always be examples. You still discover that the manual usually tackles 80% of the challenges, and in order to fix one thing, you have to overcome ten, skim through hundred and get it wrong a thousand. This is the hacker way. Thus said the idiot who once had to write a driver for the Linux kernel in order to find his harddrive, only to discover months later all he needed to do was to download the correct kernel in the first place. Oh well, at least I still remember that boot partitions for FAT16 should start at 1FE…
As you continue to push what you do, you will often encounter situations where you have to learn more about a specific part of Meteor, the Web Platform and Node.js, so that you have the understanding to solve your problem. I call this just-in-time learning and I do this all the time (for years).
It is indeed a hacker platform
I think Meteor rate of adoption is just fine. Except for rare cases, new technologies are adopted slowly. That was certainly the case for rails. If I have to pinpoint one thing slowing down the adoption of Meteor it would be that there’s a new js framework every month so understandably people see it as “the javascript framework of the month”.
I just realized, that one very important aspect isn’t really available for Meteor when it comes to software engineering.
An IDE.
Reasons:
- Java: Eclipse, NetBeans
- VB/C++/C#: Visual Studio
- Python: PyCharm, Komodo
- Ruby: RadRails, Aptana Studio
- PHP: Aptana Studio
- Android: Eclipse, Android Studio
- iOS: XCode
@ffxsam
I do not mind paying for a good product. However, I could do practically the same with a Juno release of Eclipse and save 50 bucks. I do most of my coding in SublimeText 3, and on Linux boxes I’d use Atom. Too be honest, I just downloaded and opened it to immediately exit. Eclipse thingies do not feel new, unless the rebranding is done like Android Studio. Thanks for the tip, though! Another experience richer.
I’m pretty sure webstorm is at least as good as Android Studio, and also neither of them are based on Eclipse.
WebStorm is fantastic. Being able to cmd-click on the name of a helper, and have it jump you right to its definition is awesome, major time-saver. Sure, WS is not as speedy as SublimeText, but I personally like it way more for getting stuff done.
I’m pretty sure webstorm is at least as good as Android Studio, and also neither of them are based on Eclipse.
Never claimed they are based on Eclipse. Eclipse thingies and rebranding must be the reason you probably thought I was; what I meant is the way the environment feels like (for me). Also not claiming that webstorm is not good - I mentioned quite obvious that the love was not mutual and I didn’t venture forward… The rebranding is kind of directed how the IDE changed from Eclipse (it used to be Eclipse ADT before AS) - still didn’t feel fancy, but it was better than the alternative. Just to clarify.
WebStorm is fantastic.
Everybody has their own favorite car
Of course! I was just disputing your statement that there was no IDE for Meteor.
Your examples include PyCharm and AndroidStudio.
PyCharm, AndroidStudio and WebStorm are all based on IntellijIDEA, developed by a Russian company called JetBrains.
Heh. Obviously y’all haven’t tried Atom with the Meteor API package. It’s got isomorphism between the IDE, Server, and Client by way of implementing the complete Meteor API via code highlighting and code snippets; as well as isomorphism along the browser API, since Chrome is being used for the Editor itself, the Client browser, and the Testing environment (we swapped out SpaceJam’s PhantomJS instance for a Chrome instance in Nightwatch/StarryNight, which made it isomorphic with Atom). We’ve been building advanced package refactoring tools with StarryNight, and will be adding those tools into the GUI later this year.
As the person who basically put together the Webstorm Meteor specs (my MVC opinions are implemented in the default templates, and you can still find typos from the Cookbook there, natch), I can pretty much say that Webstorm doesn’t have anything on what Atom can do. Webstorm is a few years ahead, sure; but this time next year, I suspect Atom is going to leave Webstorm in the dust as far as an integrated, isomorphic, full-featured IDE goes.
That puts the stack isomorphism across Client, Server, Database, Mobile, Test Environment, and Editor. We’re looking at also bringing in Tessel.io support, to get isomorphic Hardware in there as well.
tl;dr - the value proposition of Meteor for many companies isn’t the reactivity and UI layer; it’s in the productivity gains from full-stack isomorphic APIs.
Meteor Development Group has focused most of it’s energy on shipping code, and building community, not marketing the platform. This has been the right decision, in my opinion.
With the new hires, and once Galaxy is out, there will be a big motivation for them to promote Meteor more expertly, and with that, I expect a surge in adoption.
And they are darn right, they should! That’s why community is important - it is not like “hey, we want this, build it minions”, but more like “perhaps I should develop this, but maybe someone else did the floor work already, but let’s all benefit”. I do feel that adoption of any software solution is not a topic of marketing; adoption is a good base point to understand needs.
PyCharm, AndroidStudio and WebStorm are all based on IntellijIDEA, developed by a Russian company called JetBrains.
Yes, and RadRails, Aptana Studio were based on Eclipse. The point is that they have a very specific target audience, which include more than the language. PyCharm for example gained most popularity thanks to Django (and Pylons). RadRails was just a rebrand of Aptana Studio, focused entirely on Rails, while Aptana Studio had its main focus on PHP, Zend and perhaps a long forgotten serverside JavaScript technology, Jaxer. Android Studio, even in Beta stage, was a big improvement compared the Eclipse plugins, called ADT. My point? They offered something new : a workspace eliminating everything else, with eyes on only one price.
Why didn’t I gave WebStorm a chance? Because I already knew this kind of IDE and it surely should be a good one, but more like a general JavaScript IDE with some meteor packages. It didn’t bring me something new, that feeling I have when playing with Meteor. Thanks for noting the vendor out; I recognize the name, I just tend to forget it all the time - its a wire not connecting in my head (like being a Rubyist unable to remember the full name of Matz out of my head, yet know that Guido van Rossum was the father of Python).
Heh. Obviously y’all haven’t tried Atom with the Meteor API package.
I actually did! And I love Atom (besides the facts being free, open source and shiny) a lot. If an IDE for Meteor felt like Atom, without its quirks - this remark wouldn’t probably be in this list. I came up with the IDE remark, because I am spending some time in researching Meteor for professional usage and business needs and started a simple list of things I need for myself to work collaboratively with others on some projects.
I can pretty much say that Webstorm doesn’t have anything on what Atom can do.
I don’t know WebStorm well, but that described exactly what I felt.
Webstorm is a few years ahead, sure; but this time next year, I suspect Atom is going to leave Webstorm in the dust as far as an integrated, isomorphic, full-featured IDE goes.
If I only would have more experience in the nuts and bolts of Atom, I would build mayhem myself. For example, the vim-mode package I would throw in as a solid option. Komodo IDE had this build in - I loved it so much, I even forced myself working in it, crashing on me all the time. That’s what most editors today lack - the vim way to quicky search and edit files, without your right hand leaving the keyboard. Terminal integration. Browser Plus. Don’t need to mention that. The file explorer already has the Git tracking integrated (green is good). What would be missing is an API inspector, debugging tools. And with the kadzillion of snippet packages, oh joy! Heh, I would endure the initial loading time if there was a splash with Meteor logo on it, sending the Kwan of “Sir, your Lab is booting” (I am getting old, I have nostalgic feelings about bootscreens now… mhmm VESA frame buffer).
the value proposition of Meteor for many companies isn’t the reactivity and UI layer; it’s in the productivity gains from full-stack isomorphic APIs.
And you are right, those are the key benefits. Collaboration tools and such are certainly secundary (actually a lot lower) to that. Anyone can start with Meteor without IDE’s and fancy docs or complete tutorials. It would be however, a great improvement I would love to see happen.
I starter with Rails in 2007 and what amazed me was that approaching the framework starting from Agile Web Development with Rails, I didn’t find just a framework, but a complete methodology. Rails since the early days was pretty complete from the software development life cycle point of view. You simply loved it because there was one simple and clear way to do build a project: language, framework and methodology. At that time I owned a design and development shop in Italy, and that precious book allowed me and my team to be productive in a short amount of time. Of course the completeness of the book was absolutely related to the fact that Rails convention over configuration approached and its architecture were really well done. When I say “well done” I mean complete, covering every aspect a developer needed from day one - like migrations, routing, testing… There weren’t 2 ways to make things right. There was just one, the Rails way. You could love it or hate it, but it turned out that many people really loved it.
My feeling with Meteor is that it has a lot of potential, but there isn’t the “right way” of doing things because in many areas important modules and guidelines are still missing.
The second important thing was evangelism made directly by the inventor of this framework, DHH, and by many other people who discovered that the conference business was a business too. So Ruby Central, Oreilly and back in 2007 there were 2 worldwide conferences in Portland and Berlin. In those years I sponsored a bunch of those events and the hype about the potential for 3rd parties - dev shops and system integrators - was amazing.
Now, that said, my question is: is there a business growing for 3rd parties in this area? Is it big enough? That for me is the way to double check Meteor’s potential in the real world.
I believe that Meteor is the solution that replaces solutions in Rails. I totally agree on the right approaches when Rails started - but it was far from complete! For starters, the language Ruby was continually bashed upon regarding execution speed compared with Python (the other dynamic language competitor). The Agile movement, Test Driven Development were just in minimal form - great community contributions allowed that to happen. The Rails Guides and Rails Casts were also community driven - not because it was just “strategized”, it was missing. Just for fun - remember how long it took to swap libraries to JQuery? Remember the routing performance before the Merb merge? The security chapter in the Rails Guides? Bundler to come along? Or the many broken gems from release to release. Not to mention trying to run something based on event machine on a Windows box.
This thread for example, which might sound too “business minded” for some, shows the potential for 3rd parties. I also believe that Meteor can be of extremely high value in various fields of the industry - if it matures enough for it (it took ages for Rails). In fact, every Rails customer I have would just love what I can do with Meteor now. And I am a n00b. Technology that solves problems is king.