Archive Software Development
Top 5 Features of ASP.NET Core to Build Better Applications
ASP.NET turned out to be one of Microsoft's greatest contributions for innovative web application development. The popular open source framework kept getting refined with each update adding more features or augmenting the existing ones to help developers effectively build and deploy highly scalable web applications. The framework's myriad features are designed to help developers overcome various development challenges while giving the clients high-performance web apps.
ASP.NET's success in delivering value over the years contributed to the high demand for ASP. NET development services. In this blog, we picked 5 features of ASP.NET Core that we though was the most useful to build innovative web applications.
Cross-platform & container support
.NET Core brought with it several features that enabled developers to create ASP.NET applications and deploy them across all the popular platforms – Windows, Linux, and macOS. The open source community along with the tech giant contributed to making Linux an ideal platform for running ASP.NET. It also offers great support for popular containers including Docker and Kubernetes.
Boosted performance
For a software, performance is the most important aspect. No matter how feature rich it or appealing it is, if its performance is underwhelming, it'd be rejected. A combination of ASP.NET Core and the Kestrel web server considerably buffs the speed of the framework.
Back in the day, the technology that powered the ASP.NET integrated pipeline and IIS was outdated. The new Kestrel web server, however, was completely redesigned to leverage asynchronous programming models which subsequently made it lightweight and fast.
MVC & Web API frameworks unified
Before the arrival of ASP.NET Core, developers relied on MVC and Web API frameworks. MVC catered to building web applications that serve up HTML while web API frameworks were used to create RESTful services using XML or JSON. However, there were many overlaps when the two frameworks were involved. ASP.NET Core combined both thus simplifying software development. The Razor Pages feature of ASP.NET Core extend the capabilities of the MVC framework in encapsulating 'model and 'controller' aspects of a page with two-way binding.
The importance of security for enterprise web applications is obvious. In addition, the web application's end user will also have to employ stringent security policies to identify and eliminate several vulnerabilities that can be exploited. Of the many types of attack that can happen, CSRF happens to be a particularly dangerous one for an enterprise. CSRF is where cyber-attackers hijack users' authenticated sessions and perform actions in their name without their knowing. ASP.NET Core can generate anti-forgery tokens preventing this kind of attacks.
Output caching
The output caching feature of ASP.NET Core allows the framework to cache the output a page generates and serve the cached content later when requested. Data that are not updated frequently are stored securely, and are served from a cached location when there is a request. The framework also can be used to specify how long any request should be cached.
Unlike most Microsoft technologies, ASP.NET Core is open source. The community itself is dedicated to improving the framework further. Due to its open source nature and community support, ASP.NET Core supports the use of various third party platforms and frameworks in conjunction with it to build innovative applications easier than before.
Written by: Ratheesh V S
Archive Mobile App Development
5 Ways to Deliver Excellent Mobile App Security
The reputation of the mobile app development company is fragile to be honest. If the app underperforms, the developer's reputation is affected. If the app fails in the market, the developer's reputation is affected. If the users don't have a good experience using the app, the developer's reputation is affected. However, it's not something that can't be fixed. A few good practices can restore the developers' reputation or grow it considerably.
What most developers often don't give much importance to is the app's security features, unless the app handles financial transactions. Even if the app is non-commercial and made solely for entertainment, it still may require access to the mobile users' personal information. So users obviously expect the app to use that information wisely i.e. they just assume that the app is secure. It's up to the developers to make sure the users are right about them. Mobile app security is vital for the app's success, and subsequently the developer's reputation.
With that out of the way, let's take a look at 5 ways developers can deliver great mobile app security.
Use encryption
Encryption is one of the best ways to secure a mobile application. Using powerful encryption techniques to secure data transmissions from the mobile device reassures users that their data is safely handled by the app. The data won't make sense to cyber-attackers.
Extensive testing
Good development companies will obviously perform testing that covers all important aspects of the app. But developers should be aware that even the smallest gap in security can be exploited by cyber-attackers. The testing done for the app shouldn't leave any stones unturned while also making sure that the visitors get a great experience using the app.
Present day technologies facilitate automated testing that reduces a lot of effort for testers while they can direct their attention to testing the most critical features of the app. This requires a deep understanding of mobile technologies and effective project management skills in addition to prepare a timeline for both development and rigorous testing.
Prototyping makes it very easy for developers to keep track of their progress. The prototype app also serves as a restore point for developers while they go about developing the application. Prototypes also give the developers an early feedback of the app helping them improve the final version of the app. It can also make it easier for developers to identify security gaps that can be exploited.
Better integration with hardware architecture
The developers should make sure the app can run on a variety of devices, and should mention the list of compatible devices in the app description. Certificates from compatible devices will help the application integrate its source code with the hardware's architecture effectively. This also solidifies the app's security mechanisms, which would then work in conjunction with the mobile device's built-in security features.
Remote data wipes
This is a staple of enterprise mobile security policies allowing the user to wipe all personal data remotely if he/she loses the device. Remote data wipe options are generally limited by device type, mobile OS versions etc. Though it's an emergency measure, the existence of such a feature reassures users that the app development company values personal data protection that much.
Recent cyber-security breaches and exploits that made news have made people rise many concerns on the security of digital solutions and services including apps.
Google itself has emphasized the significance of mobile security guiding companies providing Android development services to keep working on improving app security for users. In this age, with all our data flowing between servers, every app in use that require personal information should feature stringent security mechanisms. The methods mentioned in this blog hopefully guide developers to secure mobile apps right from the beginning of development.
Image Designed by Freepik
Written by: Rikhil Mohan
Software Testing 101: The Concept of Pair Testing Explained
Pair testing, often referred to as Buddy testing, is a software testing technique where two people from the project team test the same feature in parallel under the same conditions while exchanging ideas. Contrary to how it appears, pair testing does speed up test assignments while delivering more quality results.
This guide serves to introduce beginners in software testing to the concept, and where and when they can adopt the technique to maximize its benefits.
Pair testing buddies
Pair testing is generally done by a developer and a tester. However this isn't the only way to do pair testing. A technical writer and a tester can be paired up to document how the software would be in the next release. A tester and the client can be paired up to recreate an error scenario that the client identified, and fix it. A solution architect and a tester can also be buddies in pair testing, which could lead to exploratory testing with respect to what if scenarios. A tester and a developer can team up to investigate odd bugs.
So basically, pair testing can be done with almost anybody in the project team, especially if it's a Scrum project.
Where you can apply pair testing
In a Scrum project, pair testing can be done throughout the software development cycle – in one sprint or many. It can be a good learning experience for junior testers. If the business analyst needs to see how a particular feature works and identify possibilities for further enhancements, he can do pair testing.
A tester or developer who wants to investigate an odd bug or look into some issue with the application that's becoming a problem for the client, can speed things up with pair testing. In addition, almost every task directly associated to testing done by a pair from the project team may fall under pair testing even if it's noticed to be so.
Basics of doing pair testing
Pair testing can either happen spontaneously or it can be executed with a predefined approach. For the latter, testers should begin by defining the preparation for the tests they will be doing and then plan the execution. Both parties should agree upon a time period and actively make an effort to finish testing as planned.
Spontaneous pair testing can happen in many scenarios, a common example of which would be when a tester gets stuck while looking into a problem and seeks aid from a colleague. While the partnership works with different test data, shares ideas, and explores new aspects to test, they'd also find the cause of the problem that had been bugging the tester at the beginning. This can be considered as unplanned pair testing.
Another situation is when the tester explains how a feature would work to a colleague. The colleague might have questions that didn't occur to the tester. This is also unplanned pair testing.
The bottomline is that pair testing is a beneficial practice for any software development company, provided they have replaced traditional development methodologies with Agile. Making an execution plan, setting up the test environment, and ensuring that your testing buddy bought into the concept of what it is that you are testing – this is how you do pair testing. Give it a go once and see how it can speed up application testing.
Written by: Suraj Jayaram
Archive Open Source Technologies
4 Open Source Project Management Tools That Will Benefit Agile Teams
Open source project management tools are abundant. However, identifying the right one can be challenging. Still, they are very important for companies that have adopted Agile to provide open source development services. Today, a great majority of organizations use Agile methodologies resulting in more successful projects compared to those that still go with traditional methodologies.
That said, this blog lists (in no particular order) 4 great open source project management tools that will prove beneficial to organizations that have adopted or are planning to adopt Agile this year. These tools are designed to support Agile-related methodology and practices including Scrum, Kanban etc.
OpenProject
A powerful open source project management tool popular for its ease of use, OpenProject is particularly useful in Agile software development environments. It facilitates effective team collaboration and makes project management much easier with modules that support project planning, scheduling, release planning, time tracking, bug tracking, budgeting, and Scrum as well. Its main features like prioritizing and tracking tasks are integrated with its other modules.
OpenProject is licensed under GPLv3.
Taiga is an efficient management tool for Scrum projects and features a Kanban board, tasks, sprints, issues, a backlog, ticket management, wiki-pages, third-party integration support etc. Another awesome fact about Taiga is that it offers a free mobile app for iOS, Android, and Windows platforms. It's also possible to migrate from other popular project management applications.
Taiga is also available for free to use for public projects. There is no catch. The number of public projects or the number of users do not have any restrictions. However, for private projects, Taiga can be really useful only if its paid plans are availed. These 'paid plans' are available under a 'freemium' model and have reasonable price tags for all kinds of organizations. What's notable is the fact that the features of the application remains the same for both free and paid use.
Taiga is licensed under GNU Affero GPLv3. It requires a stack comprised of Nginx, Python, and PostgreSQL.
MyCollab
MyCollab is unique compared to the tools mentioned above, due to the fact that it's actually a suite of 3 collaboration modules. It's intended for SMBs (small-medium sized businesses). The modules include:
Document creation and editing software
Like many other open source software out there, MyCollab comes in two licensing options – a commercial 'MyCollab Ultimate Edition' and the open source 'MyCollab Community Edition'.
The Ultimate edition can be run in the cloud or on premises while the Community edition doesn't come with a cloud option and is slower as it doesn't use query cache. Nevertheless, the Community edition does provide great project management features from task management to a Kanban board for Agile teams. It works on mobile devices and computers running on popular operating systems like Windows, Unix, Mac OS, and Linux.
MyCollab is licensed under AGPLv3 and requires MySQL and Java runtime to function.
Just like MyCollab, Odoo can also be classified as a suite. As a matter of fact, Odoo is a full, integrated business application suite. Odoo includes human resources, accounting, website, eCommerce, inventory, manufacturing, and various other tools.
The free version of Odoo termed as the Community Edition obviously has limited features unlike the paid version of the suite. However, it can still be of great benefit for organizations providing Agile development services. The latest release, Odoo 11.0, came with a great update with the suite now featuring a Kanban-style task tracking view useful for Agile teams. Odoo also includes Gantt charts, tasks, graphs etc.
Odoo is licensed under GPLv3 and requires Python and PostgreSQL.
This roundup covers only 4 open source project management tools. There are more Agile-friendly tools that can be added to this list. But despite being open source, not all free versions of the said tools can be completely effective. It does require an organization to spend something to get something in return. But the good thing about these tools is that the spend would be a worthy investment.
Written by: Ajeesh Azhakesan
How ASP.NET Makes Enterprise App Development Superior
Enterprise applications is no longer just an option, as businesses across the globe push forward to complete digital transformation by leveraging evolving technologies. Size or geographic locations of businesses don't matter anymore. Enterprise apps are personalized software solutions that are designed to integrate into a business, and aid the organization in management and monitoring activities. Typically, these apps meet a wide range of needs, handling multiple mission-critical processes and present its operations on an appealing dashboard.
Modern day enterprise software development may take several months or even years to complete if the latest technologies and trends are leveraged. The applications have many complex aspects behind its robustness, stability, security, and integration capabilities. To make such an app that delivers great ROI to a business and aids them in reaching their goals faster, we would need powerful frameworks to lay foundation.
Of those many frameworks available today, ASP.NET still stands out from the rest for its potential that enables developers to create complex enterprise applications. This also serves as a major factor that contributes to the growing demand for ASP.NET development services.
Enterprise apps with ASP.NET
Ever since its arrival, ASP.NET never failed to deliver promising results to organizations. One of the most popular Microsoft technology solutions underwent a couple of transformation over the years, which made it an even better choice for enterprise app development in this age.
For an enterprise app to succeed, it requires:
The ability to function in an ecosystem where there are many users, many devices, and many locations.
Ability to function while meeting all business requirements, policies, and guidelines of stakeholders.
Adaptability, flexibility, and scalability
Developers, for years, used the ASP.NET framework to develop enterprise apps and imbue them with the aforementioned qualities. With efficient testing to ensure the app's quality, most ASP.NET powered apps would succeed in providing increased productivity and profitability to organizations.
The Microsoft technology's many features including cross platform support, enhanced security, multi-language support, reliability, scalability, code reusability etc. also contribute to a higher ROI from ASP.NET enterprise apps. The support from Microsoft over the years made ASP.NET remain a favorite to an already huge community.
In essence, ASP.NET comes with the whole package of services and features, not to mention compatibility with almost every platform and language, making it one of the best options out there for developing high performance enterprise web applications. It's performance-intensive and scalable, which is exactly what businesses need to survive in today's dynamic market conditions.
Certainly there are alternatives. But the fact that ASP.NET retained the trust it had gained for many years, is a testament to it being the best platform to develop enterprise apps.
Page 10 of 42« First...«9101112»203040...Last »