I am creating a crowdfunding platform with a thousands of pages connected with a database. I am outsourcing it to web devs.
Option 1: Use Ruby on Rails, with contractors from India (freelancer websites)
Option 2: Use node.js or Django with contractors who are friends of friends
Option 3: Build it on Wordpress or PHP and find people to do it
Price quotations received is about the same. Which language is good for scalability (lots of pages), has a big community (for support) and will be good to build a startup (building a team in the future)?
Any thoughts?
NOT Wordpress! Facebook uses PHP among other languages, if that tells you anything.
Every programmer will be bias toward what they like and what they are used to coding with.
The bigger question for you is, have you completed your due diligence? Is there a real need for another crowd funding platform? Why would yours be so different that it would stand out among the others? Who is you target market? What is your unique selling proposition? How big is your potential market? Should you go vertical or horizontal? You may have already answered these and the two dozen other questions every entrepreneur must ask before they waste valuable time and money to become another business start up statistic.
Assuming you have a strong grasp of where you are heading and a solid strategic blueprint to be able to predict your growth, the last thing I will leave you with is this. The programing language is not nearly as important as your database structure and IT infrastructure for the purpose of scale. Not to say the language is not important - all three components work together. Spend time on the other two and work backwards.
If you would like to discuss this further at no charge, use the link below. I provide a free 30 minute consultation to first time callers.
https://clarity.fm/kevinmccarthy/FreeConsult
Best regards,
Kevin McCarthy
www.kevinmccarthy.com
PHP would probably give you the biggest pool of available developers which will help keep the cost down. If you pair that with a modern compiled framework like phalconphp.com and stay with php version 5.5 with its opcode and memory optimizations, you'll be able to run your site in low end ec2 instances for a long time.
I think some of the above answers are really helpful. Just to throw in my 2c:
- watch out for wordpress, yes. If you need a nice CMS for a website, it's a fantastic platform. It can be extended a bit, but if you are going to build a big, custom system using wordpress as a framework, you will likely outgrow it quickly and it will be painful
- as for the other platforms, I think that you can look at this in 2 ways:
1) It's great advice to consider gravitating towards the platform/framework that your chosen developers are expert in. But then, you also need a framework that 'fits' so you need to balance this with your business objectives. So, I'd refine the advice to say, 'make sure your team is expert with the stack that you have chosen, and that you've chosen a stack based on your business objectives and not just because your team is good at it'
2) please consider carefully your true objectives, and their priority. something like 'good for scalability' can mean so many different things. a php site can support millions of users, but a Ruby site can probably support those users with less tweaking. meanwhile, a node/mongo site can probably handle massive concurrent load pretty well. each has drawbacks and strengths, so you need to consider how much scalability you really need. if you can quantify this it will help so much in choosing a stack.
It's also great to consider the culture/developer availability, etc. Node developers are harder to find these days, and php developers are everywhere, for example. A MS stack can be great if you are integrating with certain type of systems, and a ruby stack can be great for rapid development.
I would recommend you really try to figure out your true needs, both short term and long term, and create a document that describes them. From there, choosing a stack/language should be much easier!
Here's a video on that exact subject: http://www.youtube.com/watch?v=ct8AI0YqFlw
Good luck!!
Focus on the team that will build the web platform, not the programming language. Choose a team that will be able to:
1) Understand the requirements
2) Build the product
3) Support you (this is the most important)
Seems that your budget is quite limited. If you do not spend your initial money wisely, then you'll spend way more for fixing and expanding the platform. Work with a team with a proven portfolio and proven experience. Look at their portfolios and their clients. Consider south-eastern Europe companies, too.
As a technical note, do not choose WordPress for such a purpose, as it does not scale up efficiently. Anything else from what you proposed is fine.
PHP has the largest developer community, however, also consider ASP.NET or Java, which are backed by huge companies. Facebook is not using PHP. It uses a private version of PHP which compiles to C++.
I believe RoR (Ruby on Rails) is a good option to choose from the trio you have mentioned, but apart from that you have the following options to choose from:
PYTHON: Python has become one of the most popular programming languages at present and it shows no signs of disappearing. This language is also well-known as the best language for creating AI and machine learning based web applications. Furthermore, the growing of data science has improved the development of Python as a programming language. Python is now beating JavaScript as a teaching language in institutes. Websites using Python: Facebook, Microsoft, Dropbox, Mozilla, Netflix, YouTube, and other Google projects are partially using Python.
JAVA: The next programming language is Java. Java is considered as the most stable language and it has survived at the peak in programming industry for 20 years ago. So, what makes Java success? This is to write once and run anywhere, thanks to its versatility and ubiquity. Besides, Java has a good reputation for its high cross-platform compatibility. The Java Virtual Machine (JVM) enables it to work on a variety of devices and platforms. Most of fortune 500 companies have built their back-end application using Java. Websites using Java: ebay.com, linkedin.com, aws.amazon.com, aliexpress.com, bitbucket.org, ebay.co.uk
JAVASCRIPT: It is not wrong to say JavaScript is the most trending programming language for web development at present. In fact, most full-stack developers prefer to use this language. JavaScript is commonly used to create interactive effects inside web browsers. Along with CSS and HTML, JavaScript is one of three core technologies of the World Wide Web (www). It plays an especially important role in front-end development as well. In addition, it is used in popular web frameworks like React.JS, Node.JS, and AngularJS. Websites using JavaScript for front-end development: Amazon, Facebook, YouTube, Wikipedia, Google, Pinterest, MSN.com, Wikipedia.org, Bing.
PHP: PHP stands for Hypertext Pre-processor and is a preferred server scripting language for web development. This language was founded in 1995 and has been involving throughout these years with a wide range of popular PHP web frameworks. Most PHP frameworks are free and offer strong security features. PHP has many outstanding advantages like modules and libraries which insure dynamic software development. For these reasons, most of the content management systems and websites are written using PHP. Websites using PHP: Yahoo, Flickr, Wikipedia, Facebook, Istockphoto, Tumblr, Friendster, Manifera
GO: Go, also known as Golang, is a programming language designed by Google since 2007. Go is developed to build reliable, simple, and efficient software with ease. Go is like C, but with structural typing, garbage collection, memory safety, and CSP-style concurrency. Websites that use Golang: Google, Facebook, Twitter, Youtube, Apple, Dropbox, The Economist, BBC, The New York Times, IBM, Docker
C: First launched in the 1970s, C is one of the oldest languages that is still alive and works very well today. C has had a huge influence on the computer programming landscape as it is the core of every machine. There are plenty of programming languages in the C family that have been either originated in C or deeply influenced by its paradigms, syntax, and constructs. These languages include C#, Objective-C and Java. Because C enables programmers to get close to the computer’s inner workings, C is still a favoured option for developing specialized high-performance apps. Moreover, C is commonly used for developing embedded systems and is the basis for the Linux operating system. Website using C: Google.com, Youtube.com
SWIFT: The next candidate in the list of best languages for web development is Swift. Swift was introduced in 2014 by Apple. It is a brand-new language used to build powerful, high-performance, native iOS, MacOS, tvOS, watchOS, iPadOS, z/OS and Linux applications. Swift has been growing speedily and now ranking as the 13th most favoured programming language by pull request. Swift is an exceptionally good language to learn. The reason is that Swift is a popular open source tool and is very safe as its design encourages programmers to write clean and easy-to-read code consistently. And perhaps the biggest advantage of Swift is its speed. In many head-to-head competitions, Swift was 2.6 times faster than Objective-C and 8 times faster than Python.
RUST: Another brand-new programming language for web development is Rust. Although Rust is relatively new, it does not mean Rust is not a valuable language to learn. According to a survey by Stack Overflow in 2018, Rust was the most loved programming language and 78% of Rust developers saying that they will keep working with it. Rust was developed by Mozilla Corporation, and like C and C++, it is used for programming low-level systems. Rust encourages developers to write safe and readable code and has a high level of security. Websites using Rust: Dropbox, Coursera, Sentry, Postmates, Rambiers
KOTLIN: Kotlin is a super cool programming language designed by the famous company JetBrains. This is a preferred language for Android Development, and it has beaten Java in a single go. Kotlin is fully inter-operable with Java and has no limitations. It can be used to replace Java for Android Applications, server-side development, and much more. It also works great with all existing Java frameworks, libraries and operates with the same performance level as Java.
Besides if you do have any questions give me a call: https://clarity.fm/joy-brotonath
For scalability, robust community support, and future team building, I'd recommend considering Node.js. Its non-blocking, event-driven architecture makes it highly scalable, allowing your crowdfunding platform to handle a large number of pages efficiently. Additionally, Node.js has a vibrant and active community, providing ample resources for support and continued development.
If you're leaning towards Node.js, you might find this article on embedded system development insightful: https://www.cleveroad.com/blog/embedded-software-development/. While it focuses on embedded software, it touches on key principles relevant to web development, such as optimization techniques and real-time considerations. Ultimately, whichever option you choose, thorough research and careful consideration of your project's requirements will set you on the path to success. Best of luck with your crowdfunding platform!