Agiliway https://agiliway.com Mon, 10 Dec 2018 14:20:47 +0000 en-US hourly 1 How We Helped a Startup Company to Improve Development Processes https://agiliway.com/improve-development-processes/ Thu, 06 Dec 2018 07:57:41 +0000 https://agiliway.com/?p=2354 Read more »]]> Agiliway not only provides skilled engineering resources, but also tries to understand client’s business and needs to determine how these resources can be used to a greater benefit. Fortunately, our core team members have more than 20-year experience in software development, which allows us to deliver extra value for our clients helping them to organize development processes better or apply a wider range of technologies and/or methodologies. Such IT outsourcing consulting ensures effective cooperation and superior results for the client business. This was the case with a rapidly growing startup with an AI product we started cooperating with a few years ago.

two men discussing strategies pointing to computers

 

The young company invested into technological excellence hiring top IT talents to actively build a complex solution. This approach yielded good results, and the client managed to create a competitive product and gain several dozens of large corporate customers. Thus, the client continued inventing into developers and new, more powerful, versions of the product. However, the customers have soon started to anticipate not only new powerful features, but also a stable and bug-free performance, which made the initial overreliance on development no longer justified.  

Overall, the lack of proper development processes resulted in the following issues 

  1. the company started receiving negative feedback from end users who were the ones to find and report bugs in the technology;  
  2. the company overspent on the expensive work of Java developers who had to return several steps backs to get rid of the bug; 
  3. developers started to feel discouraged being unable to move forward fast.    

Having ample experience in software development, Agiliway understood that the issues could be addressed by implementing proper software development methodology and involving Quality Control (QC) as its necessary element. After the client confirmed that he would be eager to receive our consultation, Agiliway 

  1. analyzed the existing development practices and determined the ways to incorporate QC into the software development process; 
  2. re-engineered the development processes and came up with suggestions regarding process flow to best incorporate the QC efforts;  
  3. determined QC staffing needs regarding the newly established processes and the existing organizational structure of the client’s company;   
  4. prepared job descriptions for QC engineers clearly determining their responsibilities and KPI metrics, aligning those to organizational needs and goals. 
  5. helped the company recruit and hire skilled and dedicated QC engineers.        

The successful implementation of QC processes had a profound impact on the organizational performance. Timely identification and elimination of bugs substantially improved the quality of the product and customer satisfaction. The valuable consultation of Agiliway helped the company avoid inefficiency and truly invest in growth and stability of the product. Eventually, after just a few years on the market, the client has started to compete with giants of the AI industry such as Google and Amazon.   

It is a remarkable feature of Agiliway that we provide not only engineers, but also our expertise, which significantly increases the value of our engineers for a client. If you want to leverage the exclusive knowledge and experience of Agiliway to grow your business, feel free to contact one of our experts.

]]>
Big Data Solution for a Media Company  https://agiliway.com/big-data-solution-for-media-company/ Thu, 29 Nov 2018 09:00:04 +0000 https://agiliway.com/?p=2333 Read more »]]> The concept of big data has been around for years and is gradually becoming a mainstream IT solution to complex business problems. The data is considered “big” if it’s so big and so complex that it cannot be handled using traditional data-processing application software.  Still, the value of big data is not in the amount of the collected and stored information as such, but in business intelligence (BI), that is mining, analysis and structuring of this data that has a profound effect on business. Agiliway has managed to provide such effective business intelligence and big data solution, which has become the core of our client’s business.      

BigData

Background 

Our client has been working on the media market and wished to webcast news related to internet technologies. To meet this goal, the client needed to have an effective business intelligence system that would (1) analyze a constant flow of information from multiple public sources, (2) check the collected information for relevance, and (3) structure this data and produce blog posts based on it.  

Such task posed a number of technological challenges. In particular,  

  • processing of large amounts of data sources required a crawler with a complex multi-thread logic; 
  • determination of the “relevance” of the found pages required implementation of complicated decision-making logic and application of some AI practices; 
  • there was a need to select an effective storage for such large amount of data;  
  • quick and accurate management of requests, keywords, weights, excluded keywords, etc. called for building a convenient user admin panel that will be comprehensible and user-friendly for clients’ content managers.  

