<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Featured Articles - Codenteam</title>
	<atom:link href="https://codenteam.com/category/featured/feed/" rel="self" type="application/rss+xml" />
	<link>https://codenteam.com/category/featured/</link>
	<description>The AI Diagnostic Lab for Tech Teams</description>
	<lastBuildDate>Sat, 19 Apr 2025 15:03:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://codenteam.com/wp-content/uploads/cropped-Icon-Round-Dark-32x32.png</url>
	<title>Featured Articles - Codenteam</title>
	<link>https://codenteam.com/category/featured/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Motorola Solutions: Perfect Balance Between Compliance and Employee Experience – A Case Study</title>
		<link>https://codenteam.com/motorola-solutions-perfect-balance-between-compliance-and-employee-experience-a-case-study/</link>
					<comments>https://codenteam.com/motorola-solutions-perfect-balance-between-compliance-and-employee-experience-a-case-study/#respond</comments>
		
		<dc:creator><![CDATA[Fady S. Ghatas]]></dc:creator>
		<pubDate>Sat, 22 Mar 2025 15:47:37 +0000</pubDate>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[Featured]]></category>
		<guid isPermaLink="false">https://codenteam.com/?p=240944</guid>

					<description><![CDATA[<p>Compliance is a double-edged sword in any organization. It ensures security, integrity, and regulatory alignment, but it can also introduce friction into daily workflows. For small companies, these challenges are noticeable. For a 20,000-employee organization like Motorola Solutions, they can become overwhelming.</p>
<p>The post <a href="https://codenteam.com/motorola-solutions-perfect-balance-between-compliance-and-employee-experience-a-case-study/">Motorola Solutions: Perfect Balance Between Compliance and Employee Experience – A Case Study</a> appeared first on <a href="https://codenteam.com">Codenteam</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Compliance is a double-edged sword in any organization. It ensures security, integrity, and regulatory alignment, but it can also introduce friction into daily workflows. For small companies, these challenges are noticeable. For a 20,000-employee organization like Motorola Solutions, they can become overwhelming.</p>



<p>We were fortunate to play a role in supporting this transformation, helping to implement solutions that align security with a better user experience. It was a collaborative effort, ensuring that compliance processes remain robust while minimizing disruptions for employees. Seeing the positive impact firsthand has been truly rewarding.</p>



<p></p>



<p></p>



<div class="wp-block-kadence-infobox kt-info-box240944_ea9c0d-82"><div class="kt-blocks-info-box-link-wrap kt-blocks-info-box-media-align-top kt-info-halign-center"><div class="kt-blocks-info-box-media-container"><div class="kt-blocks-info-box-media kt-info-media-animate-none"><div class="kadence-info-box-image-inner-intrisic-container"><div class="kadence-info-box-image-intrisic kt-info-animate-none"><div class="kadence-info-box-image-inner-intrisic"><img fetchpriority="high" decoding="async" src="https://codenteam.com/wp-content/uploads/Jason-Rapps.jpg" alt="" width="800" height="800" class="kt-info-box-image wp-image-240947" srcset="https://codenteam.com/wp-content/uploads/Jason-Rapps.jpg 800w, https://codenteam.com/wp-content/uploads/Jason-Rapps-480x480.jpg 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw" /></div></div></div></div></div><div class="kt-infobox-textcontent"><p class="kt-blocks-info-box-text">Companies often overlook user experience when trying to give their employees access to the secure systems they need to do their job. Our focus is on bringing tools together, making them easy to find, streamlining workflows, and reducing friction so employees spend less time looking for the right place to go, and more time getting things done.<br><br><strong>Jason Rapps<br>Senior Manager II, IT Systems Engineering, Motorola Solutions</strong><br><a href="http://linkedin.com/in/jasonrapps">LinkedIn</a></p></div></div></div>



<p></p>



<p></p>



<p>Managing compliance at scale often leads to rigid processes, additional overhead, and a less-than-ideal employee experience. Striking the right balance between control and usability is critical—because when employees struggle with cumbersome compliance processes, productivity might take a hit.</p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:31% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="1024" height="751" src="https://codenteam.com/wp-content/uploads/employee-overwhelmed-1024x751.png" alt="" class="wp-image-240959 size-full" srcset="https://codenteam.com/wp-content/uploads/employee-overwhelmed-1024x751.png 1024w, https://codenteam.com/wp-content/uploads/employee-overwhelmed-980x719.png 980w, https://codenteam.com/wp-content/uploads/employee-overwhelmed-480x352.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">The Problematic Compliance Burden on Employee Experience</h2>



<p>Strict security rules can slow employees down. They have to reset passwords often, use multi-factor authentication, and connect through VPNs that can be frustrating. Gaining access to the right tools and systems takes extra steps, making simple tasks take longer. These security rules are important, but they can make work feel harder than it should be.</p>
</div></div>



<p></p>



<p></p>



<p>Additionally, workspace management can become a challenge. Secure environments enforce strict access controls, limiting seamless collaboration. Managing permissions, access, and approvals can create bottlenecks that slow down workflows. Even routine IT requests, like provisioning new devices or gaining access to certain applications, can be delayed due to compliance reviews.</p>



<p>Another common challenge is remote work. Compliance controls often require employees to navigate secure connections, restrictive access policies, and constant monitoring. This can hinder efficiency, particularly for global teams operating across different time zones.</p>



<p></p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:31% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="1024" height="751" src="https://codenteam.com/wp-content/uploads/ux-layers-1024x751.png" alt="" class="wp-image-240961 size-full" srcset="https://codenteam.com/wp-content/uploads/ux-layers-1024x751.png 1024w, https://codenteam.com/wp-content/uploads/ux-layers-980x719.png 980w, https://codenteam.com/wp-content/uploads/ux-layers-480x352.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Motorola Solutions’ Solution</h2>



<p>Motorola Solutions took a bold and commendable approach. By integrating new tools that streamline compliance workflows without compromising control, they’ve improved both security and usability. Employees now spend less time navigating regulatory requirements and more time focusing on meaningful work.</p>
</div></div>



<p></p>



<p></p>



<p>For example, automation in identity and access management has significantly reduced the friction associated with password resets and account recovery. More intuitive VPN solutions have enhanced remote access security without adding unnecessary hurdles. Workspace management tools have enabled smoother collaboration without weakening compliance controls.</p>



<p>These improvements have not only made life easier for employees but also for IT and support teams. With fewer password reset requests, smoother access management, and reduced manual interventions, IT staff can focus on strategic initiatives rather than constantly troubleshooting compliance-related issues. Support teams can now provide faster resolutions, leading to a better overall work environment for everyone.</p>



<p></p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:31% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="1024" height="551" src="https://codenteam.com/wp-content/uploads/team-working-1024x551.png" alt="" class="wp-image-240960 size-full" srcset="https://codenteam.com/wp-content/uploads/team-working-1024x551.png 1024w, https://codenteam.com/wp-content/uploads/team-working-980x527.png 980w, https://codenteam.com/wp-content/uploads/team-working-480x258.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">The Result is a Better Work Experience</h2>



<p>Now, employees can work more smoothly without being slowed down by security steps. They can focus on their jobs instead of dealing with frustrating login issues or access problems. Motorola Solutions has found the right balance between keeping things secure and making work easier, creating a happier and more productive workplace.</p>
</div></div>



<p></p>



<p></p>



<p>Beyond just improving efficiency, these changes contribute to a healthier work environment where employees feel empowered rather than restricted by compliance processes. When security measures become seamless rather than obstructive, employees can fully engage with their work, collaborate effortlessly, and drive innovation without unnecessary slowdowns.</p>



<p>Moreover, IT and support teams also harvest the benefits. With fewer recurring issues related to access management and security compliance, they can dedicate more time to strategic improvements rather than constantly firefighting operational inefficiencies. This shift enhances not only the day-to-day experience for employees but also strengthens the overall resilience of the company’s IT infrastructure.</p>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p>We were proud to contribute to this transformation by helping implement workplace management tools that improved the employee experience. By streamlining how employees interact with their digital workspace, it is easier to access the resources they need without unnecessary delays. Motorola Solutions was able to reduce frustration, enhance collaboration, and create a more seamless work environment.</p>



<p>This case proves the power of smart workplace management in driving real impact. When organizations take a proactive approach to improving employee experience, the benefits extend beyond convenience—they foster a culture of efficiency, engagement, and innovation. Motorola Solutions has shown that with the right investments, large enterprises can turn workplace complexity into an advantage rather than a challenge.<br><br><br></p>
<p>The post <a href="https://codenteam.com/motorola-solutions-perfect-balance-between-compliance-and-employee-experience-a-case-study/">Motorola Solutions: Perfect Balance Between Compliance and Employee Experience – A Case Study</a> appeared first on <a href="https://codenteam.com">Codenteam</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://codenteam.com/motorola-solutions-perfect-balance-between-compliance-and-employee-experience-a-case-study/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>8 areas of Typescript: VR, IaC, Extensions, Robots, Games, WebAssembly, runners and cross-platform.</title>
		<link>https://codenteam.com/8-areas-of-typescript-vr-iac-extensions-robots-games-webassembly-runners-and-cross-platform/</link>
					<comments>https://codenteam.com/8-areas-of-typescript-vr-iac-extensions-robots-games-webassembly-runners-and-cross-platform/#respond</comments>
		
		<dc:creator><![CDATA[Fady S. Ghatas]]></dc:creator>
		<pubDate>Sat, 26 Oct 2024 20:37:05 +0000</pubDate>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Management]]></category>
		<guid isPermaLink="false">https://codenteam.com/?p=238676</guid>

					<description><![CDATA[<p>We are actively using typescript for most of our development work nowadays. Mainly for backend and frontend. In this post, we will discuss 8 more areas where we think Typescript might be the best choice. Building VR (Metaverse webapps) Building your first VR WebXR app can be quite painful. Should you write the app in [&#8230;]</p>
<p>The post <a href="https://codenteam.com/8-areas-of-typescript-vr-iac-extensions-robots-games-webassembly-runners-and-cross-platform/">8 areas of Typescript: VR, IaC, Extensions, Robots, Games, WebAssembly, runners and cross-platform.</a> appeared first on <a href="https://codenteam.com">Codenteam</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>We are actively using typescript for most of our development work nowadays. Mainly for backend and frontend. In this post, we will discuss 8 more areas where we think Typescript might be the best choice.</p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:31% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/building-vr-metaverse-webapps-1.png" alt="" class="wp-image-241212 size-full" srcset="https://codenteam.com/wp-content/uploads/building-vr-metaverse-webapps-1.png 860w, https://codenteam.com/wp-content/uploads/building-vr-metaverse-webapps-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Building VR (Metaverse webapps)</h2>



<p>Building your first VR WebXR app can be quite painful. Should you write the app in a <a href="https://gameprogrammingpatterns.com/game-loop.html">game loop sequencing design pattern</a>, or deal with it as a normal Web App and use something like MVVM? Should you use WebGL directly or stick to a framework?</p>
</div></div>



<p>Although for us using <a href="https://aframe.io/">A-Frame</a>/<a href="https://angular.io/">Angular</a> combo is unparalleled so far for WebXR and even hybrid VR apps, we encourage the reader to test a POC first before taking a complete headfirst dive into this stack. It can have limitations and worse performance than native apps. </p>



<p>With that being said, A-Frame/Angular combo provides all the latest and greatest powers of both worlds. As well as very strong typing support to make sure you are always covered while developing. Being a Web system, you can share the setup between your VR to your development environment through a browser proxy and having HMR or hot reload to see everything in real time on the VR. Super practical and efficient!</p>



<p>Even if you aren&#8217;t developing a VR webapp, but a regular webgame game, Typescript has your back</p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:31% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/building-webgames-1.png" alt="" class="wp-image-241213 size-full" srcset="https://codenteam.com/wp-content/uploads/building-webgames-1.png 860w, https://codenteam.com/wp-content/uploads/building-webgames-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Building Webgames</h2>



<p>In the recent years, WebGL became stronger than ever. With a number of great frameworks to support you. We recommend taking a look at <a href="https://github.com/mrdoob/three.js/">ThreeJS</a> and <a href="https://github.com/BabylonJS/Babylon.js">BabylonJS</a>.</p>
</div></div>



<p>The beauty of developing in Typescript is how great this would integrate easily with everything else. For example, if you need to create a websockets implementation for multiplayer communication, you can share all your business logic between the game, the backend and any publicly accessible dashboards or real-time players monitor.</p>



<p>You can then take your code and deploy it as a hybrid app on desktop or mobile, although we don&#8217;t recommend doing that for a performance demanding game as current WebGL frameworks are not as efficient as super powerful native game engines (Like Epic/<a href="https://www.unrealengine.com/en-US/">Unreal Engine</a>, <a href="https://unity.com/">Unity</a>, etc)</p>



<p>Still, building non-game apps on desktop using typescript, is a breeze! </p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:30% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/hybrid-cross-platform-desktop-apps-1.png" alt="" class="wp-image-241214 size-full" srcset="https://codenteam.com/wp-content/uploads/hybrid-cross-platform-desktop-apps-1.png 860w, https://codenteam.com/wp-content/uploads/hybrid-cross-platform-desktop-apps-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Hybrid cross-platform desktop apps</h2>



<p>With Slack, Skype, VSCode, Loom and many more great apps using Electron. Node/Typescript is becoming our go to language for Desktop apps as well. Write your web app once, deploy it on desktops without hassles. Although this isn&#8217;t quite the case on mobile side. There is a lot to consider before you decide to use Typescript for a mobile app, more on that later.</p>
</div></div>



<p>A cool idea to consider here, is to couple your Electron GUI with your frontend code. And abstract your OS/Process bindings somewhere else. This way, you can easily inject whatever you want by just providing a different implementation in Electron, Backend, mobile, etc.  </p>



<p>On Desktop, our only recommendation is to see if your app would need native performance. In that case, other options might be better. From our experience, most of the apps work great in electron. If specific tasks need native performance, you can spawn a process for those parts directly. That&#8217;s much easier than writing the whole app in native code.</p>



<p>Performance also means GUI layer, if you need a super fast and efficient GUI, maybe consider an alternative. For example a DirectX powered WPF app can be much faster on windows. So choose smartly.</p>



<p>With that being said, Electron is great, super mature, would do all you need and more if the performance difference wouldn&#8217;t be an issue for you. On the other side, packing hybrid cross-platform mobile app might not be as good. </p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:30% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/hybrid-cross-platform-mobile-apps-1.png" alt="" class="wp-image-241215 size-full" srcset="https://codenteam.com/wp-content/uploads/hybrid-cross-platform-mobile-apps-1.png 860w, https://codenteam.com/wp-content/uploads/hybrid-cross-platform-mobile-apps-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Hybrid cross-platform mobile apps</h2>



<p>Although using Electron on desktop now is a very viable option, and maybe the preferred option, to most companies now. Hybrid mobile apps, whether it&#8217;s Ionic, React Native or Cordova, is usually a step in your path of finally deciding to create a native mobile app. Or at least that&#8217;s what AirBnb eventually decided after being one of the leading companies that used React Native before <a href="https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a">sunsetting the usage in 2018</a>. Not just Airbnb, but lots of other companies as well.</p>
</div></div>



<p>We encourage the reader to go through the post in detail to understand the current limitations and if those limitation would affect your next project or not. If not, a hybrid typescript approach will give you very quick a head start. </p>



<p>What we always recommend to our customers, is always going hybrid for your MVP, <strong>always</strong>! Specially if you have limited budget, as you can use the same code to build web, desktop and mobile. </p>



<p>And at some point of startup maturity, maybe when the company reaches <a href="https://codenteam.com/understanding-the-triple-chasm-model-funding-due-diligence-at-each-stage-and-what-makes-it-different/">phase II or phase III</a> and there is more budget and a need for a better app, you can proceed with building the native mobile App.</p>



<p>&#8220;But I don&#8217;t want it as an app, I want to have more control in a browser, using Typescript!&#8221; </p>



<p>Well, You can try writing your next extension in Typescript.</p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:30% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/browser-extensions-1.png" alt="" class="wp-image-241211 size-full" srcset="https://codenteam.com/wp-content/uploads/browser-extensions-1.png 860w, https://codenteam.com/wp-content/uploads/browser-extensions-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Browser Extensions</h2>



<p>Extensions are written in Javascript by default, so using Typescript for that is super straight forward.</p>
</div></div>



<p>You can easily share your Frontend code as-is in your extension script, and then go one more step and abstract your Browser API code to use in background.js, so you can easily replace this abstraction layer on and share it on mobile, desktop app.</p>



<p>A cool trick here, you can try hjson (Or any other json extended-languages) to write your manifest so you can comment parts of the file and even automate building multiple json out of the hjson.</p>



<p>An even higher level, is to use typescript to write your json files as well, your manifest generation logic kept somewhere in your monorepo as, again, typescript code. Much less re-writing, much higher level of control on json generation. </p>



<p>&#8220;But I want to write native code, not extension, using Typescript, to run fast, but in a browser!&#8221; </p>



<p>Well, Webassembly is here to the rescue.</p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:30% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/webassembly-1.png" alt="" class="wp-image-241209 size-full" srcset="https://codenteam.com/wp-content/uploads/webassembly-1.png 860w, https://codenteam.com/wp-content/uploads/webassembly-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Webassembly</h2>



<p>Webassembly in short is running your code almost natively (more precisely in WebAssembly bytecode) outside the browser engine. This way your code can perform better than Javascript running in the browser&#8217;s JS engine (For example Google&#8217;s V8 engine).</p>
</div></div>



<p>TL;DR: <strong>If you need great webassembly support, don&#8217;t use typescript, or be very careful.&nbsp;</strong></p>



<p>We wanted to start with the statement above before explaining what are the latest Typescript trends on that side so you don&#8217;t take that as a direction. It&#8217;s impossible to write WebAssembly in Javascript, as WebAssembly requires typed code to be compiled statically and ahead-of-time. Javascript doesn&#8217;t have any types in compile-time, so that isn&#8217;t possible. With Typescript, it&#8217;s possible but typescript support on webassembly side is not great yet (Although <a href="https://github.com/AssemblyScript/assemblyscript">AssemblyScript</a> is getting stronger by the day), but it&#8217;s not there yet. So I would recommend sticking to C++ or Go or whatever your preference is for now until Typescript is as powerful on Webassembly side.</p>



<p>The reason for that is WebAssembly nature, which is to run everything as native. To understand this, use C/C++ mentality, where if you missed deleting an initialized variable, it won&#8217;t be garbage-collected. If you casted something into a wrong type, you are doomed. If you tried to reach an illegal memory location, you will get segmentation fault, and so on. This whole compile-time/runtime  mindset is essential to write a successful webassembly app. </p>



<p>All of those concerns aren&#8217;t usually in mind of a typescript mindset, as all of those don&#8217;t usually need a lot of attention in typescript. However for webassembly those are the core of your thinking if you want good webassembly code. </p>



<p>Because of that, you just can&#8217;t take a library you have written in typescript and use it in AssemblyScript, most probably you will need a lot of re-writing. AssemblyScript is a small subset of Typescript. So, it will be worth it to do a POC of your idea first and see if those limitation will affect you or not. Our recommendation is to go with C++ or Go for your next Webassembly project, but we think very soon AssemblyScript might take over on that side as well. </p>



<p>Now that you have your backend, web-app, game, desktop app and mobile app. You want to deploy and distribute, right? Well, use Typescript!</p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:30% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/writing-task-runners-Iac-and-deployment-scripts-1.png" alt="" class="wp-image-241210 size-full" srcset="https://codenteam.com/wp-content/uploads/writing-task-runners-Iac-and-deployment-scripts-1.png 860w, https://codenteam.com/wp-content/uploads/writing-task-runners-Iac-and-deployment-scripts-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Writing task runners, IaC and Deployment scripts</h2>



<p>Years ago, the usual practice was having your code somewhere, task runners somewhere else in another language because the code language doesn&#8217;t support good enough task runners, then writing IaC maybe in terraform, and finally some CI/CD using some yet another task runner or tool like Travis, Github actions and so on.</p>
</div></div>



<p>Although this is still a very acceptable setup, but you can write all of that in a typescript ecosystem. You can use Gulp/Grunt as Task runners, and they do really good job on that side. The beauty of that is you can integrate the task runner in code as well, for example image optimizations can run on passive/scheduled bases outside the app, or imported and used directly in app seamlessly without a single line of code re-written!</p>



<p>On IaC side, writing terraform or cloudformation can be really optimal for small projects, but once the project gets bigger, going one level lower and writing infrastructure as Typescript code, gives you much much more control on your infrastructure and allows you to again share specific parts (Like configurations) between your app code and IaC. </p>



<p>Finally, on deployment side, you can write platform independent typescript to do your deployment. This way, if you moved from Github to Gitlab you don&#8217;t need to rewrite Github actions in Gitlab CI/CD. Also if you want to move from Travis to Jenkins, you don&#8217;t need to rewrite complicated parts of the deployment script. You only the hooks and the initiators and that&#8217;s it!</p>



<p>But what if you want to deploy to, hmmm,  maybe a robot instead, can I use Typescript? <strong>ABSOLUTELY</strong>!</p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:30% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/robotics-1.png" alt="" class="wp-image-241216 size-full" srcset="https://codenteam.com/wp-content/uploads/robotics-1.png 860w, https://codenteam.com/wp-content/uploads/robotics-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Robotics</h2>



<p>We aren&#8217;t specialized in Robotics or embedded systems, but we wanted to get this one extra level to show the areas Typescript explored that we find super amazing.</p>
</div></div>



<p>With <a href="https://github.com/hybridgroup/cylon">CylonJs</a>, you can write you next Arduino app in Javascript, if you are an expert, you can go one more level and write your code as typescript but be very careful as CylonJs typings support isn&#8217;t great, so splitting your business logic out, and abstracting your native code for connections and stuff, needs to be very sophisticated to be able to finally pack the app and deploy it. </p>



<p>We can&#8217;t recommend nor oppose CylonJs, we see this is a great way to jump into the world of robotics with nothing other than your usual Yarn and Typescript knowledge.</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p>The future of typescript has never been that bright! Giving you the greatest of all worlds. Let it be apps, games, backend, frontends, VR or even embedded robotics! With the daily advances on ESM, code packers and transpilers for typescript, we think now might be the best time to do your research for a possible migration. In all cases, a quick POC of whatever you need to build is important to make sure you are doing the right decision. </p>



<p>Are you using Typescript now in even more areas? Let us know in the comments below!</p>
<p>The post <a href="https://codenteam.com/8-areas-of-typescript-vr-iac-extensions-robots-games-webassembly-runners-and-cross-platform/">8 areas of Typescript: VR, IaC, Extensions, Robots, Games, WebAssembly, runners and cross-platform.</a> appeared first on <a href="https://codenteam.com">Codenteam</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://codenteam.com/8-areas-of-typescript-vr-iac-extensions-robots-games-webassembly-runners-and-cross-platform/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why Typescript? Is Typescript Frontend or Backend?</title>
		<link>https://codenteam.com/why-typescript-is-typescript-frontend-or-backend/</link>
					<comments>https://codenteam.com/why-typescript-is-typescript-frontend-or-backend/#respond</comments>
		
		<dc:creator><![CDATA[Fady S. Ghatas]]></dc:creator>
		<pubDate>Sat, 26 Oct 2024 20:36:53 +0000</pubDate>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Management]]></category>
		<guid isPermaLink="false">https://codenteam.com/?p=238674</guid>

					<description><![CDATA[<p>TypeScript is a programming language that was developed and maintained by Microsoft. It is a superset of JavaScript, meaning that any valid JavaScript code is also valid TypeScript code. One of the main goals of TypeScript is to add type checking and other features to JavaScript that are commonly found in other statically-typed languages, such [&#8230;]</p>
<p>The post <a href="https://codenteam.com/why-typescript-is-typescript-frontend-or-backend/">Why Typescript? Is Typescript Frontend or Backend?</a> appeared first on <a href="https://codenteam.com">Codenteam</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>TypeScript is a programming language that was developed and maintained by Microsoft. It is a superset of JavaScript, meaning that any valid JavaScript code is also valid TypeScript code. One of the main goals of TypeScript is to add type checking and other features to JavaScript that are commonly found in other statically-typed languages, such as C# or Java.</p>



<p>Typescript is a popular programming language that was developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript, meaning that any valid JavaScript code is also valid Typescript code. So, why would you want to use Typescript instead of just sticking with JavaScript? Here are a few reasons:</p>



<p></p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:37% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="1025" height="729" src="https://codenteam.com/wp-content/uploads/strong-typing.png" alt="" class="wp-image-241225 size-full" srcset="https://codenteam.com/wp-content/uploads/strong-typing.png 1025w, https://codenteam.com/wp-content/uploads/strong-typing-980x697.png 980w, https://codenteam.com/wp-content/uploads/strong-typing-480x341.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1025px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Strong Typing and Type Safety</h2>



<p>One of TypeScript’s core strengths is its <strong>static typing</strong>. In JavaScript, variable types are inferred during runtime, which means you might only discover certain bugs after deploying the code. TypeScript’s type system, on the other hand, introduces types at compile time, allowing you to define the expected types of variables, function parameters, and return values. For instance, if you define a function parameter as a <code>string</code> but accidentally pass a <code>number</code>, TypeScript will throw an error before you even run the code. This proactive approach to error-checking reduces the likelihood of runtime bugs and enhances overall code quality, making applications more resilient.</p>
</div></div>



<p></p>



<p></p>



<p>One of TypeScript’s core strengths is its <strong>static typing</strong>. In JavaScript, variable types are inferred during runtime, which means you might only discover certain bugs after deploying the code. TypeScript’s type system, on the other hand, introduces types at compile time, allowing you to define the expected types of variables, function parameters, and return values. For instance, if you define a function parameter as a <code>string</code> but accidentally pass a <code>number</code>, TypeScript will throw an error before you even run the code. This proactive approach to error-checking reduces the likelihood of runtime bugs and enhances overall code quality, making applications more resilient.</p>



<p>Furthermore, the benefits of strong typing extend to improving developer productivity. TypeScript’s type definitions serve as a guide for what each variable, function, or object is meant to represent. This self-documenting nature is invaluable in complex projects where different parts of the codebase interact frequently. Developers can understand, at a glance, the data expected in each section, which is particularly useful for onboarding new team members or revisiting code after a long break. By adding this extra layer of clarity, TypeScript makes collaboration easier and reduces the learning curve for understanding someone else’s code.</p>



<p></p>



<h2 class="wp-block-heading">Enhanced Code Editor Support and Developer Experience</h2>



<p>TypeScript also benefits from exceptional <strong>editor support</strong>. Code editors like Visual Studio Code, WebStorm, and Atom offer a rich TypeScript experience with features like intelligent code completion, real-time error highlighting, and advanced refactoring tools. Unlike JavaScript, where the editor may only guess what a variable might represent, TypeScript’s static types provide concrete information, enabling the editor to offer more accurate and useful suggestions. This means that you can spend more time coding and less time correcting minor errors, as the editor catches them in real-time.</p>



<p>In addition to reducing errors, these editor features significantly boost productivity. For instance, autocomplete allows developers to write code faster, while refactoring tools help reorganize code seamlessly, making TypeScript a developer-friendly language. TypeScript’s editor support extends beyond just syntax—it helps developers explore the structure of their code with features like jump-to-definition, parameter hints, and quick info, which provide helpful popups on variable types, function arguments, and more. This rich ecosystem makes TypeScript an appealing choice, particularly for large projects or when working in team environments where seamless code navigation is essential.</p>



<p></p>



<p></p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:37% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="1025" height="766" src="https://codenteam.com/wp-content/uploads/reduced-debugging.png" alt="" class="wp-image-241226 size-full" srcset="https://codenteam.com/wp-content/uploads/reduced-debugging.png 1025w, https://codenteam.com/wp-content/uploads/reduced-debugging-980x732.png 980w, https://codenteam.com/wp-content/uploads/reduced-debugging-480x359.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1025px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Reduced Debugging Time and More Reliable Code</h2>



<p>A primary advantage of using TypeScript is its ability to <strong>catch bugs at compile-time</strong>, reducing the time spent on debugging. JavaScript’s dynamic typing can make complex bugs challenging to locate, especially when they involve incorrect data types or unexpected function arguments. TypeScript minimizes this risk by catching these issues early in the development process.</p>
</div></div>



<p></p>



<p></p>



<p>  For example, if you attempt to call a function with an incompatible argument type, TypeScript will flag this before the code is executed, preventing errors that might otherwise appear in production.</p>



<p>The reduced need for debugging contributes to TypeScript’s reputation as a language for building more reliable and maintainable code. By highlighting potential issues during development, TypeScript allows developers to address problems before they escalate, resulting in cleaner, more stable applications. This reliability is particularly beneficial for applications that require high uptime and resilience, such as e-commerce websites, financial applications, and other mission-critical systems. In these cases, TypeScript can serve as a safeguard, reducing the likelihood of type-related issues reaching production and impacting users.</p>



<p></p>



<h2 class="wp-block-heading">Improved Code Maintainability and Refactoring</h2>



<p>TypeScript’s type system and strong editor support make it easier to <strong>maintain and refactor code over time</strong>. In traditional JavaScript projects, refactoring—changing the structure or design of the code without altering its behavior—can be risky, as there’s no built-in safety net to prevent type-related errors. With TypeScript, however, developers have the assurance of knowing that the compiler will flag any inconsistencies introduced during refactoring. This confidence enables more frequent and reliable refactoring, which is essential for keeping the codebase clean, organized, and easy to understand.</p>



<p>In team settings, TypeScript’s type safety allows multiple developers to work on different parts of the codebase without introducing compatibility issues. When one part of the code changes, TypeScript can automatically highlight any affected areas elsewhere in the project, ensuring that all components remain compatible. This interdependency awareness reduces the risk of breaking code in other parts of the project, making it easier to scale applications without accumulating technical debt.</p>



<p></p>



<h2 class="wp-block-heading">Built-In Documentation and Better Code Readability</h2>



<p>TypeScript’s type annotations serve as <strong>implicit documentation</strong> for your code, improving code readability and making it easier for others to understand how your application is meant to function. When developers encounter a function, they can instantly see the types of its parameters and return value, which helps them understand its purpose and limitations without needing additional documentation. This is especially valuable for new team members or external contributors who need to familiarize themselves with the codebase. Type annotations provide a clearer understanding of expected inputs and outputs, reducing misunderstandings and making collaboration smoother.</p>



<p>Moreover, with TypeScript, your code is inherently more readable. By defining types explicitly, you make the code easier to follow, even for those who didn’t write it. This increased readability helps teams work more cohesively, as everyone has a shared understanding of the data structures and operations involved. Type annotations reduce the cognitive load on developers, freeing them to focus on the actual functionality rather than deciphering what each variable represents.</p>



<p></p>



<h2 class="wp-block-heading">TypeScript’s Growing Ecosystem and Community Support</h2>



<p>TypeScript’s popularity has led to a <strong>robust ecosystem</strong> of tools, libraries, and frameworks designed to work seamlessly with it. Many major JavaScript libraries now offer type definitions, which means you can use TypeScript with minimal configuration. Libraries like React, Vue, and Express have TypeScript-compatible versions or support, allowing developers to bring TypeScript’s benefits into any part of the stack, from the frontend UI layer to backend APIs. The TypeScript community is also active and supportive, with a wealth of resources, tutorials, and forums that make it easier for newcomers to learn and adopt the language.</p>



<p>Beyond individual libraries, TypeScript also works well in various architectural patterns, like monorepos. For example, TypeScript is frequently used in monorepo setups, where multiple projects—such as libraries and applications—are managed within the same repository. This organization method benefits from TypeScript’s type-checking and modularity, as it allows for shared types and interfaces across projects, reducing redundancy and ensuring consistent data structures throughout the codebase.</p>



<p></p>



<h2 class="wp-block-heading">But is TypeScript a frontend or backend language?</h2>



<p>The short answer is that TypeScript can be used for both frontend and backend development.</p>



<p>On the frontend, TypeScript can be used to build web applications using JavaScript frameworks such as Angular, React, or Vue.js. TypeScript can provide a number of benefits when building frontend applications, including improved code readability and maintainability, as well as catching errors early in the development process.</p>



<p>On the backend, TypeScript can be used to build server-side applications using Node.js. Just like on the frontend, TypeScript can help improve the quality and reliability of the code by adding type checking and other features.</p>



<p>So, to summarize, TypeScript is not exclusively a frontend or backend language, but can be used for both types of development. Its primary purpose is to add additional features and type checking to JavaScript, and it can be used in a variety of contexts, including frontend web development, backend server-side development, and even mobile app development.</p>



<p></p>



<h2 class="wp-block-heading">How to organize code written in Typescript?</h2>



<p>All the benefits we listed above about why to use Typescript, makes a perfect language for big teams, we recommend reading <a href="https://titrias.com/nexus-multi-scrum-teams-mono-repo-trunk-based-release-management-and-misconceptions/">this post about monorepos and release management</a>, as Typescript is a great language to use in a monorepo structure that combines multiple libraries and apps in the same place</p>



<p></p>



<h2 class="wp-block-heading">Can Typescript do more than that? </h2>



<p>We have written an extensive post about using Typescript in multiple fields like <a href="https://titrias.com/typescript-vr-iac-extensions-games-webassembly-cross-platform/">VR, IaC, Extensions, Robots, Games, WebAssembly, runners and cross-platform</a>.</p>



<p></p>



<p></p>
<p>The post <a href="https://codenteam.com/why-typescript-is-typescript-frontend-or-backend/">Why Typescript? Is Typescript Frontend or Backend?</a> appeared first on <a href="https://codenteam.com">Codenteam</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://codenteam.com/why-typescript-is-typescript-frontend-or-backend/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Types of AppSec Security Testing in Technical Assessment and Due Diligence: SCA vs SAST vs DAST</title>
		<link>https://codenteam.com/types-of-security-testing-in-technical-assessment-and-due-diligence-sca-vs-sast-vs-dast/</link>
					<comments>https://codenteam.com/types-of-security-testing-in-technical-assessment-and-due-diligence-sca-vs-sast-vs-dast/#respond</comments>
		
		<dc:creator><![CDATA[Fady S. Ghatas]]></dc:creator>
		<pubDate>Sat, 12 Oct 2024 20:58:56 +0000</pubDate>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://codenteam.com/?p=238269</guid>

					<description><![CDATA[<p>This post is also available as a podcast on Spotify and Youtube Imagine you’re tasked with assessing the structural integrity of a building that has already been built or is still in the process of construction. The challenge is to ensure that the building is safe, the materials are reliable, and the construction process follows [&#8230;]</p>
<p>The post <a href="https://codenteam.com/types-of-security-testing-in-technical-assessment-and-due-diligence-sca-vs-sast-vs-dast/">Types of AppSec Security Testing in Technical Assessment and Due Diligence: SCA vs SAST vs DAST</a> appeared first on <a href="https://codenteam.com">Codenteam</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-center"><strong>This post is also available as a podcast on <a href="https://open.spotify.com/episode/66Ad1kNNi74S4WAkfUrEns?si=w2BXkwtxQ-KQVSgw4Ll5Aw">Spotify</a> and <a href="https://www.youtube.com/watch?v=hXeSF5xqloM">Youtube</a></strong></p>



<p></p>



<p></p>



<p>Imagine you’re tasked with assessing the structural integrity of a building that has already been built or is still in the process of construction. The challenge is to ensure that the building is safe, the materials are reliable, and the construction process follows safety regulations, all while minimizing the risk of disruption. This analogy is quite similar to the world of technical assessment and due diligence, where different types of security tests play crucial roles in ensuring the safety and robustness of a product or system, just like inspecting a building is important to ensure tenants&#8217; safety, understanding application security is crucial in modern software development as ensuring application security helps protect sensitive data and systems.</p>



<h3 class="wp-block-heading">What is application security (AppSec)?</h3>



<p>Application security—commonly called <strong>AppSec</strong>—is the discipline of building&nbsp;<strong>and</strong>&nbsp;maintaining software so that it can withstand misuse, tampering, and data‑exfiltration attempts throughout its entire life‑cycle. It blends:</p>



<ul class="wp-block-list">
<li><strong>Preventive practices</strong> such as secure design, threat modeling, and coding standards,</li>



<li><strong>Protective controls</strong> like strong authentication, input validation, and encryption, and</li>



<li><strong>Verification activities</strong>—SCA, SAST, the two flavors of DAST, penetration testing, and more</li>
</ul>



<p>To ensure that every line of code and every third‑party component meets today’s security expectations. Just as building engineers must follow structural codes and schedule site inspections to keep occupants safe, AppSec professionals embed checks and controls at each stage of development and operations so the application remains resilient to evolving threats and regulatory requirements long after it first goes live.</p>



<p>One way to categorize all test types is by intrusive level. Would you send inspectors to just look at the building and the plans? Or you will send workers with them to put the walls under real test? </p>



<h3 class="wp-block-heading">Intrusive vs. Non-Intrusive Testing</h3>



<p>The difference between intrusive and non-intrusive testing is like deciding whether your building inspectors should only observe or actively make changes.</p>



<ul class="wp-block-list">
<li><strong>Non-Intrusive Testing</strong> (SCA, SAST, Passive DAST) doesn’t interfere with the operations of the system—just like inspectors who check blueprints or monitor the building without touching anything.</li>



<li><strong>Intrusive Testing</strong> (Active DAST) goes further by probing the system aggressively, potentially disrupting services to uncover vulnerabilities, much like an inspector knocking down a wall to see if it was built properly.</li>
</ul>



<p>While riskier, intrusive testing often provides deeper insights into potential structural weaknesses and can be used to verify potential threats or to mark them as false positives.</p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:32% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/construction-worker.png" alt="" class="wp-image-240450 size-full" srcset="https://codenteam.com/wp-content/uploads/construction-worker.png 860w, https://codenteam.com/wp-content/uploads/construction-worker-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Software Composition Analysis (SCA): Building Material Inspection</h2>



<p>The first step is to assess the raw materials being used in the construction—this is where <strong><a href="https://codenteam.com/software-composite-analysis-sca-how-secured-are-the-dependencies/">Software Composition Analysis (SCA)</a></strong> comes in. SCA tests are like inspecting the materials being used in a building:</p>



<ul class="wp-block-list">
<li>Are the bricks sturdy?</li>



<li>Is the cement high quality?</li>
</ul>
</div></div>



<h3 class="wp-block-heading"></h3>



<p>This type of testing looks at the <strong>open-source components</strong> and <strong>third-party libraries</strong> within your software. It ensures that none of the materials (i.e., external dependencies) have vulnerabilities or are outdated, which could compromise the security of the entire structure.</p>



<p>Just as bad building materials can result in a weak structure, outdated or insecure libraries in a codebase can introduce significant risks, making <strong>SCA essential for verifying</strong> that the foundation of your software is sound and up to modern security standards.</p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:32% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/building-permit-1.png" alt="" class="wp-image-240454 size-full" srcset="https://codenteam.com/wp-content/uploads/building-permit-1.png 860w, https://codenteam.com/wp-content/uploads/building-permit-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Static Application Security Testing (SAST): Reviewing the Blueprint and Construction Procedures</h2>



<p>Next, we take a look at the blueprints and the plans behind the construction, inspecting them before or during the building process. This is similar to <strong><a href="https://codenteam.com/static-application-security-testing-sast-is-the-team-careful-writing-the-code/">Static Application Security Testing (SAST)</a></strong>.</p>
</div></div>



<p>In SAST, the source code of the application is analyzed—it’s like reviewing the architect’s plans or watching over the construction techniques being used. SAST aims to identify potential weaknesses in the code structure, like:</p>



<ul class="wp-block-list">
<li>Poor coding practices</li>



<li>Insecure design patterns</li>



<li>Areas where errors might creep in unnoticed</li>
</ul>



<p>By catching issues early in the blueprint (or code) review, SAST ensures that potential weaknesses are addressed before they are built into the system, much like ensuring that construction workers aren’t cutting corners with structural supports or ignoring fire safety measures.</p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:35% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/building-safety-2-1.png" alt="" class="wp-image-240453 size-full" srcset="https://codenteam.com/wp-content/uploads/building-safety-2-1.png 860w, https://codenteam.com/wp-content/uploads/building-safety-2-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Passive Dynamic Application Security Testing (DAST): Semi-Intrusive Inspection</h2>



<p>Now imagine the building is nearly complete, and you want inspectors to come in and assess the structure—but without causing disruption. These inspectors walk through the building, looking for cracks in the walls, faulty wiring, or areas where security might be at risk, all without actively altering the building. You need a completed building though (running system) but you don&#8217;t need access to blueprints and plans (source code).</p>
</div></div>



<p>This is how <strong><a href="https://codenteam.com/dynamic-application-security-testing-dast-how-safe-is-your-application-in-action/">Passive Dynamic Application Security Testing (DAST)</a></strong> works. Passive DAST assesses the live application while it’s running but doesn’t interact with it in ways that could disrupt services. It observes and detects issues like:</p>



<ul class="wp-block-list">
<li>Weak configurations</li>



<li>Exposed entry points</li>
</ul>



<p>All without directly influencing the system. It’s like sending someone to observe the building under normal operations, identifying potential flaws without changing the state of the system. </p>



<p>Worst case scenario in a real-world software situation is, those inspectors can cause the system to run slower, as they take some of the server&#8217;s resources. </p>



<div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:33% auto"><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="860" height="860" src="https://codenteam.com/wp-content/uploads/breaking-barriers-1.png" alt="" class="wp-image-240455 size-full" srcset="https://codenteam.com/wp-content/uploads/breaking-barriers-1.png 860w, https://codenteam.com/wp-content/uploads/breaking-barriers-1-480x480.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 860px, 100vw" /></figure><div class="wp-block-media-text__content">
<h2 class="wp-block-heading">Active Dynamic Application Security Testing (DAST): Intrusive Inspection</h2>



<p>Sometimes, you need to send in a more assertive inspector, one who will check not just how the building looks but might even knock down a weak wall or intentionally short-circuit a wire to see how the building reacts. <strong><a href="https://codenteam.com/dynamic-application-security-testing-dast-how-safe-is-your-application-in-action/">Active DAST</a></strong> is a more hands-on approach.</p>
</div></div>



<p>Sometimes, you need to send in a more assertive inspector, one who will check not just how the building looks but might even knock down a weak wall or intentionally short-circuit a wire to see how the building reacts. <strong><a href="https://codenteam.com/dynamic-application-security-testing-dast-how-safe-is-your-application-in-action/">Active DAST</a></strong> is a more hands-on approach.</p>



<p>Unlike passive DAST, it actively interacts with the system, probing for vulnerabilities by executing tests and scenarios that mimic real-world attacks. This could involve making changes to the system, introducing intentional stress, or even causing damage—just to see if and where the building (or system) breaks.</p>



<p>To run an active DAST, you need a completed building either the real one or a version identical to it (Staging environment) but you can allow external testers to run it for you, as you don&#8217;t need to give them access to the source code. </p>



<p></p>



<h2 class="wp-block-heading">Summary</h2>



<p></p>



<figure class="wp-block-table"><table class="has-fixed-layout mtr-table mtr-thead-th"><thead><tr><th class="has-text-align-center mtr-th-tag" data-align="center" data-mtr-content="Security Test"><div class="mtr-cell-content">Security Test</div></th><th class="has-text-align-center mtr-th-tag" data-align="center" data-mtr-content="Purpose"><div class="mtr-cell-content">Purpose</div></th><th class="has-text-align-center mtr-th-tag" data-align="center" data-mtr-content="Intrusiveness"><div class="mtr-cell-content">Intrusiveness</div></th><th class="has-text-align-center mtr-th-tag" data-align="center" data-mtr-content="When It’s Used"><div class="mtr-cell-content">When It’s Used</div></th><th class="has-text-align-center mtr-th-tag" data-align="center" data-mtr-content="What It Tests"><div class="mtr-cell-content">What It Tests</div></th><th class="has-text-align-center mtr-th-tag" data-align="center" data-mtr-content="Example of Use"><div class="mtr-cell-content">Example of Use</div></th></tr></thead><tbody><tr><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Security Test"><div class="mtr-cell-content"><strong>Software Composition Analysis (SCA)</strong></div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Purpose"><div class="mtr-cell-content">Checks the quality and security of third-party libraries and dependencies.</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Intrusiveness"><div class="mtr-cell-content">Non-intrusive</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="When It’s Used"><div class="mtr-cell-content">During development, or post-development</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="What It Tests"><div class="mtr-cell-content">Open-source components, external dependencies</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Example of Use"><div class="mtr-cell-content">Ensuring no outdated or vulnerable libraries are used.</div></td></tr><tr><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Security Test"><div class="mtr-cell-content"><strong>SAST (Static Application Security Testing)</strong></div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Purpose"><div class="mtr-cell-content">Analyzes source code for vulnerabilities before the code is executed.</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Intrusiveness"><div class="mtr-cell-content">Non-intrusive</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="When It’s Used"><div class="mtr-cell-content">During development, or post-development</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="What It Tests"><div class="mtr-cell-content">Source code, design patterns, implementation flaws</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Example of Use"><div class="mtr-cell-content">Identifying potential vulnerabilities before the code is deployed.</div></td></tr><tr><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Security Test"><div class="mtr-cell-content"><strong>Passive DAST (Dynamic Application Security Testing)</strong></div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Purpose"><div class="mtr-cell-content">Observes and tests a running application without actively attacking it.</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Intrusiveness"><div class="mtr-cell-content">Semi-intrusive</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="When It’s Used"><div class="mtr-cell-content">During or after deployment, in staged testing environments</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="What It Tests"><div class="mtr-cell-content">Running application, configurations, exposed entry points</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Example of Use"><div class="mtr-cell-content">Monitoring app behavior without making direct changes or causing interruptions.</div></td></tr><tr><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Security Test"><div class="mtr-cell-content"><strong>Active DAST (Dynamic Application Security Testing)</strong></div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Purpose"><div class="mtr-cell-content">Actively probes the application for vulnerabilities by interacting with it.</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Intrusiveness"><div class="mtr-cell-content">Intrusive</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="When It’s Used"><div class="mtr-cell-content">During or after deployment, in staged testing environments</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="What It Tests"><div class="mtr-cell-content">Application security by simulating attacks</div></td><td class="has-text-align-center mtr-td-tag" data-align="center" data-mtr-content="Example of Use"><div class="mtr-cell-content">Actively testing login forms, injecting queries, or causing simulated failures to test system resilience.</div></td></tr></tbody></table><figcaption class="wp-element-caption">Comparing SCA, SAST, Passive DAST, and Active DAST</figcaption></figure>



<p>Each of these tests plays an essential role in assessing and securing a product or system during technical assessments and due diligence. Together, they ensure that both the materials and the final structure are robust, secure, and capable of withstanding external pressures, much like a well-built building.</p>



<p></p>



<p></p>



<blockquote class="wp-block-quote did-you-know is-layout-flow wp-block-quote-is-layout-flow">
<div class="wp-block-media-text has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center"><div class="wp-block-media-text__content">
<p><strong>Did you know?</strong></p>



<p>Codenteam AI gives you all needed information around risks in SCA, SAST, DAST in the report page, you can discuss with the AI bot why it has marked each. </p>
</div><figure class="wp-block-media-text__media"><img loading="lazy" decoding="async" width="1024" height="385" src="https://codenteam.com/wp-content/uploads/2024/10/report-security-1024x385.png" alt="SAST &amp; DAST &amp; SCA findings report" class="wp-image-238340 size-full" srcset="https://codenteam.com/wp-content/uploads/2024/10/report-security-1024x385.png 1024w, https://codenteam.com/wp-content/uploads/2024/10/report-security-980x368.png 980w, https://codenteam.com/wp-content/uploads/2024/10/report-security-480x180.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw" /></figure></div>
</blockquote>
<p>The post <a href="https://codenteam.com/types-of-security-testing-in-technical-assessment-and-due-diligence-sca-vs-sast-vs-dast/">Types of AppSec Security Testing in Technical Assessment and Due Diligence: SCA vs SAST vs DAST</a> appeared first on <a href="https://codenteam.com">Codenteam</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://codenteam.com/types-of-security-testing-in-technical-assessment-and-due-diligence-sca-vs-sast-vs-dast/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
