In this page you will find the requirements for developing FenixEdu applications. It begins by showing you what software you should install to begin, and provides some guidelines for choosing the best suited hardware for development.

 

Software

Operating System

FenixEdu applications run on any of the major operating systems (Linux, Mac OS and Windows) without any issue. Some platforms however may be harder to 

Hardware

This section contains some guidelines regarding the best hardware choices for developing FenixEdu applications.

CPU

Whereas the FenixEdu infrastructure is inherently multithreaded, rarely you will use multiple applications threads when developing. On the other hand, single-threaded performance is quite important for most tasks, such as compiling the code and running the application.

As such, it is recommended the usage of a CPU with a high clock speed and a modest core count. Recommended Intel Core i7 models (e.g. Intel Core i7 6700k).

Memory

Being mostly developed in Java, memory is one of the most important aspects for your machine for developing FenixEdu applications.

The minimum RAM size is 8GB, and the recommended RAM size is 16GB. Currently, 32GB seems to be the RAM size that still delivers a good benefit for its price. ECC RAM is not necessary, and provides little to no benefit.

You should try to get the highest RAM speed for your platform, as it delivers great benefit in development environments.

Disk

Your disk is one of the parts that impacts compilation and startup time performance. Using an SSD is a must, given that SSD prices are low enough to justify the perfomance benefits. HDDs are NOT RECOMMENDED.

PCI-e based SSDs provide the best performance possible, at competitive prices, and are thus the recommended platform. At the time of this writing, the recommended models are Samsung's 850 Pro for SATA, and Samsung's 950 Pro for PCI-e.

Network

If you are working with a remote database, having a proper network configuration is critical. A low-latency single-hop gigabit connection is recommended. Usage of NICs with an Intel chipset provides the best performance results.