Provided Solution  

Agiliway used an elaborate Python code and MongoDB databases to provide the necessary big data solution. Namely, we have created a crawler, written in Python, that would search through social media, news platforms and blogs for the information related to the specified keywords. Together with the pieces of news, the Python code collects the information about the users’ feedback on it, including the number of likes and comments.  

As the next step in the big data solution, the found data is processed for relevance. If the relevance is confirmed, the data is stored on MongoDB, a free open-source document-oriented database, which supports dynamic queries and allows fast updates and scalability. In MongoDB, the data is structured under specific categories, which correspond to definite keywords. Thus, this data is shared to MySQL databases of WordPress, the platform of the client’s website, and becomes the basis of new posts being automatically created.  

Value Delivered  

The big data solution developed by Agiliway provided the client with a full cycle of a product creation. All the complex processes of gathering, analyzing, storing, structuring the data and, then, putting it to use happens automatically due to the well-implemented business intelligence processes.   

Our BI team have great experience in rational databases like MS SQL and Oracle BD, non-relational databases like MongoBD, and data visualization and BI tools, e.g. Tableau, Jasper Reports and similar. We successfully leverage the expertise gained in a variety of projects to design scalable data storages, migrate data, execute ETL processes, and build intelligent solutions with comprehensive visualization and reporting systems for our clients. Feel free to contact us to find out more about how big data can bring competitive advantage to your business.       

]]>
Agiliway Carries Out Gradual Migration from TYPO3 to Laravel https://agiliway.com/typo3-laravel-migration/ Wed, 21 Nov 2018 15:01:30 +0000 https://agiliway.com/?p=2298 Read more »]]> Any type of website migration is considered a particularly challenging and stressful endeavor that may result in substantial temporary or even permanent traffic loss. This is why, it is important to approach migration very carefully, with a well-though strategy and ample time for testing the performance of the newly launched version. This is how Agiliway has approached the migration from TYPO3 CMS to Laravel PHP framework, which we have successfully executed for one of our established clients.   

TYPO3 to Laravel

Project Background

Although the migration often happens because the website owners regret their initial choice, this is not the case in this project, as the migration from TYPO3 to a framework was planned from the very beginning.  

What was the reason to choose the technology, which will sooner or later trigger the need to migrate anyway? The reason was that the client wished to create a very powerful platforms with a wealth of complex features, the development of which required much time and resources. As the product was new and the business idea of the client had not been tested so far, it was too risky to make such heavy investments at that point. Therefore, a TYPO3 CMS was chosen for the development of a minimum viable product (MVP) with core features, which will allow to test the product and analyze the feedback of the market.

Soon, the business idea of the platform – assisting businesses in choosing IT products by analyzing all their characteristics and requirements and calculating ROI for each option – proved a success. Thus, the need to migrate to a framework and add more complex logic and features to the platform appeared.        

Project Challenges  

There were a number of features, which had to complement the existing functionality, but could not be effectively accomplished with the help of TYPO3. In particular:  

  • Neural network search. The neural network search, which performance relies on big data and machine learning algorithms, had to facilitate the choice for the client;  
  • AI support bot. The bot did not only have to lead the customers through the predefined tunnel, but also use AI to educate itself towards better performance;  
  • Complex logic for calculating cost and ROI considering various parameters and relations between various entities;   
  • Multiple languages. Although TYPO3 supports multilingual websites, localization on the product is much more convenient on the framework. Thus, when the client expressed the wish to localize the product to more than two languages, it was decided to perform this step after the product migrates.  

In addition to the need to develop new complex functionality, there was a need to develop this functionality in a short run ensuring the uninterrupted work of the existing solution. Such demand was due to the wish to avoid traffic and customers loss, which was inevitable if the website was to be placed on maintenance for a longer time.  

Provided Solution  

It was decided that from TYPO3 the website will migrate to Laravel PHP framework. This framework was chosen as a quality, flexible and reliable solution that will allow the platform to grow in power and functionality. Moreover, the system Laravel Admin & BREAD, which was used for the project, had a variety of libraries addressing project needs, such as:  

  • Laravel API Documentation Generator automatically creating documentation for the Laravel routes when new microservices are added;   
  • Laravel Debugbar facilitating errors detection for all current Routes, queries and events;
  • Laravel IDE Helper allowing autocompletion and having the files up-to-date;
  • Laravel Entrust helping to manage roles and permissions;  
  • Laravel Extended Generators improving website speed and user experience.  
  • Laravel Translatable facilitating localization of the product;

