Micro-frontends: Web application with multiple frontend frameworks - php

This is actually a software architecture problem. I have a huge monolithic web application which is built using PHP and backbone js. Now I would like to introduce a new front-end framework like react/vue. I wonder what is a better approach to solve this issue. I am thinking of an approach to build micro applications, for example, an application that is responsible for rendering left panel only. In that case, what would the communication between server and client? How will the main application be able to render this micro application?
If you can suggest any better approach please feel free to share.

All I was looking for is this Micro frontends
https://medium.com/#tomsoderlund/micro-frontends-a-microservice-approach-to-front-end-web-development-f325ebdadc16
Hope this helps. Sometimes I don't really like the approach of those
intellects who can neither help nor take a question positively. Even
though the question is broad but I believe the answer can help a lot
of people out there.

Related

Migrate web application to PHP Framework

The company i work for are looking to move their php web application over to a framework. I personally haven't had much experience with php frameworks at all, so i need to read up on them and learn which ones are best.
My question is, is there a quick way to migrate a standard php/css/html web application over to a framework without having to rewrite a lot of it?
If not, what are some good reputable companies that do this.
Thanks in advance.
No, there is no quick way to migrate the application. Start with a requirements review, you may find that a robust CMS or cart will provide a lot of the features you need.

High-end Node.js framework

I'm kinda new to Node.js world. But I have tried some Node.js frameworks like Express.js, unfortunetly non of them met my requierements.
Since I'm native in PHP, I was looking for some framework similar to Symfony, CodeIgnitier, CakePHP etc.
Basicly, I'm not looking for low-end framework which allows 'only' routing, support for MVC and it is more or less everything.
What I would like to see in strong framework for web apps is something with support of templating system, easy handling HTML forms, user authentication/autoriyation, sessions, caching, emails, some low-end ORM etc. (mostly features which has high-end PHP frameworks)
I know, that Node.js is kinda new technology, but is there some framework, which is going this way? Do you know some releases? Or some groups (forums), where ppl creating and discussing something like this?
Thank you
I would send you to Flatiron, because it's a great framework, but I think you're looking for (dare I say it?) Tower.js. However, I strongly suggest choosing from the large npm module database the modules that suits your needs the best. Flatiron is great for that, as it consists of a set of modules that each do something specific, and ties those modules together in the flatiron module.
You can find some of the most used Node.js' full-stack frameworks on the site nodeframeworks. If you like OOP and the dependency injection of Symfony (with services) take a look at Danf (in constrast, don't expect to have all the features of Symfony in it as for now).
Some of the features you mentioned are actually in express.js. I don't think there are any full featured frameworks in the same way as you have in PHP/Ruby/Python. The good news is that Node.js is Javascript and it's a really simple language. So if you need extra stuff on top of express.js it shouldn't be to hard to do that. Not every developer likes this though but I enjoy writing my own small modules to solve certain problems.

Web Application development

I want to develop an web application which i have Developed in c# previously.
Now I want to make the same banking application online. So please suggest me the process or Framework i should use to fulfill above.
I am new in web development but i have knowledge of JavaScript, PHP, CSS, HTML and more required for design and coding.
But i don't know how to use this knowledge please help me. Up-till now i have created UI for the project but i don't know where the code should reside how to call them etc.
Help will be Appreciated.
If you've already developed this in C# you can keep with C#. You can create C# web applications. I do believe, in fact, that this site is built using C#. :-)
If you want to learn another web language or technologies, there are plenty of tutorials, books, videos, and classes out there to help you.
Search around the web about developing web applications in .net. there should be plenty of articles covering that area. But basicly, i would say you should go for a Form based Web Application. That way you can make most use of the c# skills you already have. Read about that and the css html and javascript skills should give you a nice application. The deployment using IIS servers etc, you might need some help with if you dont have any experience with that. Maybe a nice article on the web could guide you through that as well.
Hope this helps!
Lookat sencha website,It has many products aimed on fast building web app, and you don't need to learn a lot about CSS,HTML,JS.
I would recommend you to try using Python(Django)or PHP(but I prefer the first one) on the server side + ExtJS for the UI(with ExtJS you can easily create great UIs).. But I don't really think that it's a good decision for business. For getting started - it's great but for business projects - I'm not sure..
As you already developed you application in C# then its better to use ASP.Net, so you can use your C# code as well, and if you don't have much knowledge in asp.net its really very easy to learn also, for that you have to go through some good books and some sites like asp.net etc
If you are already familiar with desktop development, you should take a look at Agile Toolkit, which is a web-based framework inspired by desktop development.
It is very helpful when you need a to produce a lot of inexpensive UI specifically for data management.

Continue with Self-Development in PHP or move to a PHP Framework?

