头图

Waiting for the light on the bench~~ Developers in the community, have a good weekend!

Before I knew it, the new section of the SegmentFault Sifu community #extremely objective has been online for a month~

The extremely objective point focuses on topics such as technical direction, programmer career development, and personal growth, and is committed to initiating valuable discussions and outputting valuable opinions.

In this column, we will recommend topics that are hotly discussed in the #extreme point of view section, and select interesting viewpoints to present to you. Looking forward to our growth and progress together 🥰🥰

Today's keywords: #frontend to backend#tailwindcss #Code for "remote work"

What are the chances of a successful front-end to back-end development transformation, and where?

Topic initiator: big hidden button

The front-end is in the post. If you do pure back-end in the future, in your own company or in the company behind, how many opportunities are there for those who change majors? What skills do you need to have to do this kind of work? Is professional competence enough? How to prove its ability to do so? Who has the experience to provide the answer to this question?

Interesting point:

The first stage is functional programming.

Taking JAVA as an example, at this stage, you need to contact a lot of non-programming syntax content, such as database, resin, link pool, jdbc, shell, log4j, spring, junit, quartz, aop, etc. and JAVA syntax itself and jdk itself. Unrelated knowledge points.

If you can write the logic clearly, there are no bugs, and the response does not exceed 200ms, you will pass the first stage, which usually takes 1 to 3 years.

The second stage is performance-oriented programming.

At this stage, you need to understand common architecture technologies such as distributed, cache, message queue, read-write separation, master-slave, etc. This is also the stage where the front-end to back-end is the biggest difference. We usually say that the back-end is harder than the front-end, which means this stage. Interestingly, the second stage can only be achieved and realized on the premise of laying a solid foundation in the first stage. In other words, it is not that you use front-end thinking to reach the first stage and then come to the second stage of public relations, but that you have accumulated performance optimization, log inspection, and logically clear experience and cognition in the first stage to enter the second stage. stage.

—— Community users: This killer is not very calm

Interesting point:

1. How many opportunities are there?
100%, now the rear end gap is also very large, I don't agree with the front end to the rear end, and do the front end + the back end.

2. What kind of abilities do you need to have to do this kind of work?
There are many development languages nodejs, php, python, java, etc. on the back end; front-end engineers + back-end are recommended to learn node first. I am a Java developer, and it is impossible to learn a large and comprehensive back-end for the front-end. It is recommended to learn jfinal+mysql.

3. Is it enough to have professional ability?
Impossible, the back-end business logic is complex, you will encounter various problems, even heterogeneous system problems, non-business problems, after learning it will only let you get started with back-end development, and you must continue to learn during the development process. .

4. How to prove that it has such ability?
I imitate Taobao by handwriting a shopping website, and after writing it, I have the basic back-end development capabilities.

If you want to go deep into the back-end development, you need to learn a lot of knowledge, and the front-end does not recommend too deep learning.

—— Community user: Li Tong

How to rate the framework TailwindCSS

Topic initiator: Cheerful egg tarts

The reason why I use tailwindcss: The official plugin prompt works very well, basically no need to move the arrow keys. And there is an official plug-in that can automatically sort the content of the class, so you don't need to think about the order when writing. Basically no naming is required, it is used directly in the class attribute. It can really save a lot of css, and it is very convenient to write media responsive (sm:hidden, etc.) without jumping back and forth between files. Writing web pages is really fast. The @apply command can also solve the problem of reusability (but this needs to consider the naming)

But there are also many criticisms of this framework on the Internet: it is inconvenient to maintain (it is really uncomfortable to write a dense piece in html. Can you use a plug-in to solve this problem? And can the arrow of F12 developer tools solve this problem? ) If it is used in vue, some vue commands need to be written on the label, so the content in the temple label is more. . . (If there is a plug-in that can fold HTML tag attributes, will this problem be solved?) There are basically no companies in China (this is what worries me the most, and I feel like I can only be proud of myself.

In the future, will this technology have the opportunity to become the technology stack required by domestic companies? How about using this framework for a vue3 project that requires team collaboration? Would like to ask the opinion of the bigwigs.

Interesting point:

Many students have a black-and-white attitude towards technology, which is a bad habit. Technology has advantages and disadvantages; there are applicable occasions, and there are also occasions where it is not applicable. We use it if it suits us, and we don't use it if it doesn't suit us.

Take TailwindCSS as an example, there is no requirement that we must use and use only TailwindCSS, we can completely regard it as a supplement to the existing front-end framework. For example, the products of our factory originally used element-ui. Now when writing a page, there needs to be some space between the two components. In the past, it may be written a <style scoped> .xxxx { margin-top: 10px } </style >, now it is done with a .mt-2, which is much more convenient.

I think writing a project with TailwindCSS will be tiring, it will cost a lot of learning, and it will also affect code reading. But it is very suitable to cooperate with other complete set of component libraries. Moreover, the HTML migration cost written by TailwindCSS is very low, and it is easy to reuse. It is recommended for everyone to learn.

———— Community User: Meathill

Interesting point:

It can only be said that there is another way, but this way is not necessarily suitable for most R&D teams. Especially in the hands of some UI designers unique to the territory. Most of tailwind's presets can't meet your daily development needs, and you still need a lot of handwritten CSS to meet them.

A large part of the reason why tailwind is more popular abroad is this.

Of course, there are also some factories that have a complete set of specifications for design, so you can configure the theme at the beginning of the project, and it is rare that every UI detail is different in the middle (but many UIs I have seen are like each Make some differences in places to highlight the "design sense").

There are definitely advantages to using tailwind, which can reduce a considerable part of the workload. In fact, most people also preset some public atomic classes to use in their projects. It's just that it's not acceptable to write a bunch of classes, just like many people hate colleagues to write inline styles. Want to separate template/style/business code.

Another is the cost of learning, which requires memorizing a lot of style abbreviations. Although it is easy to remember and much shorter than the original CSS properties, when you are not familiar with it at first, you still need to check the documentation to find out what the corresponding abbreviation is.

My personal thought is that it is not necessary to write the project in the atomic way, and it can be used appropriately interspersed to play a convenient role. Instead of writing style according to his rules in order to write tailwind.
It cannot be said that it is absolutely impossible to use atomic classes to implement public styles, and then use preprocessor inheritance and mixins to achieve it.

———— Community user: Zhishang Seimei

Are there more and more remote work opportunities on the front end?

Topic initiator: 17dun

Recently, we have seen more and more foreign companies recruiting for telecommuting, and the front-end positions have more remote opportunities than the back-end, because many foreign companies are less likely to outsource their core business to remote, while the front-end and design are still OK. Will this be a trend in the future?

Interesting point:

According to the trend of the epidemic in the past two years, it can be seen that many Internet companies can still maintain the operation of the company to a certain extent when they are shut down. Programmers can maintain their work progress remotely, but there will be some inconvenience in communication, but Under the convenience of remote, the communication problem is not very serious. This should be a trend in the future.

———— Community User: Guanine

Interesting point:

Remote work in China is not the mainstream, and stable remote work is even rarer. I think the current remote work is mainly due to the epidemic. If a position can find local employees, it is basically not considered remote. Stable remote positions are either very irreplaceable and can't find local employees, or they have a big price advantage. As far as I know, some foreign companies have more remote positions. These positions need to be coordinated with many departments. They are originally scattered, so remote positions will be considered, but these positions generally require strong English skills.

———— Community user: bucai


六一
556 声望347 粉丝

SegmentFault 新媒体运营