To act upon the requirement not to interrupt the website’s work and to develop new features as soon as possible, Agiliway carried out a migration following a very well-thought strategy. It included the following steps:  

  • Installation of Laravel on the base as a separate folder. Such solution allowed Laravel access all existing classes and codes;  
  • Development of new functionality. New functionality has been developed and launched on Laravel.     
  • Creation of routes between TYPO3 and Laravel. According to the created logic, the request is directed from TYPO3 to Laravel each time the system does not respond.  

In particular, after authorization, which takes place on the side of TYPO3, the request goes to the server where both TYPO3 and Laravel are installed. If the request relates to the older feature, which has not yet been rewritten on Laravel, TYPO3 responds. If the request is for the new feature written on Laravel or an older feature, which has already been rewritten on the framework, the request is directed to Laravel via the route.

response pass for gradual typo 3 to laravel migration
  • Rewriting core functionality. After the new functionality developed on Laravel has been enabled, time has come to rewrite all the core functionality, which is done gradually and in the background.   

Value Delivered   

First, the well-though migration strategy developed by Agiliway allowed developers to concentrate on the development of the anticipated new features and, thus, deliver them in a relatively short term. Overall, TYPO3 CMS to Laravel PHP framework migration has allowed the platform to move beyond the MVP status and set good prerequisites for growth by

  • improving the system’s architecture;
  • enabling transition to microservices connected with the help of APIs;
  • allowing the system to develop rapidly with the help of various technologies and programming languages;  
  • making the system scalable, reusable and easily integrated with their-party services.  

Although website migration is something that both website owners and developers fear, we are glad to show you it can be accomplished without complications. What is more, in many cases, migration can enhance website performance and, thus, drive business results. The key to success is to pursue a good strategy and to engage a reliable partner.  

]]>
ReactJS in Action https://agiliway.com/reactjs-in-action/ Tue, 13 Nov 2018 17:50:22 +0000 https://agiliway.com/?p=2282 Read more »]]> As we have noted in a recent comparison of JavaScript frameworks, React is a great technology for building large scale high traffic applications. First of all, it assures superior speed and performance. Second, it is highly testable, which makes debugging process quick and efficient. Last but not least, ReactJS allows unifying the code for web and mobile applications through the use of React Native. This is why, React is one of the major technologies Agiliway uses for web and mobile development. The successful use of React in one of our recent cases demonstrates well the potential of this JavaScript library to solve complex technological tasks.

Case Background and Challenges

Our client is a leading provider of GPS tracking system. In particular, the client provides comprehensive services starting with the installation of GPS sensors on vehicles and finishing with the configuration and maintenance of the GPS tracking system web application.

The client addressed Agiliway experiencing a lot of issues with the GPS tracking system due to the outdated architecture it used. In particular, the company’s clients were complaining of

  • low speed of the application and possible interruptions in the performance;
  • poor performance of the system for the clients with many cars following overlapping routes, as the cars became visually indistinguishable;
  • inability to use the system on a smartphone, which caused much inconvenience for users, most of which spent 90% or time out of office.

What is more, the existing solution did not allow the company to add new features and, thus, cater to the rising needs and expectations or the clients.

Provided Solution

ReactJS in Action

To address the needs of the client, Agiliway suggested rewriting a system using ReactJS. Although this was a serious endeavor, it substantially improved the performance and expanded the functionality of the tracking system. Namely, the benefits of the provided solution involve:

