When to use next-i18next or other i18n libraries? - next.js

Sorry this may be a dumb question but I just want to make sure.
I'm trying to add some internationalization to my app and have been confused. Currently I'm Next13 (not experimental, at least not yet) to switch between two languages by just using vanilla Nextjs. However, I see a lot of people use next-i18next and it looks like a lot of set up.
Should I use this package? Or is it more for bigger projects? Would it be better to switch to the experimental Next13 with everything being SSR?
As you can see, I'm just trying to figure out what problem it solves. Maybe it makes it easier, but it seems like a decent amount of set up.
I'd appreciate any help! Thank you so much.

Related

Can someone explain the purpose of CSS frameworks and why we use them?

So in class, we've been applying css frameworks like Bootstrap, Foundation, Normalize.css but I do not understand what the point is of using them. Can someone briefly explain WHY they are used? How am I supposed to know which framework to use? For example, let's say I made a basic HTML file for my blog and I want to style it. Would I need to use a framework? How would I know which to use? How is it different from just styling on my own from scratch? I know these seem like stupid, ridiculous questions but I just started learning CSS a month ago and do not understand what frameworks like Bootstrap, Foundation, Normalize, etc. are and the purpose of them. Someone please explain as if how they would explain to a little child so I understand? Thanks.
A bit of an opinion-based question, but in short: developers are lazy and it takes time to code sites that are mobile-ready, consistent across browsers, and are easy to manage as browsers get updated.
With frameworks, developers need not waste time figuring any of this out.
For example, with Bootstrap, using the grid system, it is possible to make mobile-ready sites with minimal media queries and complex CSS rules.
Using other people's code, which has been tested on production environments and is constantly being patched and updated, saves a lot of time and a lot of bugs down the road.
You can think of frameworks (in any language, not just CSS) as a bunch of existing reusable codes you can readily use for your own projects. They essentially make your life easier because you don't have to reinvent the wheel anymore. Simply put, frameworks are a bunch of tested reusable codes for common tasks.
The purpose is to avoid having to make your CSS from scratch. There are a LOT of CSS activities that most people do over and over. If you look at a wide variety of sites, you'll notice similarities in the way information is presented. As a result, if you're going to be presenting information using one of those standard layouts, it's vastly easier to simply use a CSS framework than roll your own version.
Also, different browsers have different default CSS settings. Using a CSS framework will provide a CSS reset as part of what they do. This helps ensure that what you see in one browser is what will be seen in all browsers. This helps you spend more time building your site and less time trying to figure out why the display is different in a particular version of IE, for example.
frameworks comes with lots of features like grid, components, typography along with good browser compatibility so you can simple use them instead of creating them from scratch. It totally based on project requirement that what framework you should use. Apart from bootstrap and Foundation there are more great out there created by few geeks.

Simple html templating for small sites with grunt

Looking for a simple html templating solution for small sites.
I really want to do some basic includes (similar to some super simple PHP) that generate out to flat html. I had tried using Assemble.io but it seems to contain so much more.
For reference I'm coming from mixture.io which has some really easy templating but since it is a subscription I cant have that be the way our whole office makes sites. I have also seen middleman but I feel like node is just a lot easier to deal with.
I feel like there is a way to do what I'm looking for with mustache alone but my javascript is not very good. Any help would be greatly appreciated.
I'd recommend looking into Cabin
http://colinwren.github.io/Cabin/
Workflow uses Grunt and they added livereload support in the last release. Good alternative to using Jekyll.

How can I make a website with dynamic features with wordpress?

As I am a novice in web development field,I wanted to clarify some questions running in my head.
1. I want to make a website with dynamic features with or without pluggins.Dynamic features can be like anything under the sun.Is it possible that I can make a website using Wordpress(which is mostly considered as blogging platform).
2.Should I learn any of the frameworks like Django or rails,if yes why(its obvious I would have to learn CSS,Ajax,Javascript,PHP)?
3.I don't want to learn drupal as its time for learning curve is very higher than that of wordpress.(Yes I can think of Joomla,but I don't know how much time it takes to learn from scratch as compared to wordpress)
4.Again I want to repeat, the dynamic features can be like anything under the sun whatever I can think of.Will it be fully customizable after I get my hands perfectly on learning some languages and frameworks.I know there are many pluggins and themes in Wordpress.
5.I also want to make a rich platform for advertisement which will be commercial.Is it possible that I make a model of advertisement which is in my mind which can link to any other websites,blogs,people(users).
In regards to your question about learning frameworks, if you're completely new to web design, I would have to highly suggest the PHP route... it's much much easier to learn and is a lot less complicated that Django. The problems and ideas you come up with during have been encountered 1000 times before and are usually easily search-able and fix-able.
The short answer to your long question is, yes, WordPress is a good place to start. As a relative beginner it will help you create a simple website at first, but will allow you to add complexity as your coding skills and knowledge of the platform increase. If you want to create Software as a Service applications, you should choose something else to get into (Ruby on Rails or asp.net would be good choices), but if you just want to create a nice, complex, dynamic website WordPress is a great way to go.
So to answer your questions specifically 1.Yes. 2. You don't need to to begin. 3. Not a question, but I basically agree. 4. Wordpress will not limit you much initially. It will limit you more than, say, Ruby on Rails, but it will probably take your coding skills years to "outgrow" WordPress. 5. That should be fine.

Which framework/CMS to be used

