Ruby Framework VS Native Ruby
Are you use a Ruby framework to build a website? Or just with native Ruby code? If you are using a Ruby framework to build a website, what is the framework you are used? Why you are choose that framework to develop a website? What about the other frameworks? Have you heard them? And why you don't build a website without any framework (just native Ruby code)? Have you ever heard some questions like this? Also, have you thinked about this before?
This article is not to find out what kind of ways that actually right to build a website. This article is just to help you choose and uncovered what actually you need. There is always more than one way to build a website (or web app). Either is just using a native ruby code, or using a framework, or combined between framework and native. What should we choose to build a website? With a Ruby Framework or just Native Ruby? Let's find out!
First, you should know what kind of website what we build. Is the scale of website you are build is tiny, small, medium, large, or very large? Maybe, one of you just asked, what kind of parameters to determine the website project scale and also the project scale have some differents meaning for each people? I can say: it's depends on you. You can determine by your own parameters because you are the one who will build that website, right? If you already know that, you can choose what exactly you need, not what you want.
Second, you should know the website project you are currently working. Are you will be working on a team or just you alone. Why I bring this up? It's because each web developer have their own patterns, flows, etc. If you working on a project in a team, are you still choose to build with native code? If so, are you already estimate the resources to build that website? If you build with native code in a project team, can another developer in that team understand your pattern or your code flow? If they can understand or they have same pattern or flow like you, it's good! But what about project timeline? Is with the native code you can achieve the project timeline? You must choose it carefully with some cosiderations!
Third, you are also should to know your available resources (time, budget, benefit, etc). For example, time resource, if the website project you are currently working on have a deadline or you have a (very) short time to build it, are you can build it with just a native in a (very) short time? You can build your own authentication system and another systems on time with all of the website architecture? Maybe, you must take a break time and thinking a little hard to choose it.
Last, but not least. You should know your skills. It's important because you shouldn't determine or choose a way to build a website depending on your mood. If you want to build a website with an authentication system with your own version, it's ok. But you must know your skill, it's not always easy to build an authentication system. If you build an authentication system your own version, you must ensure that system is not easy to hack by someone else (hacker). If you are not really sure with your skill to build an authentication system, just don't do that. You don't want your website you are build was hacked by someone and your client is upset to you, right. You can simple use
ruby gem. For example, at Dexcode we love to use device
gem for user authentication, it's easy to use. So, know your skill is important too to choose a way for build a website.
At Dexcode, we are use a Ruby Framework (Ruby on Rails) to build our projects. Why we use Framework instead of native Ruby? The simple answer can be: It's one of the fastest way to build a website. But, there are another reasons. It's for standarize the code and or flow system because we usually built a project in a team, or from one person to another person. If someone leave the project to another person or team, they can understand the flow of the application system (like MVC system). Also it's because our people came from different experiences and different skils, it can be impact how they code or make they own pattern when build a website.
So, what will you choose to build a website? With Ruby Framework or Native Ruby code? Have you already find out your needs? Have you already choosed your way to build a website?