A
A
ADA M2018-07-13 01:49:37
linux
ADA M, 2018-07-13 01:49:37

Web development on Windows under Linux?

Used to be on Windows, currently using Ubuntu for web development.
Due to Linux limitations, namely:
- no support for SLI Nvidia for mobile video cards
- software on Windows is still better (Excel, Photoshop, Premiere Pro, etc.)
- games on Windows OS
- personal preferences
decided to switch back to Windows .
The problem is that I am very used to Linux and my VPS is also running Ubuntu. And now I don't even know how to move to Windows, but still keep the advantages of Linux in the form of: console, simple web server setup, etc.
There are options to use VirtualBox, however, I don't really want to work in a second window with reduced computer performance. I heard about Vagrant, but did not understand how to set it up with the config described below.
In general, I would like to have such a scheme of work:
Windows is the main OS. It will have programs such as PhpStorm, SublimeText3, browsers, console, etc.
Ubuntu is a web server and other software (PHP, nginx, mysql, git, etc.) controlled by a console on Windows.
And between these two OSes there will be shared folders, files that are edited on Windows.
It should also be possible to test on Behat, and somehow emulate the behavior of browsers on Windows.
In general, guys, the topic is pretty hackneyed. Can you please tell me how to solve this dilemma?

Answer the question

In order to leave comments, you need to log in

9 answer(s)
P
Pavel Novikov, 2018-07-13
@adiletmurzaliev

You can use Docker (but I don’t need it, especially if you have 1-2 projects), or you can use Linux SubSystem, which is in Win 10. I use the second option and everything works fine

U
uvelichitel, 2018-07-13
@uvelichitel

Well, keep a web server and other software (PHP, nginx, mysql, git, etc.) on your VPS, go there via ssh and get everything you need from linux in PuTTY console. General practice.

D
Doc44, 2018-07-13
@Doc44

Linux Ubuntu Subsystem in Windows 10 supports console utilities perfectly.
It does not support only the GUI and what requires intervention in the kernel (for example, Docker).

C
CityCat4, 2018-07-13
@CityCat4

You raise all linux software on VPS. And so that there are shared folders, etc. - start between Windows and VPS VPN.
PS: In fact, if it weren’t for games - I would have made the same scheme at home a long time ago as at work now - the host is linux, it has a KVM virtual machine with Windows. The disadvantage of this method is the ugly video emulation in qemu and, as a result, a complete bummer with games. There is another option to forward the vidyukha, but this requires the support of iron and brains, like a Martian ...

6
65536, 2018-07-17
@65536

I don’t know if it’s possible to advise this, it’s historically happened to me and Windows 7 holds.
My recipe :))
1. Virtualbox with debian without GUI
2. Folder with project folders in Windows
3. Git is also under Windows
4. One-way synchronizer, this one - dklab.ru/lib/dklab_realsyncThe folder with project folders is mapped to a folder in the virtual machine that the web server looks at. Synchronizes instantly, while you go from the ide to the browser, the file is already 100% full. For each project, you need to write an ignore list for this synchronizer, everything self-generated gets into it - caches, logs, vendor folder, composer files (the composer is used on the Linux side), statics, etc. In the opposite direction, you have to pump manually. To do this, you have to map the project in a storm to its folder in the virtual machine. Two-way synchronization is impossible in any way, the storm goes into eternal reindexing. The same thing happens if you mount a virtual machine folder in Windows, one slightest change causes reindexing, and over the network it slows down every 50 times. Shared folders are also not suitable, it was convenient with them, but they slow down hellishly. What is done 100 ms, with them can take 2.5 seconds. Some kind of problem due to the difference between ntfs and ext4, it constantly converts something there on the fly. According to the Internet, there is no cure. In the course of studying the problem, everything came down to this synchronizer. There's also a page explaining why.
A working scheme, but adding non-automated things to the ritual of creating a new project.
In general, I think the second computer would be the best solution to this problem))

A
Andrey Shishkin, 2018-07-19
@compiler

I'll add my 5 cents.
1. "There are options to use VirtualBox, however, I don't really want to work in a second window with reduced computer performance. I heard about Vagrant, but did not understand how to set it up with the config described below."
Comparing Virtual Box and Vagrant is not correct. Vagrant is essentially an "automator" for lifting a virtual machine. It reads the vagrant file, downloads the desired image, launches Virtual Box (or another provider of your choice), rolls up the image and starts the OS. After that, it executes sh scripts written by you in the vagrant file, thereby preparing the virtual machine for work. And sobsno everything. Vagrant is handy when you need to use the same configuration on different machines. You simply send a vagrant file of several kilobytes to another person, instead of fumbling around in a virtual machine. There is still a convenience when you yourself often need to re-roll a new instance.
Conclusion: The vagrant will not solve the problem of the second window. But there is an option, see point 2.
2.I have Windows 10 at work, the project is running on a virtual machine. Working in the second window did not really deliver to me either, so I do this:
- The launch of the virtual machine happens headless, tobish in the background.
- Between the virtual machine and the host, a folder with the project is rummaged
- For development, I use IDEA. She has a built-in terminal. I think PhpStorm should have the same feature.
- Connect to the virtual machine via ssh and here's your luck)
- If necessary, you can also drive files through the terminal and scp or install WinSCP.
Hope it was helpful.

E
Elena, 2014-11-18
@Nidora

The best learning is practice. Start freelancing. Look for tasks that you can master. Read IT forums, learn something new. Unfortunately, not a single piece of paper from a course or institute will help you find a good job.

A
Anatoly Scherbakov, 2014-11-18
@Altaisoft

First, decide what kind of activity you are interested in. I would single out two groups among all IT-related specialties.
Engineering disciplines: programming, design, systems administration. This is an area that is rather close to the exact sciences, mathematics and logic. If you are interested in it and like IT, you should get acquainted with some programming language. I would recommend Python. For the initial acquaintance, there are many courses - acodemy.ru, codecademy.com (if you know English). For further study - M. Lutz's textbook and, of course, some of his simple projects on which you will learn.
Artistic disciplinesis the design of interfaces and devices, usability and usability, and so on and so forth. The above, of course, also involves logical reasoning and analysis, but still there are other matters at the core - inspiration, creativity and other unknown garbage, which I personally do not understand. :)
Decide what you want, what you will be interested in doing.

A
Anastasia Lesik, 2014-11-21
@lesikfox

Hello.
What experience do you have in the areas you have already trained?
Have you become a master in some aspects of this area?
If not, how did you know that you did not need this education?
I think that only in practice can one see how talents manifest themselves with inclinations.
-
For me, design is an engineering art with small elements of "unknown garbage": aesthetics, unusualness, etc.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question