i am a hobby programmer with very little experience in web programming, i devote an average f 20-30 hours a week, but with summers coming i have some free time to experiment and learn. could anyone please tell me, whether a framework like (Kohana/cakePHP/CI) should be used or directly a CMS tool like drupal/joomla should be used to make a website something like stackoverflow, on a smaller scale though.
Thanks for your help.
It depends on what you want to learn. Depends on your goal.
Is it webdevelopment you wish to learn? CSS? Webdesign? Programming? Building sites?
If your goal is the site itself, I would suggest to start high up in the stack: use a ready-to-go CMS, such as Drupal, that gets you going fast. And that offers a (production ready) result in a few hours. Your downside will be freedom: sure Drupal can do a lot, so can Wordpress. But unless you move down in the stack (develop addons and such) you will have to do with what you are offered: ready made components that work according to the authors wish. Possibly not your wish.
If your goal is to learn webdevelopment in a more general way, you should start lower down in the stack. Ruby on Rails or Django are probably the best options. Simply because of their vast resource on newbie documentation. You will learn programming along the way there too. Within a few days you will have built a site according to your exact wishes (obviously, your milage may vary, depending on the wishes:)).
If your goal is development of software, Python and Ruby are most probably a good start too: both are cross-platform, have good newbie resources and offer great documentation. Both are really well (opinions may differ on this) abstraction and object orientation. They will form you into a good programmer, simply by their nature.
There's a Stackoverflow clone called Qwench that is free.
(search stackoverflow for open source stackoverflow clones)
and one built on drupal http://drupal.org/project/arrayshift
Wordpress can act very much like Stackoverflow with a proper template. See here: http://p2theme.com/ (demo here: http://p2demo.wordpress.com/). Actually you can than start editing the theme (.php files) and make it behave more and more like Stackoverflow (with reputation system etc. which should be easy to implement). This way you won't be reinventing the wheel and have a good headstart.
I personally use CodeIgniter and love it. I would recommend it to any novice looking to further their knowledge of object oriented programming, and any veterans looking to get their projects off the ground quicker. I am not going to go into great detail here, because I know Kohana and CakePHP are similar, and its mostly opinion. CI does have great documentation though.
I think learning the most common CMS is going to be hugely beneficial to you, tons of sites and companies use WP/Drupal/Joomla/Etc and it really can't hurt to understand them. These projects are very large, so you don't necessarily need to know their internal operations 100%, but you should know enough to be able to install, customize and get a site up and running fairly quickly.
Everyone has their favorites, but I invite you to try them all and see what moves you. It will NEVER hurt to learn something and not use it, especially with some extra time.
There are times to use a packaged CMS and hopefully be able to theme/customize it to what you need quickly...then there are times you will want to code a special case by hand using a framework.
Just understand the depth of the project you want to undertake, because starting from scratch is fun and rewarding, but once you get neck deep in code and get stuck its easy to lose motivation all together.
I would suggest learning the basics of HTML before diving in to using a content management system. The importance of understanding the basic building blocks of websites can't be overstated.
There are loads of resources online to learning about HTML - once you've got some experience with that, you can look at CSS, Javascript, and server-side scripting languages. Knowing the basics will help with using any content management system.
Joomla / Drupal are a good place to start with content management systems, as is Wordpress, but you'd be much better off learning how it works underneath (at least to the most basic extent) before diving in to anything else.
If you're already a programmer you won't find it too hard, but it's definitely worth doing.

Does anyone use Silverlight.FX with Silverlight 3?

I started looking at Silverlight.FX by Nikhil Kothari to replace Prism/Unity with our Silverlight 3 project.
So far I like the code layout and structure. It looks well thought out.
But I can't get a lot of the samples working due to a System.Reflection.AmbiguousMatchException. Anyone else seeing this? Should I not be using this framework with Silverlight 3?
I'm using the framework with Silverlight 3 without issue. Referencing the pre-built dlls works for my project but I haven't tried compiling the source myself. Have you tried using the dlls?
After some heavy debugging this error is coming because some of the class names that Nikhil used I believe are now in Silverlight 3 beta 1. In the TaskList example the ListView's DataTemplate has a HoverEffect
<fxeffects:ColorFill FillColor="#406795D1" Duration="0:0:0.25"/>
This is the one causing all the problems I saw. Removing this took away the AmbiguousMatchException.
Well, that is avoiding the problem, not solving it. It looks like the problem is much deeper, and anything that uses classes that derive from the Effect base class is broken. That makes the use of Silverlight FX pretty boring.
I have tried to use the lib in the past, and had issues with it. While Nikhil Kothari is amazing in the things he has worked on, and his technical abilities, I find that he is not so responsive to solving issues (BTW, someone already posted this problem on his blog, without his response). I do not want this to sound like a knock on Nikhil, it is just something you need to consider when using open source for real-world projects.
I sure hope someone can figure out what the deal is with those classes, I have spent many hours debugging, without solving the issue.
I tried the Amazon Store sample and the TaskList sample using the latest version of the library (3.1 built against SL3), and samples seem to work fine, including the ColorFill effect.
I did rename the Effect class to AnimationEffect which you'd need to avoid the ambiguous API compile error you'd see if you tried to recompile the sources... but precompiled binaries would have been fine. Not sure I see why you'd get a runtime reflection issue however.
Sorry, I know it can be frustrating to not see a response/fix immediately, but theres just too many things going on esp. before a release. My hope is having the source around at least enables you to debug into/break into so at least one is not completely blocked. Yes, I realize its suboptimal, but at the same time it is the reality, as Noam pointed out... :-(

Resources