ReactJS in Action

  1. Improved performance. The improvement in performance is due to the fact that ReactJS does not demand to update the whole page when the information for one component updates. Having encapsulated components managing their own state, React creates and synchronizes minimal lists of updates, speeding up the presentation of the result. Further use of React Redux has helped to effectively manage the fetching of states of components. Namely, the system does not fetch all of the available information for all cars on the regular basis. Instead, React allows fetching certain information when the user makes a corresponding request.
  2. Better visualization of multiple cars on one map. React Native map clustering has solved visual issues for users tracking multiple cars. Namely, React Native map clustering allows consolidating all tracked objects in the area, so that the map shows their number only. Enlarging the map, the user can further find the location of the exact vehicle.
  3. Real-time tracking. We have added the option to track the movement of a vehicle in the real time. This feature is accomplished with the help of ng-websocket that sends the relevant data to the user so that React can create a route of the vehicle on the map and display it to the user in a visual form.
  4. Notifications. We have developed a comprehensive system of notifications, which widened the features of the system and facilitated dispatchers’ work. Namely, the system analyzes the information it receives against the preset rules and conditions and issues alerts when they are violated, for example, when the vehicle is speeding, has left the route it should be following or crossed the borders of the geozone set for its work.
  5. Mobile Application. Rewriting of the system on ReactJS facilitated development of a mobile application for it using the React Native technology. As a result, the developed mobile application is characterised by advanced functionality, good performance, and high speed.

Value Delivered

Rewriting the GPS tracking system on ReactJS and creating a React Native mobile application for it, Agiliway has revolutionised the work with the system and client’s business as such. In particular, the new features and the stable performance of the system allows effective tracking of vehicles and routes and facilitates work of logistics specialists. In addition, the availability of the mobile application and instant notifications gives car owners much more control over their vehicles not keeping them tied to the computer screens.

Leveraging the latest innovations in the IT industry and selling a high-speed and user-friendly solution, the company benefits hundreds of end users and steadily grows its profits.

]]>
Guest article: TYPO3 Website Migration: How to Define the Very Time https://agiliway.com/guest-article-typo3-website-migration-how-to-define-the-very-time/ Fri, 02 Nov 2018 22:38:18 +0000 https://agiliway.com/?p=2270 Read more »]]> Guest article: TYPO3 Website Migration: How to Define the Very Time

Day after day the number of websites increases. No matter what sphere your life is connected to, if you have a hobby, a business or just an interesting project, running a website connected to that lifework is always a good idea. Moreover, in the world where web technologies can do even more than a human, creating a website is as easy as a, b, c.

The market of CMS platforms is full of different options, and rarely there’s a man who won’t find the one appealing to his tastes. TYPO3 takes its well-earned place among Top 15 content management systems. What drives people to choose very this platform when there are tons of other options available?

TYPO3 Can:

  • add special coloring to your website with the help of different extensions. There’s TYPO3 extensions repository, where you can choose the tools your website needs and install them via TYPO3 admin dashboard in a few clicks;
  • provide you with a user-friendly interface: built-in editors, customizable extensions, diversity of user permission accesses;
  • include multiple and independent types of content on every page separately;
  • support more than 50 languages and own a built-in localization system, therefore allows publishing content in multiple languages.

TYPO3 Can’t:

  • be used by amateurs – the installation and the first site management steps are the tough matter for beginners and need some minor coding knowledge;
  • work smoothly if you are going to have less than 20 or more than 5000 pages on a website;
  • operate fast if a website is supplied by extensions and modularity as the platform require more server parameters.

What Might Be the Alternative?

Of course, there’s no sinless CMS platform, and TYPO3 is not an exception. Again, as far as the CMS market is full of multi-functional platforms, there’s an alternative for everyone.

  • WordPress is probably the most popular software application providing a great background to create any type of website with any complexity. More and more users leave their web homes and move to WordPress to extend the website with the help of plugins (and believe there is a countless number of them). The unbeatable WordPress community provides a welcoming place to go in case of any troubles.
  • Being easily customizable and suitable for pretty many purposes, Joomla has gained its popularity and is currently trusted by millions of users all over the world. The software is supplied by loads of nice extensions which allow any Joomla website to grow and scale as required.
  • Drupal is one of the first choices of developers when building robust, powerful, enterprise-level websites. Especially the platform prides itself on being secure and flexible CMS option which makes the website not only look good but work as well.

Speaking about moving TYPO3 content to another CMS, lots of complicated code and tiring copy-paste work come to mind. But thanks to the migration services like CMS2CMS, the transfer might be done in a fully automated way. What’s special about that service is a FREE demo migration one can run to preview the final migration result.

