Closed gfxguru closed 8 years ago
Thanks for your feedback. Yes, we Magento 2 is bringing the framework inline with modern programming practices, consistent with many other platforms. There are changes as a result. There is also a lot of commonality - similar list of modules, similar data model, similar layout files. But there are a lot of change as well - PSR standards (namespaces), dependency injection, test automation, etc.
There were some interesting talks at Imagine - one that I recall in particular by Joshua Warren where he used "the 'p' word many developers hate - 'professionalism'." There is no doubt Magento 2 is lifting the bar for developers. Yes, we are mandating technologies like "dependency injection" (Martin Fowler talked about this in 2004, so "modern" might not be quite the right word here). It is known to improve testability of code. It is known to product better quality of code. Etc. That is why it is so widespread.
The good news for developers is if they do not want to learn new technologies there will be lots of M1 work around for many years to come. For others, there are Magento University training courses, more books on M2 becoming available, etc. There is also more developer documentation for M2 than we have ever produced for M1 (and we also know it is not finished!). There is no doubt in my mind we need to do more to help developers adapt to the new platform, and we will continue to do so.
I am however closing this request off as it is not a bug report. More general discussion is suitable for the forums. I will however say that we are continuing to work on ways to make M2 development easier. But we will be moving the platform forward to address the needs of merchants and developers. There was an extensive community consultation process during the development of M2. We know we are not going to please everyone. Apologies for that. But we will be moving forward with the platform regardless as it would be the death of Magento to do otherwise.
Oh, I forgot to say if you have a specific issue you are welcome to submit it and we will address it the best we are able. But this specific issue has nothing to respond to.
Yes I do. WE"VE FIXED MOST OF THESE ISSUES YEARS AGO!
On Thu, Apr 14, 2016 at 9:50 AM, Alan Kent notifications@github.com wrote:
Oh, I forgot to say if you have a specific issue you are welcome to submit it and we will address it the best we are able. But this specific issue has nothing to respond to.
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/magento/magento2/issues/4158#issuecomment-210045296
I can't believe the community is truly on board with is project any longer. You've bastardized and community driven project that's taken over a decade to build and now you mince buzz words instead of creating actual solutions. It's so sad and I hope the community will speak up and do something about this. Ebay has has not only ruined the largest OS ecosystem ever, they've totally turned me and I'm sure others, against the notion of ever being able to rely on the stability or quality of code and the process that took us there.
If anyone else is behind me I think I'm done with Magento. I'm working with a forked project of 1.9.* and looking for any of the ol timers that have been with magento for over a decade or more. I believe we along could build the Magento 2 that we know is robust, written for developers by developers and without the underlining cheap tactics to promote an organizations ulterior motives in the background.
We have received both negative and positive feedback. I always welcome specific negative feedback so we can try to fix them. I personally spent a lot of time of Imagine asking people for that feedback. I got feedback on a number of areas to improve. But I personally got more positive feedback than negative, even when I did not ask for it. (I always look for things to improve upon - that is my nature and my job.)
There are some known pain points - we need to simplify developer set up because the number of tools required are higher now. We got the file permissions wrong in 2.0 and are fixing that. Had a session last night at Imagine with a few folks reviewing the front end development tool set. Magento knows the importance of the community. We invested big time in the new Marketplace to address community reported problems with the old Connect. We are constantly listening for feedback.
Other than these broad motherhood statements, I don't know how to respond without specific examples. (Oh, another problem I know of is keeping up with the volume of feedback now that M2 is being more broadly adopted. That is another challenge we have to work how to address.)
@gfxguru, you may be surprised how much derived from Magento 1 code is still contained in Magento 2. There are even hundreds of methods declared but not used anymore, not saying about methods with just cosmetic changes.
On the other hand, a lot of things significantly changed and will never return, even those to which all are accustomed in Magento 1. The biggest example is God Class Mage
, let it rest in peace. No more code pools, but it was always a bad idea to rewrite a whole class. No more class aliases and lame Folder_Per_Word naming strategy is not necessary, you can simple use a fully-qualified class name.
Some Magento 1 reminants are still alive but not recommended to use. Like, you should use interceptors instead of event observers whenever it is possible. You shouldn't use <action>
layout instructions, but such mechanism is still present due to unfinished refactoring.
Some stuff is totally new to Magento 2 thus is raw but it does not mean poor developer experience has no chance to change according to feedbacks. For example, to me personally the whole UI library and JavaScript infrastructure looks overcomplicated and outmoded at the same time.
In general, dealing with both Magento 1 and Magento 2 I meet much more things which seem illogical and really piss me off in Magento 1 rather than in Magento 2. Magento 2 developer experience is not seamless to me yet but I do understand that no pain = no gain and noting for myself what could be improved or overcome.
Which particular changes in Magento 2 compared to Magento 1 dramatically pulled up learning curve for you which made investing efforts into it doubtful?
Thank you so much orlangur for such insight, wisdom and information. I'm just so upset with the complete shift to 2 and I don't believe Magento 1.9.2.4 was or is stable, robust or secure in it's current state! And now to introduce a whole new set of issues and even a couple I swear we fixed a long time ago...lol so funny. I cannot upgrade to 2.0 for a couple reason. Number 1) I don't believe in the process Magento/Ebay is using is actually working. Period. 2) After dealing with Magento 1 for how long now? over a decade right? thinking some of it's features would actually be fixed and still today do not work! Magento 1 is nonfunctional in so many ways. It's almost as if it's engineered deficiency to promote another product or service. I truly wonder...
I'm suppose to believe something has changed within Magento 2 to address the shortcomings of Magento 1.
Mention the name Magento and I almost feel like an idiot....
I think one of the biggest surprises is that Magento decided to create their own new framework redoing a lot of what modern frameworks like Symfony2 already do for years. As an example the dependency injection DI that was created once again in the new Magento framework. When we worked on Magento 1 we had a problem finding a framework that handled all our requirements and we ended up using ZF as a libery framework and ended up needing to invent a lot of things. Today modern frameworks are much more mature and provide really good fundamentals for creating applications. The fact that Magento decided on their own framework makes it harder for developers to adopt and learn the new version, and makes it less stable with a lot of unknowns as it was never used in real world projects yet. It also makes Magento harder to integrate with other like minded OS projects. Take a look at all the projects using Symfony 2 for example (Drupal, ezPublish, OroCRM , Akeneo and many more). as alternative to relearning the new Magento checkout other ecommerce projects like Sylius or OroCommerce that use the Symfony2 framework and while you learn them it opens new options to work with other great projects using the same framework.
@yoavkutner My thoughts exactly, I was pretty dumbfounded when I discovered M2 had reinvented DI containers given there are several tried and tested solution out there. I wrote an M1 Symfony DI bridge which we use extensively in my company and it works a treat.
(BTW, you're not the yoav kutner from the radio are you?)
@gfxguru I think this is why its called M2 and not M 1.9.2.3.233 :)
On Thu, Apr 21, 2016 at 2:10 PM, Jon Acker notifications@github.com wrote:
@yoavkutner https://github.com/yoavkutner My thoughts exactly, I was pretty dumbfounded when I discovered M2 had reinvented DI containers given there are several tried and tested solution out there. I wrote an M1 Symfony DI bridge which we use extensively in my company and it works a treat.
(BTW, you're not the yoav kutner from the radio are you?)
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/magento/magento2/issues/4158#issuecomment-212811537
@yoavkutner, @jon-acker I can not comment why Magento decided to build own framework back in 2007, but in Magento 2 all framework code was grouped and moved to Framework namespace. Probably that is the reason some people think that framework was introduced in Magento 2 (while it was just code re-grouping). While this re-arranging and cleanup made business code less dependent on specific implementation of framework, moving to completely new framework would require much more significant business code rewrite, which would move M2 further from M1.
Whenever we do some platform refactoring or modification, we always prefer third-party libraries to writing our own code. You can see that in our composer.json file and vendor folder.
As for DI, first version was using Zend Framework 2 DI component. But since it was too generic and supported different features we did not use (setter/property injection, object configuration and some others), it was too slow (300%-1000% page generation slowdown). We had to throw out those unused features and tune it to get a reasonable performance.
After Zend Framework 2 stopped using and supporting Zend\Di, we created our own component which used some concepts from Zend\Di, but was faster.
We did not use Symfony 2 Service Container and some other similar containers because they were designed for Service Location approach and required manual configuration of every class, which would make application of Dependency Injection approach to all classes in Magento 2 too expensive.
After trying generic framework DI component, I can say that it was a bad idea to use generic framework solution of such ubiquitous and performance-critical component as DI in a huge customization-oriented project like Magento 2.
Just curious - you're saying that the DI architecture approach wasn't a good one to take? If not, are there plans to alter the approach to be more apropos?
Zend\DI component was a bad idea, not DI approach. There are thousands calls made to DI component in one HTTP request. It has to be as skinny as possible and only support features you use. Generic framework components usually have more features than needed for one application to support different programming styles.
@antonkril Thank you for your explanation it really helps shed some light on some of the decisions the core team made with M2. If you really care about history of M1 let me know I am open to share some of the decisions and mistakes we made. Even though you call M2 "just code re-grouping" I think you are understating the fundamental changes to the product, and that might be misleading to some. By changing some of the fundamental architecture (e.g. introduction of DI) you essentially created a new product and framework. This is evident by the time and effort (and cost) it takes to upgrade (or actually re-platform) from M1 to M2. The fact that you migrated features does not mean it is the same product. You probably had some business and commercial decisions guiding your approach, but my point was that in the case you are creating new architecture why not relay on proven frameworks and allowing developers an easier learning curve and less risk when investing in new unproven technology. This is somewhat evident by the performance differences between M1 and M2 as people expect the new M2 to be faster and more efficient yet this is not the case. Moreover, if you think some parts of existing framework need work most of them are Open-Source and contributing and improving them is always welcome. In any case I wanted to thank you and your team for the hard work you are putting in and continuing the legacy of Magento. I guess we are all waiting for the "better" Magento to be released.
...my point was that in the case you are creating new architecture why not relay on proven frameworks and allowing developers an easier learning curve and less risk when investing in new unproven technology...
Regarding this "easier learning curve" narrative: a Magento 1 dev learning Symfony 2 / ZF2 and related frameworks in order to work with Magento 2 doesn't really support that position. Besides, there's a reason that Sylius is not disrupting the PHP commerce framework space despite being the most true-to-form Symfony 2-based commerce offering.
I wanted to thank you and your team for the hard work you are putting in and continuing the legacy of Magento.
That's good to see - I know many view the timing & target of your/MageCore's posts with raised eyebrows given the announcement of OroCommerce.
I guess we are all waiting for the "better" Magento to be released.
It has been released, and its name is Magento 2. This statement is backed by a growing body of feedback which @alankent mentioned. We will continue to improve upon it with input from your team at MageCore as well as the thousands of people around the world who interact with Magento the software & Magento the company.
@gfxguru I just wanted to point out a small point of correction, and avoid stepping on your toes, but it's just Magento, Inc. now. There's no eBay association. eBay sold off Magento last November to Permira.
@alankent You're a true professional. Kudos, Sir. @antonkril Thanks for the insight 👍 . @benmarks You rock!
@yoavkutner When's the B2C module due for OroCommerce? lol
Guys, I know some of you don't like some of the new changes to M2. Some of them are really good (in terms of bundling modules, controllers, interfaces etc) but for front end developers M2 seems to have taken a step backwards.
Without simple local.xml and SASS support, developing for M2 is not as easy as it was with M1. I hope the M2 developers actually listen to some feedback.
It was so much easier to change the look and feel of M1 by using local.xml and moving blocks around in one place. And it was so much easier to inherit your SASS theme and make CSS changes.
@benmarks Thanks for your reply
Regarding this "easier learning curve" narrative: a Magento 1 dev learning Symfony 2 / ZF2 and related frameworks in order to work with Magento 2 doesn't really support that position.
It is easier and faster to learn ZF2 and Symfony 2 because of the huge communities and echo systems around the more mature frameworks. Right now the M2's community is a hand full of developers in the core team. I am sure more and more people will start learning it, but because it is new and unproven people will run into issues and will not be able to find a quick answer as everyone is still learning the new system.
It has been released, and its name is Magento 2. This statement is backed by a growing body of feedback which @alankent mentioned. We will continue to improve upon it with input from your team at MageCore as well as the thousands of people around the world who interact with Magento the software & Magento the company.
Nice to see you have your marketing hat on :) for now it is a "different" and/or "new" Magento. The "better" title will have to wait until it is proven. The fact that some things are improved does not make it better. Performance issues, number of bugs, supported extensions etc are still big issues with M2, and prevent M1 users from upgrading.
Thanks all for your comments. I am locking conversation, since it is not related to any particular issue and doesn't contain any concrete suggestions for improvements. If you have specific suggestions - feel free to send email to us.
Hi @craigcarnell - is there a way to reach out directly? I would like to get some more details if I can. I am akent at magento dot com.
We are starting all over again from years ago and I'm not falling for this bullshit any longer. What a waste of time!