From plain static to LAMP and back to static
A lot of years ago CERN engineers invent Word Wide Web technology as a linked set of plain text documents with links to each other and special formatting for visualization. Ancient Content Management was just an editing of static files on the disk. Times changed. We passed several huge revolutions in Web Development and Content Management. LAMP stack and its similar analogies based on other platforms were like standard for decades. We hold data and other content in relation database with SQL interface to access it. The pages have been treated as HTML content generated dynamically on server side by some engine implemented in a programming language with appropriate library or framework. All parts of this scheme have been re-designed or re-invented from time to time. Some of them even several times. There was a lot of hype about Web 2.0. For making development process more robust and performance of solution better, we started to use solution appropriate for specific task or project, e.g., MongoDB instead of MySQL, MVC instead of mess of code. One of such method is to present web site as a set of pure static web pages without any dynamic logic on server side, absolutely.
Generate static content offline
Main idea of such approach is to have a project with sources like data, html templates or includable parts and containers to wrap all those elements together and configure navigation between pages. On another hand, we need a tool or even several utilities to build the project into destination representation of static web site. First time, our team experienced such technology in the Fitness project for very famous Top 50 public Web Portal 10 years ago.
Nowadays, nobody code raw CSS3 in real-world HTML5 Applications Development. Huge amount of monotonic repeated code is too hard to create and support. Usually, one of CSS preprocessors are used to implement CSS3 styles in more elegant way. LESS [http://lesscss.org/] is one of such approaches. It doesn’t need to spend a lot of time to start using it. Try online tool [http://lesscss.org/less-preview] to process LESS into CSS code.
First of all, LESS is pre-processor of special syntax into CSS code. Besides, CSS code is a correct LESS code as well. You can start porting your existing pure CCS3 project into LESS just by a copy-paste action. When we mark some section or module with specified CSS class we are going to format and style not just wrapper but all its inside components as well. LESS helps us in this most used case by its nested syntax. E.g., LESS code:
Callbacks and other approaches
The simplest native way to deal with asynchronous code is to use callbacks. It may be ok in case of small application or use case. On the other hand, in real life Application Development, Iflexion company have complicated huge solutions splitted into many modules and layers. To use pure callbacks in this situation is antipattern.
Nowadays, search engines impose much more strong requirements for web sites to be ranked on top positions or even be parsed at all. Fast rise of mobile market pushed sites to be responsive to all kinds of screen widths and input schemas. But it’s not just about support mobile devices. For any Content Management system there is very important to load the pages as fast as possible. It’s not a recommendation anymore, but rather a rule. Google and other search engines may ignore your cool web site with a bunch of modern features just because it’s too slow.
Check loading speed online
First of all, check how fast is your page loading by Google’s PageSpeed test [https://developers.google.com/speed/pagespeed/insights/]. After several seconds you’ve got pretty complete report about issues at line of loading speed and suggestions how to improve it. If you receive green checks, congratulations, you are doing Content Management in right way. As it’s a Google’s service, so we can look at this list of points as optimization plan for Google Search Engine. On the other hand, the issues and methods to solve them are common for any search engine and for user experience as a whole. There are two separated modes (workflows) of analysis: for regular usage via PC’s browser and exploring on mobile devices like smartphones.
The main idea is to split the code into 2 sets of classes: Models and Views. A Model is responsible to handle all data of specified component. It loads, saves and represents it for a View. A View is rather a controller to handle UI, render widgets and specify actions for a Model to provide any changes. You can use any front-end HTML templates system within Backbone Views.
As I said above, Backbone is just a set of approaches to organize complicated project in robust way and a bunch of source code to help with it.
In 2014 was released first officially stable version 1.0 of the Meteor [http://www.meteor.com] most cool web application framework nowadays. Software developer have been using a lot of web application development frameworks and libraries in development and production for 10+ years. Why Meteor is so excited? It’s not one more platform in a row or new pure marketing buzzword. It’s rather a new approach to the construction of the project. This technology provides to Iflexion a new quality of Web Application Development process.
Remember time when you had to download the whole website in order to search through the needed information? You had to dig through the whole mass of data in order to get what you really need. That was bearable when you work on PC, but became totally inappropriate the time you appeared to be working on any mobile device.
The reason is that the connection is unfortunately not as fast as on local PC. Moreover you have the limited screen and cannot accept there all the information at once.That is when the single page web applications appeared to be far more popular than full size websites.
Specialties of single-page web apps
Web app developers composed the front end to any content database. While website programming offers you to deal with all data at once, single-page applications let you pull the needed piece of data right into your hands without losing any time.
Since 2014 has already knocked at our door and even kicked it wide open, it’s perfect time to take a look at the most popular and important trends this year has to offer.
Iflexion team has done its best to prepare the list of long awaited changes in IT world.
Let’s have a look at the short list:
- Clouds get top popular
- Data scientists go down
- Big data and social data go up
- Analytics of complex specialized systems are wanted along with agile business intelligence
- Everyone goes for storytelling
- All efforts get accumulated in mobile sector
- Embedded business intelligence begins to emerge in attempt to put analytics in the path of everyday business activities.
Now it’s time for detailed information.
Hadoop and NoSQL
These systems are now completely linked one to another. You shall keep this in mind in order to take full range of IT advantages.
Let’s have a close look at most craved brilliants of the mobile ecommerce application design. A lot of sites have been redesigned lately in order to match the best expectations of nowadays audience.
Most platforms like WordPress, Shopify, Magento etc. are totally linked to shops’ designing. The latest trends make people redesign a lot of stuff, by the way some features get simplified as well as the others keep getting more and more complex.
Here’s the list of 6 most popular trends emerging this year.
1. Interface that is finger friendly
A lot of people will see your site on any kind of mobile device before they actually reach to in on their PC. This leads to a lot of sites being mobile-oriented and rather finger-friendly (meaning they’re designed with high touchscreen options). Some are made for stylus, others are more like multi-touch feature.
Neo4j, Cassandra, and FluidDBoffer the brand new set of databases for social networks
Social network if one of the best things to be found in the net. With its help you can easily fix the links and attitudes between various persons including your friends and people you only want to get to know about. The social life appears to be rather transparent with these networks.
Still if you’re searching for some specific information, the graph databases will be really handy, since with their help you can definitely how many of your friends’ friends’ friends are allergic for milk.
Still the simple graph database cannot give all the answers. Schema-free relational databases are simpler and might be better for social networking software developers for getting quick answers.
This database is created by Java and can successfully link to Python and Ruby. You look for the answer by creating the traversal object streaming along the relationship lines between the nodes until it finds what you’ve been looking for. Its best ability is to run the repeated actions in the network. It stored all new nodes to the disk, so even in case of power failure you will lose no data.