Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
since about two years ago, I did find my interest in code (Hardware/Sytems/Web) and now, I've found a project which motivates me a lot (It takes all my free time indeed).
Starting this point and because my project could soon switch from a free time project to a daily job, I'm currently developing a mockup of this project based on PHP/MySQL and JQuery.
Even if I'm a true Python/MongoDB lover and a System Engineer, I did prefer those technologies to build up my mockup because of their simplicity to build a complete functional private stack at home.
I'm pretty advanced on my mockup and it seems to work as I want it.
Now I'm wondering if, about your point of view, would have been better to start to build my mockup using directly the targeted technologies (Python/MongoDB) rather than to use the easy PHP/MySQL couple to do it?
Obviously, because I plan to made this project my daily job, I had to have something visually functionnal to be able to raise a little bit of money, and about me, using an easier stack it's more easy, but I would like to have your feedback on this kind of question.
The idea that PHP/MySQL is easier or simpler than say Python/MongoDB is just inconsistent.
If you compare for example, Django (the most popular python web framework) with symfony(PHP) you will find that they are almost identical in terms of features and architecture (symfony is actually slightly more complex but also has more very advanced features).
For mockups, if I were you, I would use solely HTML/jQuery/CSS.
Build your pages just like you would like to have them in your beta version, use jQuery to load sample data written in json.
That's all you need. You can even find WYSIWYG application to speed up the process.
Later on, you can build the back-end application using either python or php, it won't matter.
The integration process will be identical, create your models, create the controllers, and use the HTML you already have as templates.
Building your app in php/mysql then convert it to python/mangodb will make you rewrite almost all the code simply because python is so much different from php (easier I would say too, but that's just my opinion) and because mangodb is not a relational database meaning you will have also to rethink partially your architecture.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
Should I:
A. make this medium to possibly huge website with PHP first and then
implement Laravel
or
B. Learn Laravel now and build the site with Laravel from the get go?
About the site I want to make:
Scalable - it can handle 200 or 200,000 users using the site at the
same time.
It will mostly run on text entries, calendar functions, lists, some
social networking within and outside the site
I want the customer to not experience lag.
I will most likely be the only person working on the coding.
Each user will not be able to upload pictures or videos at the
beginning of the project, but I would like to allow it as the site
grows to maybe 15-30MB/user.
Credit card processing or Paypal will be used as a recurring charge.
I'd like to start small and grow with the customer base
Due to cash flow Cash flow I'd like to use the least amount of $ possible in the beginning
I may pass it off to someone else in the future if it gets too big
too fast
About me:
After a lot of research it looks like Laravel is the PHP MVC
framework that will stand the test of time (5 years~ hopefully)
First time asking a question - this site has helped me so much over
the years!
Just learning PHP, Javascript, SASS, MySQL, etc, because I have an
idea and no money to hire someone else.
I do enjoy creating things though and have enjoyed HTML, CSS, and VBA
in the past.
If you in near future wanna implement the site with laravel I think you should do it now even if it delays you for 1/2 week to understand laravel clearly. Because as days go by your codebase grows larger and you'll neither have time nor will to convert it rather than adding new features :)
Jump right into Laravel if you are new to PHP
Install the Homestead virtual machine
Follow the entire Laravel From Scratch series
Do the Basic Task List app
Then explore some more of Laracasts and go from there.
Bonus:
Get PhpStorm
Use git version control
Get a GitHub account and store your code in a private repo ($7/mo)
Definitely start with Laravel. It will significantly improve your development time and make your code more maintainable. This is specially true if you are just starting with PHP.
Learning PHP first is also good, but if you are trying to create an application also i'd suggest learning Laravel First, this would improve your overall knowledge about how MVC frameworks work, and laravel's awesome features.
To learn laravel, check out this link: https://laracasts.com/series/laravel-5-fundamentals
Even if you want to use Laravel sound knowledge of PHP is a must. Laravel is based on MVC(Model View Controller) model. So it wont be that much difficult to handle as there are several tutorials on MVC. You get the PHP OOPS fundamentals and then jump to Laravel.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am almost finished with a website build with wordpress. My main concern is can a wordpress website be switched to ruby on rails for example without losing database, passwords, users, products etc etc?
I know that mashable did that too.
Is this a super hard thing to manage? Please explain with an ease of words because i m not that hardcore and i will probably hire developers to do this job in the near future. This is just so i know what my next moves are going to be. Thanks a lot.
Can a website switch from wordpress cms to ruby on rails or any other framework?
This isn't really a meaningful question.
Yes, of course you can rewrite a website from one language to any other language. You can port your data from one format to another. Nothing (except for time and expense) will prevent you from picking a new language and starting over.
But you cannot "switch" from a PHP-based CMS to Ruby on Rails. It's a complete, from-scratch rewrite. PHP and Ruby are completely different languages, and WordPress and Rails are completely different frameworks. You cannot freely "switch" between them. You're starting over.
Ruby on Rails is fundamentally different from Wordpress in that it does not give you a functional website to begin with. A RoR app can offer more functionality than Wordpress probably ever will but you need to code it all alone.
Of course you can write a program that is able to transfer your WP database into a RoR database. For that to happen, you will have to have a schema in your app that resembles the WP database structure. And you may especially run into trouble with the passwords because they are never stored in an unencrypted format so that your developers will have to somehow integrate the WP password encryption functions into your RoR system.
And, of course, RoR is not a CMS as WP is. If you do not want to store and manage data semantically different from WP's, I will strongly discourage you from having a complete new app developed, considering how much it is that needs to be re-implemented and how large the cost of migration might grow.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have read many advantages of Ruby on Rails over PHP with a platform. However, it seems like Ruby on Rails is limited compared to PHP with a platform. Is there any special types of websites, such as blog, portfolio, ecommerce, job-search, content management website and etc., where I should choose Ruby on Rails over php with a platform?
For example, I've been meaning to build a ecommerce website with multi-vendors. However, many people recommended using PHP. Also, when I looked through the popular website examples using RoR, majority of website seemed like company websites with limited contents, portfolios, or websites with video links.
Rails is an MVC framework, PHP is a language. You might look into "Cake" for a proper comparison.
Rails will do anything you want it to do*. A lot of this comes from the rubygem ecosystem, most of which are usable without rails.
Out-of-the-box, with no other alterations, Rails provides really convenient places to describe your data (the models), figure out what data should be used to respond to requests (the controllers), and how to show that data as an HTML web page (the views).
*Except be faster than micro frameworks (sinatra, flask, ~ node)
I would not use rails to build something the size of Twitter or Facebook. I would definitely use Rails to build the first versions of Twitter and Facebook that hit the web.
I frequently refer to Rails as "a website in a can". As such, it is excellent for every example on your list, although it'd likely be overkill for a portfolio because you don't need the database.
Finally, if your problem is in any way a common one? If you are seeking to build a "normal" sort of website? If you think other people have solved the same problems you are trying to solve? Rails (plus gems) will do it for you, and keep you happy* while you do it.
I have an interview question: Build me a website with users who have avatar pictures. One guy literally did it one line of bash prompt, via the rails-composer tool.
Remember - There are basically two principles in RoR. One, from Ruby - "Maximize Developer Happiness", and one, from Rails - "Convention over Configuration". AKA, you will enjoy yourself, and frequently have to do nothing.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
First of all, I'm an experienced js programmer, good also in php (exluding database design) but don't know much about how servers work.
I'm participating to a quite big projects that's about to start and I'm trying to figure out what's the best tecnology to use.
The application will be geolocalized, and will use google maps. It will have a lot of javascript rendering (probably on the front end I'll end up using backbone or ember, but still thinking). hopefully, it will be used by a lot of users. The will continuously receive data while moving around. Specifically, they'll receive data from clubs, pubs and so on.
hopefully, it will coninuously grow over time, with new features, more data, more users.
I was wondering if node.js could be a good choice for developing it of it would be better to stick to more conventional php ways.
what do you think?
Since you are an experienced Js programmer, you shouldn't have a real problem using Node.js. You're already familiar with the language. If your application will send and receive data continuously, I recommend Node.js and socket.io, which enables real-time communication.
Nodejs takes a lot more initial code than php(because there is no middleware server like apache, you have to program the server yourself), but can perform faster and has much better support for templates and websockets than php. If your maps application wants real time updating, then websockets are incredible, but there is no good solution in php at the moment. The only way to handle websockets in php is through external programs, because you can't control the php server.
One thing to consider if you are going to use nodejs is: Do you like callbacks? Unlike php, where everything is performed synchronously, in nodejs, almost everything is written in asynchronous callbacks, to prevent the server from seizing up while handling a big request. Some people like this coding style, others despise it and think it is a messy bunch of functions inside of functions inside of functions. I personally like this style but it is more complicated than php.
A lot of the choice depends on your team's personal preference. Spend a hour or two trying both with your team and seeing which appears to be working best for you.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I'm currently developing a web application using PHP, but I'm considering developing the web application using the lift framework instead, because twitter and foursquare have implemented it. I know a few benefits using lift/Scala but, could you guys mention some benefits compared to PHP?
Many thanks
Resmus Lerdorf, the inventor of PHP, once said with regards to foursqaure (build with scala/lift) that it's the first site for a long time that doesn't have a single security hole he could find.
If you're having trouble enumerating the reasons why you'd use scala/lift over PHP, you'll probably want to stick with PHP. PHP is a far more mature and supported platform - oodles of documentation, huge community, tons of tools and libraries.
Scala is a great language, but the primary reason it's being used by Twitter and Foursquare is it's ability to work with enormous sets of data on a horizontally scaled architecture. These are very specific problems for these companies, and Scala was chosen for this purpose very deliberately.
As someone who has recently begun learning Scala, the community and documentation is minute compared to PHP's. Especially where Lift is concerned. And things like IDE support is still in it's early stages.
There's really no way to compare the two technologies (very different approaches). If want to use Scala, use it, but you'll probably be investing more time and energy if you're not already proficient (also, some background in Java doesn't hurt). PHP is just PHP, it's so easy to just pick up and use.
If you ask such a question you'd better stay with PHP. Once your project becomes more and more complex and you are fed up with PHP limitations the question will disappear on its own.
But Lift does not have to be the framework of your choice.
You should consider anything except PHP a good language for web applications, but Scala is a pretty excellent one, although it will change the way you think about programming as a whole. Some people can't handle that, so be warned.
PHP advantages:
Is installed even on the cheapest "5ยข-a-month" webhoster.
PHP disadvantages:
The libraries are not stable and change every now and then, often without notice.
The whole language is buggy and generally doesn't work as a sane person would expect.
The documentation is unusable, sometimes wrong, sometimes only understandable with the user supplied usage examples (which are often wrong or not optimal, too).
No quick way to see the implementation of some language-supplied code.
The API is one big mess ... this shouldn't be called API, it should be called MCOBRIM: Messy Collection of Buggy, Random and Ill-named Methods.