Summing up, it’s obvious that TYPO3 has earned its place among tops by right because the platform help to create a fully operational website from scratch. But it has its drawbacks just like every single thing in this imperfect world. Still, it’s up to a web project creator whether to enjoy the features TYPO3 offers or to try something different. Luckily the choice is always available.

About the Author:

Valia Tyssiachna is a vivid CMS platforms observer, that’s why she found her dream job of marketer manager at CMS2CMS migration service. Keen English learner, music lover and passionate content writer, she enjoys constant improvement and is open to challenges.

Valia Tyssiachna

]]>
Agiliway Is Developing Its Own Product – CiviMobile App https://agiliway.com/agiliway-is-developing-its-our-product-civimobile-app/ Mon, 29 Oct 2018 13:41:26 +0000 https://agiliway.com/?p=2258 Read more »]]> We are glad to announce the release of the second version of our product – CiviMobile! CiviMobile is a ReactNative mobile application for CiviCRM, a comprehensible system for managing contacts specifically catering to the needs of non-profit organizations. CiviMobile significantly extends capabilities of CiviCRM users, as now they are able to access and update their CRM data when working out of office, visiting partners, or participating in events.

CiviMobile second version release

The second version of CiviMobile, which was released in October, is much more advanced comparing to the previous one. It allows updating and creating contacts, activities and cases, tracking and changing statuses of cases and activities, and applying advanced search and filtering options. Other important features that makes the users truly benefit from CiviMobile are push notifications and navigation. Here, we utilize native features of smartphones to provide more conveniences for CiviCRM users.

We would also like to say big thank you to our React team for implementing the secure and reliable solution. We consciously chose ReactNative technology for CiviMobile, as it allows quick development for both Android and iOS platforms, yet assures good maintainability of the solution. This is a critical point for us as we are going to provide continuous support and further development for our product.

For more details about the new version of CiviMobile, please visit CiviMobile release post. You may also contact us directly with any question regarding CiviMobile/CiviCRM or React development.

]]>
What I Like About OXID https://agiliway.com/what-i-like-about-oxid/ Wed, 10 Oct 2018 12:11:58 +0000 https://agiliway.com/?p=2221 Read more »]]> what i like about Oxid

Having developed a competency in OXID eShop, Agiliway has been constantly looking into advantages and disadvantages of the platform. In one of the recent articles, we have compared OXID and Magento, as the two platforms are known to target at the same audience. Now, we have decided to show this e-commerce platform from a viewpoint of a developer. Our leading OXID engineer, Oleksiy G., has told us what he likes and doesn’t like about OXID in the interview we invite you to join.

Q.: Hello, Oleksiy. Please, tell us how you started working with OXID. What motivated you to come to grips with the platform?

O.G.: Hello! What motivated me? A project to complete! (Laughing) OXID eSales is not as popular in our region as Magento or WooCommerce and I did not consider mastering it rather than another e-commerce platform. However, now, having worked with OXID for a longer time, I am eager to work with it and develop proficiency in the software even further.

Q.: Does OXID have a steep learning curve? How long does it normally take to learn it?

O.G.: Well, if you start with a real project, a month or two are generally enough. It obviously takes less to learn OXID than to learn Magento. Of course, the process of learning is not easy, as OXID eShop has poor documentation. There are no documented cases, with the help of which you can learn to resolve issues, and there are almost no explanations of basic notions. Eventually, the solution may turn out to be simple but you can search for it for a very long time, collecting tiny bits of information from various resources. And, yes, this is important to know that to learn OXID, you need to know or learn German first as all of the resources are available only in a German language. However, as soon as you understand specific features of the system, you start to appreciate tons of benefits it provides.

Q.: Please, tell us more about these benefits. What do you like about OXID?

O.G.: The software is really great. First of all, object oriented programming allows much flexibility. Of course, OXID does not have the flexibility of a framework, but I think some flexibility was intentionally sacrificed for the sake of rapid realization of an e-commerce project. You do have the ability to rapidly carry out an e-commerce project, which is highly valued on the market. In addition, a lot of features are available already in the community version, so you can accomplish much satisfying and often exceeding clients’ expectations.