I'm building this web site for my friend's startup. The site when its complete should be able to handle 10,000 users at a time and should have great security.
I've been developing the site individually till now and everything seems to be pretty feasible, but some of my developer friends suggest that i move to a framework.
What are the pros and cons of moving to a framework?
Also i have developed a pretty big part of the website till now, so can i just move it into a framework environment. I've never worked on any kind of framework before.
Cons of going to a framework:
a learning curve
you may have to approach things differently then you would normally
performance overhead (probably slight)
Pros (of a GOOD framework):
much of the mundane coding is already done
helps you write clear, compartmentalized code
libraries included to help you with security, database communication, etc
easier for other developers to jump into the project
bug fixes from the framework's community
The number one benefit of moving to a framework is that the people who developed the framework already solved (most of) the problems you would face if you would do everything yourself. I think this argument should be enough to answer your question.
If you need help in choosing a framework, stackoverflow has lots of already answered questions in this area. You should take a look at some of the opinions already posted and decide what you need.
Why do you want to invent the wheel over and over again? Building your own system is, in my opinion, only usefull if you want to learn how to build such a system and get familiair with the basics of a CMS. The problem with it is that you have to do all the debugging yourself which will take ages. With a framework, other people already did that work for you, so you can make progress much faster.
There is no thing like a best framework. I have worked with Zend Framework and Kohana 3. Both are really nice frameworks but if it was up to me I would take Kohana. Remember there are many more frameworks and this is not a complete comparison. Just give it a google and choose the one you feel most comfortable with.
Good luck!
I would suggest the Zend Framework as per your requirement.Just look at site view futures,but it some what difficult to learn in start.But if you want customization then Core php is the best.For security you have to know the things some better way like sql injection & design the architecture according to it.For faster development you can also move to ROR.
Have Dream Day
Further to my comments, I find working with other peoples frameworks rather a procrustean endeavour. Because I wrote it, I know my framework inside out and can rattle code off very quickly whereas when I am coding for a popular framework like CodeIgniter, Zend or Symfony it takes me that little bit longer to remember how I'm supposed to do something in the way they want me to.
Of course, a lot of the hurdles, common tasks and security issues will have been encountered and solved for you if you use a framework. However, if you've already written a large part of the website code then refactoring it to leverage a framework could be quite a substantial undertaking unless you've been quite clever with your initial architecture and have things loosely coupled.

The cost/benefit of learning multiple content management systems

I'm a PHP developer who uses drupal whenever the job looks like it could benefit from a CMS. I was having a discussion with a colleague who said that it helps him a lot with clients that he knows multiple content management systems. To me, this sounds like dividing one's efforts, and I'm not sure if it's worth it to invest the time learning another content management system.
Is it often that jobs lend themselves better to one content management system over another? or can most content management systems handle most jobs?
I'd say that a thorough knowledge of one CMS is more important, you're just so much efficient if you really know what you're doing. Drupal is also very flexible, you can do just about everything with it, even though it sometimes is quite complicated.
I don't think you gain much by learning a similar CMS, but it could prove usefule to know a CMS that is very different from Drupal. For example a very simple CMS that you can use if you just don't need all the complexity Drupal brings in.
I'd say a bit of superficial knowledge of a wider range of CMSes won't hurt you. You don't have to become an expert right away, but knowing their particular strengths and weaknesses and the mindset they come with might prove handy. When you decide you need one of them, there's usually still enough time to dive into the documentation and make it work.
If you're a PHP developer, you might find your development skills can stagnate if you only code in Drupal all the time. You're not exposing yourself to different methods of software development. For example: Developing in Drupal 6 doesn't give you much experience in Object Orientated Programing. It's largely procedural (with the exception of Views).
While Drupal is a quality product, there's definitely a misconception that it is flexible enough for everything. I've been developing high profile sites in Drupal for some years and I've seen quite a few projects developed in Drupal that should have been done in another framework or language. Some of them have. I would diversify. You'll be able to make better decisions.
I'm currently branching into Ruby on Rails and I'm finding it's giving me some valuable perspective. It's also an excellent framework for those projects where a CMS may not be appropriate. Also: Some of the best practices in RoR I am incorporating back into Drupal.
I use only the two most popular open source, Drupal & Joomla. Knowing more than the two most popular programs when it comes to web design is overkill IMHO. As already mentioned I'd focus on one a little more just to be more adapt at it.
Plus you may get a client who just wants you do develop a ready made template they like but who doesn't have the experience to use the CMS.
Lastly I personally don't consider Wordpress to be a full CMS but it's also a good idea to learn WP mostly because it's so popular but also because it's great for quick 3-6 page basic sites.
It depends on the kind of work you're doing. If you're always building sites from scratch, and have full say in which CMS you use, it makes sense to stick with what you know and learn it inside-out. If, on the other hand, you're ever brought into a project to modify an existing site, or you might be hired by a client that already uses an existing CMS for something else, it will help if you know more than just Drupal.

Categories