Another thing I like about OXID is that the software actively incorporates latest solutions. In particular, it uses a few Symfony components and smarty templates that are not difficult to create and that actually abound in the Internet. In addition, it is great that you can create modules with the help of separate composer packets. The case is you often need the same basic modules for many projects. With a composer, you just write a list of modules you need and they are installed automatically as soon as you roll out the new project.

Q.: What makes the work with OXID eShop complicated?

O.G.: The lack of documentation is the greatest downside of the software, I quess. Another disadvantage is that a class extension system, which you need to use to create custom features, is rather tangled. The class extension system is not bad in itself, but it can be very confusing, because if your code is a bit incorrect, you will have a great dependency and it will cause much inconvenience. For example, you will have to activate modules in certain order. If two or more developers work on one project, the chances of disrupting dependencies are high. This is why coders working on the project need to create a documentation determining who does what from the very beginning.

Q.: Experts say that with its latest version, OXID eSales has made a profound change from a “dinosaur-ridden” company to the top e-commerce software, similar to Magento. How do you assess OXID eShop 6.0.0 in comparison to older versions?

O.G.: Actually, all the advantages I have mentioned relate to the sixth version. I had a chance to work with an earlier version, OXID eShop 4.7, and the difference between the two versions is really profound. The company did not only resolve some issues, it modernised the core code of the software, as many features were not possible because of the outdated version of PHP the software used. OXID 6.0.0 has much more features, but it is still transitional, because it supports the old code. New versions, which are to come, will no longer support it.

Q.: What other improvements do you expect from OXID eSales?

O.G.: First of all, they have to remake the admin panel, which is not user-friendly now. I expect they will change this in the new versions. There are some other things, which should be attended to, but they are all details, which do not make any considerable difference.

Q.: Do you share your insights with an OXID community? How big and active is it?

O.G.: OXID community is not very big and it is exclusively German speaking. You cannot find any meaningful support in another language. The community has its events to share knowledge and resolve issues and our clients have attended them (the events, again, are organised mostly in Germany). We are proud to know that one of our clients has even taken part in the community competition for the title of the largest project carried out on OXID.

Q.: Sounds great! So will you recommend OXID to other developers and customers?

O.G.: Yes, I will. OXID eShop is great for programming. Comparing to using Magento or WooCommerce you can really do much with a code here. You do not have to create hooks to have your code called under certain circumstances, and then create hooks to enable hooks… You just make respective changes in the class extension system. It is very comfortable. Thus, anyone who codes well in PHP should not be afraid of taking up a project on OXID. Concerning customers, OXID eSales allows to create great scalable projects with a short time to market and provides many useful marketing tools, so I do recommend to choose this platform for e-commerce solutions. I or my colleagues from Agiliway will eagerly assist our clients in this venture.

Q.: Thank you very much for sharing your insights with us.

O.G.: Thank you.

]]>
ReactJS, AngularJS or EmberJS – Choosing a Right JavaScript Framework for a Project https://agiliway.com/reactjs-angularjs-or-emberjs-choosing-a-right-javascript-framework-for-a-project/ Wed, 03 Oct 2018 08:48:22 +0000 https://agiliway.com/?p=2178 Read more »]]>

Most of our clients are already familiar with JavaScript – a lightweight cross-platform   programming language used to create modern interactive designs and complex dynamic objects. Still, the mention of the JavaScript framework we recommend makes them confused. As we want to make the logic behind the provided solutions clear and justified, we have set out to briefly explain why developers need a JS framework and how the most popular JS frameworks differ.

Why Use a Framework?

First of all, frameworks give structure to the code and make it organised. In addition, frameworks have multiple pre-built functions and ready solutions, which allow to avoid hundreds of coding lines. This allows to complete a project in a much shorter term. In addition, most frameworks are open-source technologies, which means that they are supported by large online communities (at least the most popular ones), have adopted documentation, and are regularly tested and debugged.

There are hundreds of JavaScript frameworks, but it is always safer to choose the most popular ones, considering the availability of active communities and long-term support. AngularJS, EmberJS and ReactJS are three great options to choose from. Since it is not easy to migrate from one JavaScript framework to another, it is worth considering the benefits and the drawbacks of each technology from the very beginning.

AngularJS

AngularJS is a Google product released in 2009, which makes it the oldest JavaScript framework. It is a complete solution with a Model-View-Controller architecture, declarative programming style and strong feature set. AngularJS provides simple routing, intuitive alteration and straightforward UI design. Directives of AngularJS allow adding special behavior to parts of the DOM, thus, facilitating extension of HTML. Another great feature is dependency injection, which allows adding services to the modules or injection of mock data into components for testing.

A two-way data binding seems to be simultaneously the most appreciated and the most detested feature of AngularJS. On the one hand, it significantly reduces the amount of code needed for the creation of dynamic views; on the other hand, it hurts performance and complicates debugging.

Other drawbacks of AngularJS are its slow speed for pages with many interactive elements, complex third-party integration and the complexity of directives API.

EmberJS

EmberJS is another popular open-source framework used for creating client-side web applications. It has superior performance characteristics and works well with large application ecosystems. EmberJS supports two-way binding and server-side rendering. The major peculiarity of EmberJS is rooted in its guiding principle “convention over configuration”. This means that the framework can automatically infer the configuration and generate the resulting code letting developers avoid much of the routine work. EmberJS minimizes DOM and relies upon dynamic building of HTML document using a fully-fledged templating mechanism.

All these advantages come with some obvious drawbacks of the framework. In particular, EmberJS is the heaviest and the most opinionated framework of the three. Its steep learning curve is further complicated by a wealth of outdated tutorials circulating the net and a relatively small community.

ReactJS

ReactJS is a JavaScript library developed and powered by Facebook. It has proven to be efficient for large scale high traffic applications such as Facebook, Instagram, BBC and Netflix. ReactJS assures faster updates creating and synchronising minimal lists of update portions. It has easy learning API and interface and is great for debugging. The technology has a component-based architecture making a code highly reusable. Other benefits of ReactJS are React Native library and server-side rendering, which allows to solve SEO and performance issues. In addition, React has a JSX, a JavaScript extension syntax that allows to quote HTML and use HTML tag syntax to render subcomponents.

Despite all these benefits, ReactJS is essentially a library, not a full framework. It is focused on a View in the Model-View-Controller paradigm, while routing, data fetching and state management need to be tackled with the help of third parties. In addition, the absence of templates and the use of Components for the UI generation may be confusing for programmers who do not specialize in React.

What Javascript Framework to Choose?

As it has been mentioned, AngularJS, EmberJS and ReactJS are all good choices for your web applications in terms of communities and support. AngularJS is the most popular of the three, but it is used mostly for single page applications considering some performance reasons. EmberJS is an all-tools-included solution, but it is heavy and takes long to learn, so it is suitable rather for big long-term projects. ReactJS is lightweight and is great for building UI for large-scale dynamic applications, but this solution is not a one-stop-shop and you will have to look for other solutions to use with it. Knowing the peculiarities of each framework, you can decide which will be better for your project. Agiliway has experts and active projects in all the three frameworks and is ready to help you develop your web application using the technology you prefer.

]]>
TYPO3 East Europe: New Knowledge and Certification for Agiliway https://agiliway.com/typo3-east-europe-new-knowledge-and-certification-for-agiliway/ Tue, 25 Sep 2018 18:35:48 +0000 https://agiliway.com/?p=2158 Read more »]]>

The middle of September has been a very hectic period for Agiliway in terms of travelling. While a part of our team presented our company at an exhibition stand at DMEXCO, our CTO Bohdan Dmytryshyn and TYPO3 engineer Andriy K. attended TYPO3 East Europe conference held in Romania on the 14th-16th of September. Agiliway is a recognised TYPO3 expert, actively promotes this technology and has one of the biggest pools of TYPO3 specialists in Ukraine. Thus, it is critical for us to attend such community events and stay on top of the TYPO3 news.

TYPO3 has an active community and organizes dozens of events each year: conferences, camps, sprints, DevDays, etc. TYPO3 East Europe (T3EE) is held annually in Cluj-Napoca, which is one of the biggest centres of IT industry in the country and boasts an incredibly high concentration of TYPO3 developers. The goal of the conference is to involve developers and enthusiasts to further popularise TYPO3 in the countries where it is not yet well known. Besides this, TYPO3 community events are used for the official certification of TYPO3 specialists.

TYPO3 Engineer Andriy at T3EE 2018

Our leading TYPO3 engineer, Andriy, who has multi-year experience with TYPO3 and earned a certificate of a TYPO3 CMS Integrator few years ago, used this chance to gain another official recognition from a TYPO3 community and took the certification exam. Thus, we can proudly congratulate him on successfully passing the exam and getting an international recognition and an official title of a Certified TYPO3 Developer.

Agiliway team is always looking for new knowledge and experience, and the conference was another means to gain it. We could listen to the latest TYPO3 news and plans, in particular, obtain first-hand insights into the latest TYPO3 version. In addition, having reported on a case when it took 10 years to detect and correct a bug, a conference speaker initiated a heated discussion of issues other companies and developers faced and the ways, in which they resolved them. Our CTO, Bohdan, was also invited to participate in a roundtable on the opportunities for TYPO3 education as appreciating a great learning curve of TYPO3 and a high entry level, the community seeks opportunities to introduce TYPO3 as a course in educational establishments.

Overall, the audience of T3EE conference was well-prepared and added to the quality of reports by insightful questions and comments. The attendees marked the open and friendly atmosphere of the conference, which ‘sometimes resembled team building,’ as Andriy has noted. Bohdan adds a great resume too, ‘One could perceive that people did not come here to promote their own varying interests but to share with each other and promote common interests. This is why it’s called a community and it feels great to be a part of it.’

An active member of a TYPO3 community and a leading company with a strong TYPO3 expertise in Ukraine, Agiliway is happy to share our thoughts and experience with the community and bring new ideas back to Ukraine. We are looking forward to visiting other community events. Whether you are planning your attendance too or need TYPO3 development or integration assistance, don’t hesitate to contact us.

]]>
Agiliway at DMEXCO 2018 https://agiliway.com/agiliway-at-dmexco-2018/ Wed, 19 Sep 2018 09:58:16 +0000 https://agiliway.com/?p=2154 Read more »]]>

On September 12-13, 2018 Agiliway attended DMEXCO – one of the major digital marketing conferences in the world that defines itself as ‘the meeting place for key players in digital business, marketing and innovation’. This year, the event traditionally held in Cologne, Germany has attracted over 1,000 exhibitors from 40 countries to shake the 100,000-square-meter Koelnmesse Expo space with latest products and most topical discussions. Agiliway has been one of the exhibitors presenting its mobile application for CiviCRM users – CiviMobile and other software development and consulting services we provide.

Agiliway Booth at DMEXCO 2018

Although it was difficult for other participants to match the popularity of the stands of Google, Spotify or LinkedIn, our stand has gained much attention. All day long, our team responded to questions of the enquiring visitors and discussed latest trends and partnership opportunities with colleagues. We have luckily met our existing clients visiting DMEXCO and made many new contacts. Visitors were particularly interested in our expertise in TYPO3, e-commerce and mobile development and we have even received several requests to build mobile versions of existing products.

The motto of the DMEXCO exposition and conference of 2018 was Take C.A.R.E. emphasizing Curiosity, Action, Responsibility and Experience. Thus, Agiliway had these expectations of DMEXCO in mind when planning its stand and its participation in the way that fueled curiosity among visitors, demonstrated corporate responsibility, and provided visitors with a chance to experience our products. We also cared to create little cute surprises for our visitors, so that people from around the world could taste original ‘Agiliway’ sweets.

Agiliway Fliers at DMEXCO 2018

At the same time, we did use a few spare moments to attend to the top speakers that define the course of development of the industry today. In particular, Karl Bunch, Technical Leader of Amazon Web Services, Philipp Schindler, Chief Business Officer at Google, or Nico Rosberg, former Formula 1 world champion and investor. We were also interested in presenters at Startup Village who inspired us with creative innovative ideas and interesting cases.

Overall, DMEXCO has become a good experience for Agiliway and a great chance to claim ourselves as serious industry players. We are eager to participate in DMEXCO in future years too, so that it becomes a meeting place with our partners and clients. If you want to meet Agiliway on this or another international event, please contact us for details.

]]>